cruddl 3.3.1 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/src/cruddl-version.js +1 -1
  2. package/dist/src/meta-schema/meta-schema.js +19 -17
  3. package/dist/src/meta-schema/meta-schema.js.map +1 -1
  4. package/package.json +1 -1
  5. package/dist/spec/authorization/move-errors-to-output-nodes.spec.d.ts +0 -1
  6. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js +0 -111
  7. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js.map +0 -1
  8. package/dist/spec/authorization/permission-descriptor.spec.d.ts +0 -1
  9. package/dist/spec/authorization/permission-descriptor.spec.js +0 -85
  10. package/dist/spec/authorization/permission-descriptor.spec.js.map +0 -1
  11. package/dist/spec/authorization/permission-profile.spec.d.ts +0 -1
  12. package/dist/spec/authorization/permission-profile.spec.js +0 -110
  13. package/dist/spec/authorization/permission-profile.spec.js.map +0 -1
  14. package/dist/spec/database/arangodb/aql-generator.spec.d.ts +0 -1
  15. package/dist/spec/database/arangodb/aql-generator.spec.js +0 -21
  16. package/dist/spec/database/arangodb/aql-generator.spec.js.map +0 -1
  17. package/dist/spec/database/arangodb/aql.spec.d.ts +0 -1
  18. package/dist/spec/database/arangodb/aql.spec.js +0 -78
  19. package/dist/spec/database/arangodb/aql.spec.js.map +0 -1
  20. package/dist/spec/database/arangodb/arangodb-adapter.spec.d.ts +0 -1
  21. package/dist/spec/database/arangodb/arangodb-adapter.spec.js +0 -192
  22. package/dist/spec/database/arangodb/arangodb-adapter.spec.js.map +0 -1
  23. package/dist/spec/database/arangodb/arangodb-test-utils.d.ts +0 -1
  24. package/dist/spec/database/arangodb/arangodb-test-utils.js +0 -8
  25. package/dist/spec/database/arangodb/arangodb-test-utils.js.map +0 -1
  26. package/dist/spec/database/arangodb/retry.spec.d.ts +0 -1
  27. package/dist/spec/database/arangodb/retry.spec.js +0 -74
  28. package/dist/spec/database/arangodb/retry.spec.js.map +0 -1
  29. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.d.ts +0 -1
  30. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js +0 -76
  31. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js.map +0 -1
  32. package/dist/spec/database/arangodb/ttl.spec.d.ts +0 -1
  33. package/dist/spec/database/arangodb/ttl.spec.js +0 -346
  34. package/dist/spec/database/arangodb/ttl.spec.js.map +0 -1
  35. package/dist/spec/database/like-helper.spec.d.ts +0 -1
  36. package/dist/spec/database/like-helper.spec.js +0 -87
  37. package/dist/spec/database/like-helper.spec.js.map +0 -1
  38. package/dist/spec/dev/fast-server.d.ts +0 -4
  39. package/dist/spec/dev/fast-server.js +0 -57
  40. package/dist/spec/dev/fast-server.js.map +0 -1
  41. package/dist/spec/dev/server.d.ts +0 -12
  42. package/dist/spec/dev/server.js +0 -121
  43. package/dist/spec/dev/server.js.map +0 -1
  44. package/dist/spec/dev/start.d.ts +0 -1
  45. package/dist/spec/dev/start.js +0 -10
  46. package/dist/spec/dev/start.js.map +0 -1
  47. package/dist/spec/graphql/query-distiller.spec.d.ts +0 -1
  48. package/dist/spec/graphql/query-distiller.spec.js +0 -220
  49. package/dist/spec/graphql/query-distiller.spec.js.map +0 -1
  50. package/dist/spec/helpers/log4js-logger-provider.d.ts +0 -11
  51. package/dist/spec/helpers/log4js-logger-provider.js +0 -18
  52. package/dist/spec/helpers/log4js-logger-provider.js.map +0 -1
  53. package/dist/spec/init.mocha.d.ts +0 -1
  54. package/dist/spec/init.mocha.js +0 -11
  55. package/dist/spec/init.mocha.js.map +0 -1
  56. package/dist/spec/meta-schema/meta-schema.spec.d.ts +0 -1
  57. package/dist/spec/meta-schema/meta-schema.spec.js +0 -951
  58. package/dist/spec/meta-schema/meta-schema.spec.js.map +0 -1
  59. package/dist/spec/model/create-model.spec.d.ts +0 -1
  60. package/dist/spec/model/create-model.spec.js +0 -158
  61. package/dist/spec/model/create-model.spec.js.map +0 -1
  62. package/dist/spec/model/implementation/billing-validation.spec.d.ts +0 -1
  63. package/dist/spec/model/implementation/billing-validation.spec.js +0 -180
  64. package/dist/spec/model/implementation/billing-validation.spec.js.map +0 -1
  65. package/dist/spec/model/implementation/collect-path.spec.d.ts +0 -1
  66. package/dist/spec/model/implementation/collect-path.spec.js +0 -678
  67. package/dist/spec/model/implementation/collect-path.spec.js.map +0 -1
  68. package/dist/spec/model/implementation/entity-extenion-type.spec.d.ts +0 -1
  69. package/dist/spec/model/implementation/entity-extenion-type.spec.js +0 -71
  70. package/dist/spec/model/implementation/entity-extenion-type.spec.js.map +0 -1
  71. package/dist/spec/model/implementation/field.spec.d.ts +0 -1
  72. package/dist/spec/model/implementation/field.spec.js +0 -648
  73. package/dist/spec/model/implementation/field.spec.js.map +0 -1
  74. package/dist/spec/model/implementation/flex-search-validation.spec.d.ts +0 -1
  75. package/dist/spec/model/implementation/flex-search-validation.spec.js +0 -288
  76. package/dist/spec/model/implementation/flex-search-validation.spec.js.map +0 -1
  77. package/dist/spec/model/implementation/i18n-fields.spec.d.ts +0 -1
  78. package/dist/spec/model/implementation/i18n-fields.spec.js +0 -208
  79. package/dist/spec/model/implementation/i18n-fields.spec.js.map +0 -1
  80. package/dist/spec/model/implementation/i18n-types.spec.d.ts +0 -1
  81. package/dist/spec/model/implementation/i18n-types.spec.js +0 -160
  82. package/dist/spec/model/implementation/i18n-types.spec.js.map +0 -1
  83. package/dist/spec/model/implementation/i18n-validation.spec.d.ts +0 -1
  84. package/dist/spec/model/implementation/i18n-validation.spec.js +0 -210
  85. package/dist/spec/model/implementation/i18n-validation.spec.js.map +0 -1
  86. package/dist/spec/model/implementation/indices.spec.d.ts +0 -1
  87. package/dist/spec/model/implementation/indices.spec.js +0 -96
  88. package/dist/spec/model/implementation/indices.spec.js.map +0 -1
  89. package/dist/spec/model/implementation/model.spec.d.ts +0 -1
  90. package/dist/spec/model/implementation/model.spec.js +0 -101
  91. package/dist/spec/model/implementation/model.spec.js.map +0 -1
  92. package/dist/spec/model/implementation/namespace.spec.d.ts +0 -1
  93. package/dist/spec/model/implementation/namespace.spec.js +0 -231
  94. package/dist/spec/model/implementation/namespace.spec.js.map +0 -1
  95. package/dist/spec/model/implementation/object-type.spec.d.ts +0 -1
  96. package/dist/spec/model/implementation/object-type.spec.js +0 -65
  97. package/dist/spec/model/implementation/object-type.spec.js.map +0 -1
  98. package/dist/spec/model/implementation/relation.spec.d.ts +0 -1
  99. package/dist/spec/model/implementation/relation.spec.js +0 -99
  100. package/dist/spec/model/implementation/relation.spec.js.map +0 -1
  101. package/dist/spec/model/implementation/root-entity-type.spec.d.ts +0 -1
  102. package/dist/spec/model/implementation/root-entity-type.spec.js +0 -470
  103. package/dist/spec/model/implementation/root-entity-type.spec.js.map +0 -1
  104. package/dist/spec/model/implementation/type.spec.d.ts +0 -1
  105. package/dist/spec/model/implementation/type.spec.js +0 -52
  106. package/dist/spec/model/implementation/type.spec.js.map +0 -1
  107. package/dist/spec/model/implementation/validation-utils.d.ts +0 -7
  108. package/dist/spec/model/implementation/validation-utils.js +0 -34
  109. package/dist/spec/model/implementation/validation-utils.js.map +0 -1
  110. package/dist/spec/model/model-spec.helper.d.ts +0 -3
  111. package/dist/spec/model/model-spec.helper.js +0 -35
  112. package/dist/spec/model/model-spec.helper.js.map +0 -1
  113. package/dist/spec/performance/associations.perf.d.ts +0 -3
  114. package/dist/spec/performance/associations.perf.js +0 -78
  115. package/dist/spec/performance/associations.perf.js.map +0 -1
  116. package/dist/spec/performance/count.perf.d.ts +0 -5
  117. package/dist/spec/performance/count.perf.js +0 -52
  118. package/dist/spec/performance/count.perf.js.map +0 -1
  119. package/dist/spec/performance/crud.perf.d.ts +0 -3
  120. package/dist/spec/performance/crud.perf.js +0 -100
  121. package/dist/spec/performance/crud.perf.js.map +0 -1
  122. package/dist/spec/performance/filter.perf.d.ts +0 -3
  123. package/dist/spec/performance/filter.perf.js +0 -32
  124. package/dist/spec/performance/filter.perf.js.map +0 -1
  125. package/dist/spec/performance/index.d.ts +0 -1
  126. package/dist/spec/performance/index.js +0 -21
  127. package/dist/spec/performance/index.js.map +0 -1
  128. package/dist/spec/performance/pagination.perf.d.ts +0 -5
  129. package/dist/spec/performance/pagination.perf.js +0 -50
  130. package/dist/spec/performance/pagination.perf.js.map +0 -1
  131. package/dist/spec/performance/query-pipeline.perf.d.ts +0 -3
  132. package/dist/spec/performance/query-pipeline.perf.js +0 -196
  133. package/dist/spec/performance/query-pipeline.perf.js.map +0 -1
  134. package/dist/spec/performance/references.perf.d.ts +0 -3
  135. package/dist/spec/performance/references.perf.js +0 -62
  136. package/dist/spec/performance/references.perf.js.map +0 -1
  137. package/dist/spec/performance/support/async-bench.d.ts +0 -92
  138. package/dist/spec/performance/support/async-bench.js +0 -237
  139. package/dist/spec/performance/support/async-bench.js.map +0 -1
  140. package/dist/spec/performance/support/helpers.d.ts +0 -28
  141. package/dist/spec/performance/support/helpers.js +0 -130
  142. package/dist/spec/performance/support/helpers.js.map +0 -1
  143. package/dist/spec/performance/support/runner.d.ts +0 -2
  144. package/dist/spec/performance/support/runner.js +0 -72
  145. package/dist/spec/performance/support/runner.js.map +0 -1
  146. package/dist/spec/project/project.spec.d.ts +0 -1
  147. package/dist/spec/project/project.spec.js +0 -72
  148. package/dist/spec/project/project.spec.js.map +0 -1
  149. package/dist/spec/query-tree/utils/simplify-booleans.spec.d.ts +0 -1
  150. package/dist/spec/query-tree/utils/simplify-booleans.spec.js +0 -87
  151. package/dist/spec/query-tree/utils/simplify-booleans.spec.js.map +0 -1
  152. package/dist/spec/regression/drop-test-db.d.ts +0 -1
  153. package/dist/spec/regression/drop-test-db.js +0 -5
  154. package/dist/spec/regression/drop-test-db.js.map +0 -1
  155. package/dist/spec/regression/initialization.d.ts +0 -10
  156. package/dist/spec/regression/initialization.js +0 -148
  157. package/dist/spec/regression/initialization.js.map +0 -1
  158. package/dist/spec/regression/regression-suite.d.ts +0 -28
  159. package/dist/spec/regression/regression-suite.js +0 -228
  160. package/dist/spec/regression/regression-suite.js.map +0 -1
  161. package/dist/spec/regression/regressions.spec.d.ts +0 -1
  162. package/dist/spec/regression/regressions.spec.js +0 -54
  163. package/dist/spec/regression/regressions.spec.js.map +0 -1
  164. package/dist/spec/schema/ast-validation-modules/business-object.spec.d.ts +0 -1
  165. package/dist/spec/schema/ast-validation-modules/business-object.spec.js +0 -27
  166. package/dist/spec/schema/ast-validation-modules/business-object.spec.js.map +0 -1
  167. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.d.ts +0 -1
  168. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js +0 -73
  169. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js.map +0 -1
  170. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.d.ts +0 -1
  171. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js +0 -633
  172. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js.map +0 -1
  173. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.d.ts +0 -1
  174. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js +0 -94
  175. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js.map +0 -1
  176. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.d.ts +0 -1
  177. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js +0 -235
  178. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js.map +0 -1
  179. package/dist/spec/schema/ast-validation-modules/helpers.d.ts +0 -10
  180. package/dist/spec/schema/ast-validation-modules/helpers.js +0 -85
  181. package/dist/spec/schema/ast-validation-modules/helpers.js.map +0 -1
  182. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.d.ts +0 -1
  183. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js +0 -24
  184. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js.map +0 -1
  185. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.d.ts +0 -1
  186. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js +0 -117
  187. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js.map +0 -1
  188. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.d.ts +0 -1
  189. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js +0 -139
  190. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js.map +0 -1
  191. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.d.ts +0 -1
  192. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js +0 -27
  193. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js.map +0 -1
  194. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.d.ts +0 -1
  195. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js +0 -31
  196. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js.map +0 -1
  197. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.d.ts +0 -1
  198. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js +0 -32
  199. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js.map +0 -1
  200. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.d.ts +0 -1
  201. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js +0 -27
  202. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js.map +0 -1
  203. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.d.ts +0 -1
  204. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js +0 -27
  205. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js.map +0 -1
  206. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.d.ts +0 -1
  207. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js +0 -27
  208. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js.map +0 -1
  209. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.d.ts +0 -1
  210. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js +0 -29
  211. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js.map +0 -1
  212. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.d.ts +0 -1
  213. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js +0 -53
  214. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js.map +0 -1
  215. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.d.ts +0 -1
  216. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js +0 -30
  217. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js.map +0 -1
  218. package/dist/spec/schema/ast-validation-modules/parent-field.spec.d.ts +0 -1
  219. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js +0 -451
  220. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js.map +0 -1
  221. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.d.ts +0 -1
  222. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js +0 -40
  223. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js.map +0 -1
  224. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.d.ts +0 -1
  225. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js +0 -74
  226. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js.map +0 -1
  227. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.d.ts +0 -1
  228. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js +0 -26
  229. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js.map +0 -1
  230. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.d.ts +0 -1
  231. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js +0 -26
  232. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js.map +0 -1
  233. package/dist/spec/schema/ast-validation-modules/relations.spec.d.ts +0 -1
  234. package/dist/spec/schema/ast-validation-modules/relations.spec.js +0 -145
  235. package/dist/spec/schema/ast-validation-modules/relations.spec.js.map +0 -1
  236. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.d.ts +0 -1
  237. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js +0 -31
  238. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js.map +0 -1
  239. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.d.ts +0 -1
  240. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js +0 -35
  241. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js.map +0 -1
  242. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.d.ts +0 -1
  243. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js +0 -27
  244. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js.map +0 -1
  245. package/dist/spec/schema/ast-validation-modules/root-field.spec.d.ts +0 -1
  246. package/dist/spec/schema/ast-validation-modules/root-field.spec.js +0 -405
  247. package/dist/spec/schema/ast-validation-modules/root-field.spec.js.map +0 -1
  248. package/dist/spec/schema/ast-validation-modules/ttl.spec.d.ts +0 -1
  249. package/dist/spec/schema/ast-validation-modules/ttl.spec.js +0 -362
  250. package/dist/spec/schema/ast-validation-modules/ttl.spec.js.map +0 -1
  251. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.d.ts +0 -1
  252. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js +0 -79
  253. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js.map +0 -1
  254. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.d.ts +0 -1
  255. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js +0 -38
  256. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js.map +0 -1
  257. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.d.ts +0 -1
  258. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js +0 -53
  259. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js.map +0 -1
  260. package/dist/spec/schema/scalars/date-time.spec.d.ts +0 -1
  261. package/dist/spec/schema/scalars/date-time.spec.js +0 -74
  262. package/dist/spec/schema/scalars/date-time.spec.js.map +0 -1
  263. package/dist/spec/schema/scalars/fixed-point-decimals.spec.d.ts +0 -1
  264. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js +0 -66
  265. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js.map +0 -1
  266. package/dist/spec/schema/scalars/int53.spec.d.ts +0 -1
  267. package/dist/spec/schema/scalars/int53.spec.js +0 -45
  268. package/dist/spec/schema/scalars/int53.spec.js.map +0 -1
  269. package/dist/spec/schema/scalars/local-date.spec.d.ts +0 -1
  270. package/dist/spec/schema/scalars/local-date.spec.js +0 -30
  271. package/dist/spec/schema/scalars/local-date.spec.js.map +0 -1
  272. package/dist/spec/schema/scalars/local-time.spec.d.ts +0 -1
  273. package/dist/spec/schema/scalars/local-time.spec.js +0 -64
  274. package/dist/spec/schema/scalars/local-time.spec.js.map +0 -1
  275. package/dist/spec/schema/scalars/offset-date-time.spec.d.ts +0 -1
  276. package/dist/spec/schema/scalars/offset-date-time.spec.js +0 -82
  277. package/dist/spec/schema/scalars/offset-date-time.spec.js.map +0 -1
  278. package/dist/spec/schema/scalars/string-map.spec.d.ts +0 -1
  279. package/dist/spec/schema/scalars/string-map.spec.js +0 -230
  280. package/dist/spec/schema/scalars/string-map.spec.js.map +0 -1
  281. package/dist/spec/schema/schema-builder.spec.d.ts +0 -1
  282. package/dist/spec/schema/schema-builder.spec.js +0 -105
  283. package/dist/spec/schema/schema-builder.spec.js.map +0 -1
  284. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.d.ts +0 -1
  285. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js +0 -30
  286. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js.map +0 -1
  287. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.d.ts +0 -1
  288. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js +0 -36
  289. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js.map +0 -1
  290. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.d.ts +0 -1
  291. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js +0 -30
  292. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js.map +0 -1
  293. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.d.ts +0 -1
  294. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js +0 -89
  295. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js.map +0 -1
  296. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.d.ts +0 -1
  297. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js +0 -99
  298. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js.map +0 -1
  299. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.d.ts +0 -1
  300. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +0 -145
  301. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +0 -1
  302. package/dist/spec/schema/source-validation-modules/source-validation-helper.d.ts +0 -3
  303. package/dist/spec/schema/source-validation-modules/source-validation-helper.js +0 -12
  304. package/dist/spec/schema/source-validation-modules/source-validation-helper.js.map +0 -1
  305. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.d.ts +0 -1
  306. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js +0 -87
  307. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js.map +0 -1
  308. package/dist/spec/schema-generation/create-input-type-generator.spec.d.ts +0 -1
  309. package/dist/spec/schema-generation/create-input-type-generator.spec.js +0 -518
  310. package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +0 -1
  311. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.d.ts +0 -1
  312. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js +0 -160
  313. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js.map +0 -1
  314. package/dist/spec/schema-generation/enum-type-generator.spec.d.ts +0 -1
  315. package/dist/spec/schema-generation/enum-type-generator.spec.js +0 -21
  316. package/dist/spec/schema-generation/enum-type-generator.spec.js.map +0 -1
  317. package/dist/spec/schema-generation/memorize-decorator.spec.d.ts +0 -1
  318. package/dist/spec/schema-generation/memorize-decorator.spec.js +0 -39
  319. package/dist/spec/schema-generation/memorize-decorator.spec.js.map +0 -1
  320. package/dist/spec/schema-generation/order-by-enum-generator.spec.d.ts +0 -1
  321. package/dist/spec/schema-generation/order-by-enum-generator.spec.js +0 -188
  322. package/dist/spec/schema-generation/order-by-enum-generator.spec.js.map +0 -1
  323. package/dist/spec/utils/group-by-equivalence.spec.d.ts +0 -1
  324. package/dist/spec/utils/group-by-equivalence.spec.js +0 -11
  325. package/dist/spec/utils/group-by-equivalence.spec.js.map +0 -1
  326. package/dist/spec/utils/utils.spec.d.ts +0 -1
  327. package/dist/spec/utils/utils.spec.js +0 -24
  328. package/dist/spec/utils/utils.spec.js.map +0 -1
  329. package/dist/spec/utils/visitor.spec.d.ts +0 -1
  330. package/dist/spec/utils/visitor.spec.js +0 -119
  331. package/dist/spec/utils/visitor.spec.js.map +0 -1
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CRUDDL_VERSION = void 0;
4
4
  // do not modify - this is parsed and changed by the build script
5
5
  // explicitly annotating with "string" so typescript won't infer a string literal type
6
- exports.CRUDDL_VERSION = '3.3.1';
6
+ exports.CRUDDL_VERSION = '3.3.2';
7
7
  //# sourceMappingURL=cruddl-version.js.map
@@ -665,7 +665,7 @@ function getMetaSchema(project) {
665
665
  return (_b = (_a = executionOptions === null || executionOptions === void 0 ? void 0 : executionOptions.locale) === null || _a === void 0 ? void 0 : _a.acceptLanguages) !== null && _b !== void 0 ? _b : [];
666
666
  }
667
667
  function getFieldPermissions(field, args, context, info) {
668
- var _a, _b, _c, _d, _e;
668
+ var _a, _b, _c;
669
669
  const options = (_b = (_a = project.options).getExecutionOptions) === null || _b === void 0 ? void 0 : _b.call(_a, {
670
670
  context,
671
671
  operationDefinition: info.operation,
@@ -679,12 +679,14 @@ function getMetaSchema(project) {
679
679
  canWrite: true,
680
680
  };
681
681
  }
682
+ const authContext = (_c = options.authContext) !== null && _c !== void 0 ? _c : {};
682
683
  // one additional check that is normally done indirectly
684
+ // (e.g. you cannot resolve a reference to a type you cannot access, even if you can access the referencing field)
683
685
  if (field.type.isRootEntityType && field.type !== field.declaringType) {
684
686
  const descriptor = (0, permission_descriptors_in_model_1.getPermissionDescriptorOfRootEntityType)(field.type);
685
- // be optimistic on CONDITIONAL types
686
- if (descriptor.canAccess((_c = options.authContext) !== null && _c !== void 0 ? _c : {}, auth_basics_1.AccessOperation.READ) ===
687
- permission_descriptors_1.PermissionResult.DENIED) {
687
+ // treat CONDITIONAL like GRANTED - the user can access the field in some/most cases, so e.g. UIs should display it
688
+ // (this is also documented in the meta schema descriptions)
689
+ if (descriptor.canAccess(authContext, auth_basics_1.AccessOperation.READ) === permission_descriptors_1.PermissionResult.DENIED) {
688
690
  return {
689
691
  canRead: false,
690
692
  canWrite: false,
@@ -692,12 +694,11 @@ function getMetaSchema(project) {
692
694
  }
693
695
  }
694
696
  const descriptor = (0, permission_descriptors_in_model_1.getPermissionDescriptorOfField)(field);
695
- const authContext = (_d = options.authContext) !== null && _d !== void 0 ? _d : {};
697
+ // treat CONDITIONAL like GRANTED for consistency (and future-proofing) - CONDITIONAL currently does not happen here
696
698
  return {
697
- canRead: descriptor.canAccess((_e = options.authContext) !== null && _e !== void 0 ? _e : {}, auth_basics_1.AccessOperation.READ) ===
698
- permission_descriptors_1.PermissionResult.GRANTED,
699
- canWrite: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.UPDATE) ===
700
- permission_descriptors_1.PermissionResult.GRANTED,
699
+ canRead: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.READ) !== permission_descriptors_1.PermissionResult.DENIED,
700
+ canWrite: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.UPDATE) !==
701
+ permission_descriptors_1.PermissionResult.DENIED,
701
702
  };
702
703
  }
703
704
  function getRootEntityTypePermissions(rootEntityType, args, context, info) {
@@ -719,15 +720,16 @@ function getMetaSchema(project) {
719
720
  }
720
721
  const descriptor = (0, permission_descriptors_in_model_1.getPermissionDescriptorOfRootEntityType)(rootEntityType);
721
722
  const authContext = (_c = options.authContext) !== null && _c !== void 0 ? _c : {};
723
+ // treat CONDITIONAL like GRANTED - the user can access the type in some/most cases, so e.g. UIs should display it
724
+ // (this is also documented in the meta schema descriptions)
722
725
  return {
723
- canRead: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.READ) ===
724
- permission_descriptors_1.PermissionResult.GRANTED,
725
- canCreate: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.CREATE) ===
726
- permission_descriptors_1.PermissionResult.GRANTED,
727
- canUpdate: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.UPDATE) ===
728
- permission_descriptors_1.PermissionResult.GRANTED,
729
- canDelete: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.DELETE) ===
730
- permission_descriptors_1.PermissionResult.GRANTED,
726
+ canRead: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.READ) !== permission_descriptors_1.PermissionResult.DENIED,
727
+ canCreate: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.CREATE) !==
728
+ permission_descriptors_1.PermissionResult.DENIED,
729
+ canUpdate: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.UPDATE) !==
730
+ permission_descriptors_1.PermissionResult.DENIED,
731
+ canDelete: descriptor.canAccess(authContext, auth_basics_1.AccessOperation.DELETE) !==
732
+ permission_descriptors_1.PermissionResult.DENIED,
731
733
  };
732
734
  }
733
735
  return (0, schema_1.makeExecutableSchema)({
@@ -1 +1 @@
1
- {"version":3,"file":"meta-schema.js","sourceRoot":"","sources":["../../../src/meta-schema/meta-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-schema.js","sourceRoot":"","sources":["../../../src/meta-schema/meta-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cruddl",
3
- "version": "3.3.1",
3
+ "version": "3.3.2",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const move_errors_to_output_nodes_1 = require("../../src/authorization/move-errors-to-output-nodes");
5
- const query_tree_1 = require("../../src/query-tree");
6
- const flex_search_generator_1 = require("../../src/schema-generation/flex-search-generator");
7
- describe('move-errors-to-output-nodes', () => {
8
- it('moves errors in filter up', () => {
9
- const tree = new query_tree_1.ObjectQueryNode([
10
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.TransformListQueryNode({
11
- listNode: new query_tree_1.ListQueryNode([]),
12
- filterNode: new query_tree_1.RuntimeErrorQueryNode('filter error'),
13
- })),
14
- ]);
15
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
16
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
17
- });
18
- it('keeps errors in innerNode', () => {
19
- const tree = new query_tree_1.ObjectQueryNode([
20
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.TransformListQueryNode({
21
- listNode: new query_tree_1.ListQueryNode([]),
22
- innerNode: new query_tree_1.RuntimeErrorQueryNode('filter error'),
23
- })),
24
- ]);
25
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
26
- const transformList = newTree.properties[0]
27
- .valueNode;
28
- (0, chai_1.expect)(transformList.constructor.name).to.equal(query_tree_1.TransformListQueryNode.name);
29
- (0, chai_1.expect)(transformList.innerNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
30
- });
31
- it('ConditionalQueryNode moves errors in condition up', () => {
32
- const tree = new query_tree_1.ObjectQueryNode([
33
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.RuntimeErrorQueryNode('condition error'), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }))),
34
- ]);
35
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
36
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
37
- });
38
- it('ConditionalQueryNode keeps errors in expression', () => {
39
- const tree = new query_tree_1.ObjectQueryNode([
40
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.RuntimeErrorQueryNode('expression error'))),
41
- ]);
42
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
43
- const conditionalQueryNode = newTree.properties[0]
44
- .valueNode;
45
- (0, chai_1.expect)(conditionalQueryNode.constructor.name).to.equal(query_tree_1.ConditionalQueryNode.name);
46
- (0, chai_1.expect)(conditionalQueryNode.expr2.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
47
- });
48
- it('WithPreExecutionQueryNode moves errors in condition up', () => {
49
- const tree = new query_tree_1.ObjectQueryNode([
50
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.WithPreExecutionQueryNode({
51
- resultNode: new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }),
52
- preExecQueries: [
53
- new query_tree_1.PreExecQueryParms({
54
- query: new query_tree_1.RuntimeErrorQueryNode('condition error'),
55
- }),
56
- ],
57
- })),
58
- ]);
59
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
60
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
61
- });
62
- it('moves errors in result node up', () => {
63
- const tree = new query_tree_1.ObjectQueryNode([
64
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.WithPreExecutionQueryNode({
65
- resultNode: new query_tree_1.RuntimeErrorQueryNode('resultNode error'),
66
- preExecQueries: [
67
- new query_tree_1.PreExecQueryParms({
68
- query: new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }),
69
- }),
70
- ],
71
- })),
72
- ]);
73
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
74
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
75
- });
76
- it('do move up necessary error message', () => {
77
- const tree = new query_tree_1.ObjectQueryNode([
78
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.WithPreExecutionQueryNode({
79
- resultNode: new query_tree_1.RuntimeErrorQueryNode('resultNode error'),
80
- preExecQueries: [
81
- new query_tree_1.PreExecQueryParms({
82
- query: new query_tree_1.RuntimeErrorQueryNode('query error'),
83
- }),
84
- ],
85
- })),
86
- ]);
87
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
88
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
89
- (0, chai_1.expect)(newTree.properties[0].valueNode.message).to.equal('query error, resultNode error');
90
- });
91
- it('does not unnecessarily move up error message', () => {
92
- const tree = new query_tree_1.ObjectQueryNode([
93
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.WithPreExecutionQueryNode({
94
- resultNode: new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, {
95
- code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS,
96
- }), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, {
97
- code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS,
98
- })),
99
- preExecQueries: [
100
- new query_tree_1.PreExecQueryParms({
101
- query: new query_tree_1.RuntimeErrorQueryNode('query error'),
102
- }),
103
- ],
104
- })),
105
- ]);
106
- const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
107
- (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
108
- (0, chai_1.expect)(newTree.properties[0].valueNode.message).to.equal('query error');
109
- });
110
- });
111
- //# sourceMappingURL=move-errors-to-output-nodes.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-errors-to-output-nodes.spec.js","sourceRoot":"","sources":["../../../spec/authorization/move-errors-to-output-nodes.spec.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const permission_descriptors_1 = require("../../src/authorization/permission-descriptors");
4
- const model_1 = require("../../src/model");
5
- const auth_basics_1 = require("../../src/authorization/auth-basics");
6
- const query_tree_1 = require("../../src/query-tree");
7
- const constants_1 = require("../../src/schema/constants");
8
- const chai_1 = require("chai");
9
- describe('PermissionDescriptor', () => {
10
- describe('canAccess', () => {
11
- class MockPermissionDescriptor extends permission_descriptors_1.PermissionDescriptor {
12
- constructor(result) {
13
- super();
14
- this.result = result;
15
- }
16
- getAccessCondition(authContext, operation, accessGroupNode) {
17
- return this.result;
18
- }
19
- }
20
- const authContext = { authRoles: [] };
21
- const operation = auth_basics_1.AccessOperation.READ;
22
- it('returns GRANTED if constant true', () => {
23
- (0, chai_1.expect)(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.TRUE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
24
- });
25
- it('returns DENIED if constant false', () => {
26
- (0, chai_1.expect)(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.FALSE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
27
- });
28
- it('returns CONDITIONAL on anything else', () => {
29
- (0, chai_1.expect)(new MockPermissionDescriptor(new query_tree_1.LiteralQueryNode(true)).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
30
- });
31
- });
32
- });
33
- describe('ProfileBasedPermissionDescriptor', () => {
34
- const profile = new model_1.PermissionProfile('permissions', [], {
35
- permissions: [
36
- {
37
- access: 'read',
38
- roles: ['theRole'],
39
- },
40
- {
41
- access: 'read',
42
- roles: ['restricted'],
43
- restrictToAccessGroups: ['groupA', 'groupB'],
44
- },
45
- ],
46
- });
47
- const model = new model_1.Model({
48
- types: [
49
- {
50
- kind: model_1.TypeKind.ROOT_ENTITY,
51
- name: 'Test',
52
- fields: [
53
- {
54
- name: constants_1.ACCESS_GROUP_FIELD,
55
- typeName: 'String',
56
- },
57
- ],
58
- },
59
- ],
60
- });
61
- const descriptor = new permission_descriptors_1.ProfileBasedPermissionDescriptor(profile, model.getRootEntityTypeOrThrow('Test'));
62
- it('grants access if role matches', () => {
63
- (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole', 'other'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
64
- });
65
- it('denies access if no role matches', () => {
66
- (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole2'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
67
- });
68
- it('denies write access if role matches but has only read permissions', () => {
69
- (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole'] }, auth_basics_1.AccessOperation.UPDATE)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
70
- });
71
- it('produces conditional QueryNode if only accessGroup-based permissions match', () => {
72
- (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['restricted'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
73
- const instanceNode = new query_tree_1.VariableQueryNode('instance');
74
- const condition = descriptor.getAccessCondition({ authRoles: ['restricted'] }, auth_basics_1.AccessOperation.READ, instanceNode);
75
- (0, chai_1.expect)(condition).to.be.an.instanceof(query_tree_1.BinaryOperationQueryNode);
76
- (0, chai_1.expect)(condition.lhs).to.be.an.instanceof(query_tree_1.FieldQueryNode);
77
- const fieldNode = condition.lhs;
78
- (0, chai_1.expect)(fieldNode.objectNode).to.equal(instanceNode);
79
- (0, chai_1.expect)(condition.operator).to.equal(query_tree_1.BinaryOperator.IN);
80
- (0, chai_1.expect)(condition.rhs).to.be.an.instanceof(query_tree_1.LiteralQueryNode);
81
- (0, chai_1.expect)(condition.rhs.value).to.contain('groupA');
82
- (0, chai_1.expect)(condition.rhs.value).to.contain('groupB');
83
- });
84
- });
85
- //# sourceMappingURL=permission-descriptor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-descriptor.spec.js","sourceRoot":"","sources":["../../../spec/authorization/permission-descriptor.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const model_1 = require("../../src/model");
5
- const permission_profile_1 = require("../../src/model/implementation/permission-profile");
6
- describe('Permission', () => {
7
- describe('getAllowedAccessGroups', () => {
8
- it('gets literal access groups when roles match', () => {
9
- const permission = new model_1.Permission({
10
- access: 'read',
11
- restrictToAccessGroups: ['ag1', 'ag2'],
12
- roles: ['role'],
13
- });
14
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['role'] })).to.deep.equal([
15
- 'ag1',
16
- 'ag2',
17
- ]);
18
- });
19
- it('gets empty list when roles do not match', () => {
20
- const permission = new model_1.Permission({
21
- access: 'read',
22
- restrictToAccessGroups: ['ag1', 'ag2'],
23
- roles: ['role'],
24
- });
25
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['other-role'] })).to.deep.equal([]);
26
- });
27
- it('gets dynamic access group', () => {
28
- const permission = new model_1.Permission({
29
- access: 'read',
30
- restrictToAccessGroups: ['dynamic-$1'],
31
- roles: ['/^role-(.*)$/'],
32
- });
33
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['role-test'] })).to.deep.equal([
34
- 'dynamic-test',
35
- ]);
36
- });
37
- it('gets static and dynamic access group', () => {
38
- const permission = new model_1.Permission({
39
- access: 'read',
40
- restrictToAccessGroups: ['static', 'dynamic-$1'],
41
- roles: ['/^role-(.*)$/', 'a-static-role'],
42
- });
43
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['role-test'] })).to.deep.equal([
44
- 'static',
45
- 'dynamic-test',
46
- ]);
47
- });
48
- it('only gets static access group if no dynamic one matches', () => {
49
- const permission = new model_1.Permission({
50
- access: 'read',
51
- restrictToAccessGroups: ['static', 'dynamic-$1'],
52
- roles: ['/^role-(.*)$/', 'a-static-role'],
53
- });
54
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['a-static-role'] })).to.deep.equal(['static']);
55
- });
56
- it('only gets static access group if dynamic one matches but has no capture groups', () => {
57
- const permission = new model_1.Permission({
58
- access: 'read',
59
- restrictToAccessGroups: ['static', 'dynamic-$1'],
60
- roles: ['/^role-.*$/', 'a-static-role'],
61
- });
62
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['a-static-role'] })).to.deep.equal(['static']);
63
- });
64
- // this is unfortunate, but hard to verify
65
- it('gets dynamic access group with placeholders if role has the wrong caputure groups', () => {
66
- const permission = new model_1.Permission({
67
- access: 'read',
68
- restrictToAccessGroups: ['static', 'dynamic-$2'],
69
- roles: ['/^role-(.*)$/', 'a-static-role'],
70
- });
71
- (0, chai_1.expect)(permission.getAllowedAccessGroups({ authRoles: ['role-abc'] })).to.deep.equal([
72
- 'static',
73
- 'dynamic-$2',
74
- ]);
75
- });
76
- });
77
- });
78
- describe('RoleSpecifier', () => {
79
- it('it supports literal roles', () => {
80
- const roleSpecifier = new model_1.RoleSpecifier(['roleA', 'roleB']);
81
- (0, chai_1.expect)(roleSpecifier.includesRole('roleA')).to.be.true;
82
- (0, chai_1.expect)(roleSpecifier.includesRole('roleC')).to.be.false;
83
- });
84
- it('it supports roles with wildcards', () => {
85
- const roleSpecifier = new model_1.RoleSpecifier(['role*']);
86
- (0, chai_1.expect)(roleSpecifier.includesRole('roleA')).to.be.true;
87
- (0, chai_1.expect)(roleSpecifier.includesRole('role')).to.be.true;
88
- (0, chai_1.expect)(roleSpecifier.includesRole('rolA')).to.be.false;
89
- (0, chai_1.expect)(roleSpecifier.includesRole('theroleA')).to.be.false;
90
- });
91
- it('it supports roles with regular expressions', () => {
92
- const roleSpecifier = new model_1.RoleSpecifier(['/role-[a-z]+/']);
93
- (0, chai_1.expect)(roleSpecifier.includesRole('role-abc')).to.be.true;
94
- (0, chai_1.expect)(roleSpecifier.includesRole('role-0123')).to.be.false;
95
- (0, chai_1.expect)(roleSpecifier.includesRole('role-ABC')).to.be.false;
96
- });
97
- it('it supports roles with case-insensitive regular expressions', () => {
98
- const roleSpecifier = new model_1.RoleSpecifier(['/role-[a-z]+/i']);
99
- (0, chai_1.expect)(roleSpecifier.includesRole('role-abc')).to.be.true;
100
- (0, chai_1.expect)(roleSpecifier.includesRole('role-0123')).to.be.false;
101
- (0, chai_1.expect)(roleSpecifier.includesRole('role-ABC')).to.be.true;
102
- });
103
- it('throws on invalid regular expressions', () => {
104
- (0, chai_1.expect)(() => new model_1.RoleSpecifier(['/role-[a-z]+'])).to.throw(permission_profile_1.InvalidRoleSpecifierError, 'Role specifier starts with a slash (/), but is not a valid regular expression: /role-[a-z]+');
105
- });
106
- it('throws on invalid regular expressions (2)', () => {
107
- (0, chai_1.expect)(() => new model_1.RoleSpecifier(['/role-[a-z+/'])).to.throw(permission_profile_1.InvalidRoleSpecifierError, 'Invalid regular expression: /role-[a-z+/: Unterminated character class');
108
- });
109
- });
110
- //# sourceMappingURL=permission-profile.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-profile.spec.js","sourceRoot":"","sources":["../../../spec/authorization/permission-profile.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const aql_generator_1 = require("../../../src/database/arangodb/aql-generator");
4
- const query_tree_1 = require("../../../src/query-tree");
5
- const chai_1 = require("chai");
6
- describe('getAQLForQuery', () => {
7
- it('supports LiteralQuery', () => {
8
- const query = new query_tree_1.LiteralQueryNode({ some: 'object' });
9
- const aql = (0, aql_generator_1.getAQLQuery)(query);
10
- (0, chai_1.expect)(aql.getExecutableQueries()[0].code).to.equal(`RETURN @var1`);
11
- });
12
- it('supports ObjectQuery', () => {
13
- const query = new query_tree_1.ObjectQueryNode([
14
- new query_tree_1.PropertySpecification('propA', new query_tree_1.LiteralQueryNode('a')),
15
- new query_tree_1.PropertySpecification('propB', new query_tree_1.LiteralQueryNode('b')),
16
- ]);
17
- const aql = (0, aql_generator_1.getAQLQuery)(query);
18
- (0, chai_1.expect)(aql.getExecutableQueries()[0].code).to.equal(`RETURN {\n"propA": @var1,\n"propB": @var2\n}`);
19
- });
20
- });
21
- //# sourceMappingURL=aql-generator.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aql-generator.spec.js","sourceRoot":"","sources":["../../../../spec/database/arangodb/aql-generator.spec.ts"],"names":[],"mappings":";;AAAA,gFAA2E;AAC3E,wDAAmG;AACnG,+BAA8B;AAE9B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,IAAI,6BAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,2BAAW,EAAC,KAAK,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,4BAAe,CAAC;YAC9B,IAAI,kCAAqB,CAAC,OAAO,EAAE,IAAI,6BAAgB,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,kCAAqB,CAAC,OAAO,EAAE,IAAI,6BAAgB,CAAC,GAAG,CAAC,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,2BAAW,EAAC,KAAK,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAC/C,8CAA8C,CACjD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const aql_1 = require("../../../src/database/arangodb/aql");
5
- describe('aql', () => {
6
- it('works with plain code', () => {
7
- const fragment = (0, aql_1.aql) `RETURN true`;
8
- (0, chai_1.expect)(fragment.getCode().code).to.equal('RETURN true');
9
- (0, chai_1.expect)(fragment.toString()).to.equal('RETURN true');
10
- (0, chai_1.expect)(fragment.getCode().boundValues).to.be.deep.equal({});
11
- });
12
- it('works with simple values', () => {
13
- const fragment = (0, aql_1.aql) `RETURN ${123}`;
14
- (0, chai_1.expect)(fragment.getCode().code).to.equal('RETURN @var1');
15
- (0, chai_1.expect)(fragment.toString()).to.equal('RETURN 123');
16
- const boundValues = fragment.getCode().boundValues;
17
- (0, chai_1.expect)(Object.keys(boundValues).length).to.equal(1);
18
- (0, chai_1.expect)(boundValues.var1).to.be.deep.equal(123);
19
- console.log(fragment.toColoredString());
20
- });
21
- it('can nest fragments', () => {
22
- const innerFragment = (0, aql_1.aql) `{ flag: ${true} }`;
23
- const fragment = (0, aql_1.aql) `RETURN [ ${123}, ${innerFragment} ]`;
24
- (0, chai_1.expect)(fragment.getCode().code).to.equal('RETURN [ @var1, { flag: @var2 } ]');
25
- (0, chai_1.expect)(fragment.toString()).to.equal('RETURN [ 123, { flag: true } ]');
26
- const boundValues = fragment.getCode().boundValues;
27
- (0, chai_1.expect)(Object.keys(boundValues).length).to.equal(2);
28
- (0, chai_1.expect)(boundValues.var1).to.equal(123);
29
- (0, chai_1.expect)(boundValues.var2).to.equal(true);
30
- console.log(fragment.toColoredString());
31
- });
32
- it('can join lines', () => {
33
- const fragment = aql_1.aql.lines((0, aql_1.aql) `{`, (0, aql_1.aql) ` flag: ${true}`, (0, aql_1.aql) `}`);
34
- (0, chai_1.expect)(fragment.getCode().code).to.equal('{\n flag: @var1\n}');
35
- (0, chai_1.expect)(fragment.toString()).to.equal('{\n flag: true\n}');
36
- console.log(fragment.toColoredString());
37
- });
38
- it('can indent lines', () => {
39
- const items = [123, 456, 42].map((number) => (0, aql_1.aql) `2 * ${number}`);
40
- const fragment = aql_1.aql.lines((0, aql_1.aql) `[`, aql_1.aql.indent(aql_1.aql.join(items, (0, aql_1.aql) `,\n`)), (0, aql_1.aql) `]`);
41
- const oldValue = aql_1.aqlConfig.enableIndentationForCode;
42
- aql_1.aqlConfig.enableIndentationForCode = true;
43
- (0, chai_1.expect)(fragment.getCode().code).to.equal('[\n 2 * @var1,\n 2 * @var2,\n 2 * @var3\n]');
44
- aql_1.aqlConfig.enableIndentationForCode = oldValue;
45
- console.log(fragment.toColoredString());
46
- });
47
- it('supports tmp vars', () => {
48
- const tmp1 = aql_1.aql.variable();
49
- const fragment = (0, aql_1.aql) `FOR ${tmp1} IN [ 1, 2, 3 ] RETURN ${tmp1} * 2`;
50
- (0, chai_1.expect)(fragment.getCode().code).to.equal(`FOR tmp1 IN [ 1, 2, 3 ] RETURN tmp1 * 2`);
51
- });
52
- it('supports multiple tmp vars', () => {
53
- const tmp1 = aql_1.aql.variable();
54
- const tmp2 = aql_1.aql.variable();
55
- const fragment = (0, aql_1.aql) `LET ${tmp1} = [ 1, 2, 3] FOR ${tmp2} IN ${tmp1} RETURN ${tmp2} * 2`;
56
- (0, chai_1.expect)(fragment.getCode().code).to.equal(`LET tmp1 = [ 1, 2, 3] FOR tmp2 IN tmp1 RETURN tmp2 * 2`);
57
- });
58
- it('discards unsafe variable labels', () => {
59
- const tmp1 = new aql_1.AQLVariable('unsafe label');
60
- const fragment = (0, aql_1.aql) `LET ${tmp1} = true RETURN ${tmp1}`;
61
- (0, chai_1.expect)(fragment.getCode().code).to.equal(`LET tmp1 = true RETURN tmp1`);
62
- });
63
- it('supports multiple labeled tmp vars', () => {
64
- const tmp1 = new aql_1.AQLVariable('label');
65
- const tmp2 = new aql_1.AQLVariable('label');
66
- const fragment = (0, aql_1.aql) `LET ${tmp1} = [ 1, 2, 3] FOR ${tmp2} IN ${tmp1} RETURN ${tmp2} * 2`;
67
- (0, chai_1.expect)(fragment.getCode().code).to.equal(`LET v_label1 = [ 1, 2, 3] FOR v_label2 IN v_label1 RETURN v_label2 * 2`);
68
- });
69
- describe('collection', () => {
70
- it('accepts normal names', () => {
71
- (0, chai_1.expect)(aql_1.aql.collection('deliveries').getCode().code).to.equal('@@deliveries');
72
- });
73
- it('rejects strange collection names', () => {
74
- (0, chai_1.expect)(() => aql_1.aql.collection('deliveries + / BAD')).to.throw();
75
- });
76
- });
77
- });
78
- //# sourceMappingURL=aql.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aql.spec.js","sourceRoot":"","sources":["../../../../spec/database/arangodb/aql.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,4DAAiF;AAEjF,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACjB,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,aAAa,CAAC;QAClC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,UAAU,GAAG,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG,IAAA,SAAG,EAAA,WAAW,IAAI,IAAI,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,YAAY,GAAG,KAAK,aAAa,IAAI,CAAC;QAC1D,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC9E,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACtB,MAAM,QAAQ,GAAG,SAAG,CAAC,KAAK,CAAC,IAAA,SAAG,EAAA,GAAG,EAAE,IAAA,SAAG,EAAA,WAAW,IAAI,EAAE,EAAE,IAAA,SAAG,EAAA,GAAG,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,SAAG,EAAA,OAAO,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,SAAG,CAAC,KAAK,CAAC,IAAA,SAAG,EAAA,GAAG,EAAE,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,SAAG,EAAA,KAAK,CAAC,CAAC,EAAE,IAAA,SAAG,EAAA,GAAG,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,eAAS,CAAC,wBAAwB,CAAC;QACpD,eAAS,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAC1C,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC1F,eAAS,CAAC,wBAAwB,GAAG,QAAQ,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,IAAI,GAAG,SAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,OAAO,IAAI,0BAA0B,IAAI,MAAM,CAAC;QACpE,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,IAAI,GAAG,SAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,OAAO,IAAI,qBAAqB,IAAI,OAAO,IAAI,WAAW,IAAI,MAAM,CAAC;QACzF,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CACpC,wDAAwD,CAC3D,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,iBAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,OAAO,IAAI,kBAAkB,IAAI,EAAE,CAAC;QACxD,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,IAAI,iBAAW,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,iBAAW,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAA,SAAG,EAAA,OAAO,IAAI,qBAAqB,IAAI,OAAO,IAAI,WAAW,IAAI,MAAM,CAAC;QACzF,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CACpC,wEAAwE,CAC3E,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC5B,IAAA,aAAM,EAAC,SAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,SAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}