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
@@ -1,346 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
5
- const project_1 = require("../../../src/project/project");
6
- const source_1 = require("../../../src/project/source");
7
- const graphql_1 = require("graphql");
8
- const arangodb_1 = require("../../../src/database/arangodb");
9
- const arangodb_test_utils_1 = require("./arangodb-test-utils");
10
- const initialization_1 = require("../../regression/initialization");
11
- const chai_1 = require("chai");
12
- async function setUp(data, options = {}) {
13
- const ttlConfig = {
14
- typeName: 'Test',
15
- dateField: 'finishedAt',
16
- expireAfterDays: 3,
17
- };
18
- const project = new project_1.Project({
19
- sources: [
20
- new source_1.ProjectSource('source.graphqls', (0, graphql_1.print)((0, graphql_tag_1.default) `
21
- type Test @rootEntity {
22
- key: String
23
- finishedAt: DateTime
24
- nested: [N1] @relation(onDelete: CASCADE)
25
- }
26
-
27
- type N1 @rootEntity {
28
- key: String
29
- nested: [N2] @relation(onDelete: RESTRICT)
30
- parent: Test @relation(inverseOf: "nested")
31
- }
32
-
33
- type N2 @rootEntity {
34
- key: String
35
- parent: N1 @relation(inverseOf: "nested")
36
- }
37
- `)),
38
- new source_1.ProjectSource('ttl.json', JSON.stringify({ timeToLive: [{ ...ttlConfig, ...options }] })),
39
- ],
40
- getExecutionOptions: () => ({ disableAuthorization: true }),
41
- });
42
- const model = project.getModel();
43
- const dbConfig = await (0, initialization_1.createTempDatabase)();
44
- const adapter = new arangodb_1.ArangoDBAdapter(dbConfig);
45
- await adapter.updateSchema(model);
46
- const schema = project.createSchema(adapter);
47
- const initResult = await (0, graphql_1.graphql)({
48
- schema,
49
- source: (0, graphql_1.print)((0, graphql_tag_1.default) `
50
- mutation init($data: [CreateTestInput!]!) {
51
- createTests(input: $data) {
52
- key
53
- }
54
- }
55
- `),
56
- variableValues: {
57
- data,
58
- },
59
- });
60
- (0, chai_1.expect)(initResult.errors).to.be.undefined;
61
- return {
62
- project,
63
- schema,
64
- adapter,
65
- getAllKeys: async () => {
66
- var _a;
67
- const result = await (0, graphql_1.graphql)({
68
- schema,
69
- source: (0, graphql_1.print)((0, graphql_tag_1.default) `
70
- {
71
- allTests(orderBy: key_ASC) {
72
- key
73
- }
74
- }
75
- `),
76
- });
77
- (0, chai_1.expect)(result.errors).to.be.undefined;
78
- return (_a = result.data.allTests.map((t) => t.key)) !== null && _a !== void 0 ? _a : [];
79
- },
80
- getN1Keys: async () => {
81
- var _a;
82
- const result = await (0, graphql_1.graphql)({
83
- schema,
84
- source: (0, graphql_1.print)((0, graphql_tag_1.default) `
85
- {
86
- allN1s(orderBy: key_ASC) {
87
- key
88
- }
89
- }
90
- `),
91
- });
92
- (0, chai_1.expect)(result.errors).to.be.undefined;
93
- return (_a = result.data.allN1s.map((t) => t.key)) !== null && _a !== void 0 ? _a : [];
94
- },
95
- getN2Keys: async () => {
96
- var _a;
97
- const result = await (0, graphql_1.graphql)({
98
- schema,
99
- source: (0, graphql_1.print)((0, graphql_tag_1.default) `
100
- {
101
- allN2s(orderBy: key_ASC) {
102
- key
103
- }
104
- }
105
- `),
106
- });
107
- (0, chai_1.expect)(result.errors).to.be.undefined;
108
- return (_a = result.data.allN2s.map((t) => t.key)) !== null && _a !== void 0 ? _a : [];
109
- },
110
- };
111
- }
112
- describe('ArangoDB TTL', async function () {
113
- // can't use arrow function because we need the "this"
114
- if ((0, arangodb_test_utils_1.isArangoDBDisabled)()) {
115
- this.skip();
116
- return;
117
- }
118
- it('deletes expired objects', async () => {
119
- const { project, adapter, getAllKeys } = await setUp([
120
- {
121
- key: '1',
122
- finishedAt: '2023-01-01T00:00:00Z',
123
- },
124
- {
125
- key: '7',
126
- finishedAt: '2023-01-07T00:00:00Z',
127
- },
128
- {
129
- key: '8',
130
- finishedAt: '2023-01-08T00:00:00Z',
131
- },
132
- {
133
- key: '9',
134
- finishedAt: '2023-01-09T00:00:00Z',
135
- },
136
- {
137
- key: 'N',
138
- finishedAt: null,
139
- },
140
- ]);
141
- const beforeKeys = await getAllKeys();
142
- (0, chai_1.expect)(beforeKeys).to.deep.equal(['1', '7', '8', '9', 'N']);
143
- await project.executeTTLCleanup(adapter, {
144
- clock: { getCurrentTimestamp: () => '2023-01-10T01:00:00Z' },
145
- disableAuthorization: true,
146
- });
147
- const afterKeys = await getAllKeys();
148
- (0, chai_1.expect)(afterKeys).to.deep.equal(['8', '9', 'N']);
149
- });
150
- it('informs about expired and overdue objects', async function () {
151
- const { project, adapter, getAllKeys } = await setUp([
152
- {
153
- key: '1',
154
- finishedAt: '2023-01-01T00:00:00Z',
155
- },
156
- {
157
- key: '7',
158
- finishedAt: '2023-01-07T00:00:00Z',
159
- },
160
- {
161
- key: '8',
162
- finishedAt: '2023-01-08T00:00:00Z',
163
- },
164
- {
165
- key: '9',
166
- finishedAt: '2023-01-09T00:00:00Z',
167
- },
168
- {
169
- key: 'N',
170
- finishedAt: null,
171
- },
172
- ]);
173
- const info = await project.getTTLInfo(adapter, {
174
- timeToLiveOptions: { overdueDelta: 1 },
175
- disableAuthorization: true,
176
- clock: {
177
- getCurrentTimestamp: () => '2023-01-10T01:00:00Z',
178
- },
179
- });
180
- (0, chai_1.expect)(info).to.deep.equal([
181
- {
182
- dateField: 'finishedAt',
183
- expireAfterDays: 3,
184
- expiredObjectCount: 2,
185
- overdueObjectCount: 1,
186
- typeName: 'Test',
187
- },
188
- ]);
189
- });
190
- it('respects CASCADE', async () => {
191
- const { project, adapter, getAllKeys, getN1Keys } = await setUp([
192
- {
193
- key: 'K',
194
- finishedAt: '2023-01-10T00:00:00Z',
195
- createNested: [{ key: 'K1' }, { key: 'K2' }],
196
- },
197
- {
198
- key: 'D',
199
- finishedAt: '2023-01-01T00:00:00Z',
200
- createNested: [{ key: 'D1' }, { key: 'D2' }],
201
- },
202
- ]);
203
- const beforeKeys = await getAllKeys();
204
- (0, chai_1.expect)(beforeKeys).to.deep.equal(['D', 'K']);
205
- const beforeN1s = await getN1Keys();
206
- (0, chai_1.expect)(beforeN1s).to.deep.equal(['D1', 'D2', 'K1', 'K2']);
207
- await project.executeTTLCleanup(adapter, {
208
- clock: { getCurrentTimestamp: () => '2023-01-10T01:00:00Z' },
209
- disableAuthorization: true,
210
- });
211
- const afterKeys = await getAllKeys();
212
- (0, chai_1.expect)(afterKeys).to.deep.equal(['K']);
213
- const afterN1s = await getN1Keys();
214
- (0, chai_1.expect)(afterN1s).to.deep.equal(['K1', 'K2']);
215
- });
216
- it('respects RESTRICT', async () => {
217
- const { project, adapter, getAllKeys, getN2Keys } = await setUp([
218
- {
219
- key: 'K',
220
- finishedAt: '2023-01-10T00:00:00Z',
221
- createNested: [
222
- {
223
- key: 'K1',
224
- createNested: [
225
- {
226
- key: 'K11',
227
- },
228
- ],
229
- },
230
- { key: 'K2' },
231
- ],
232
- },
233
- {
234
- key: 'D',
235
- finishedAt: '2023-01-01T00:00:00Z',
236
- createNested: [
237
- {
238
- key: 'D1',
239
- createNested: [
240
- {
241
- key: 'D11',
242
- },
243
- ],
244
- },
245
- { key: 'D2' },
246
- ],
247
- },
248
- {
249
- key: 'R',
250
- finishedAt: '2023-01-01T00:00:00Z',
251
- createNested: [
252
- {
253
- key: 'R1',
254
- createNested: [
255
- {
256
- key: 'R11',
257
- },
258
- ],
259
- },
260
- { key: 'R2' },
261
- ],
262
- },
263
- ]);
264
- const beforeKeys = await getAllKeys();
265
- (0, chai_1.expect)(beforeKeys).to.deep.equal(['D', 'K', 'R']);
266
- const beforeN2s = await getN2Keys();
267
- (0, chai_1.expect)(beforeN2s).to.deep.equal(['D11', 'K11', 'R11']);
268
- const ttlPromise = project.executeTTLCleanup(adapter, {
269
- clock: { getCurrentTimestamp: () => '2023-01-10T01:00:00Z' },
270
- disableAuthorization: true,
271
- });
272
- await (0, chai_1.expect)(ttlPromise).to.be.rejectedWith(/Cannot delete Test object because 2 N2 objects are still referenced via nested.nested.*/);
273
- // ideally, this should delete D but keep R
274
- // this is not supported currently; instead, the whole TTL batch fails
275
- // this test exists to document the status quo and can be converted to test the correct
276
- // behavior by uncommenting the expects below.
277
- /*const afterKeys = await getAllKeys();
278
- expect(afterKeys).to.deep.equal(['K', 'R']);
279
- const afterN2s = await getN2Keys();
280
- expect(afterN2s).to.deep.equal(['K11', 'R11']);*/
281
- });
282
- it('supports cascadeFields', async () => {
283
- const { project, adapter, getAllKeys, getN2Keys } = await setUp([
284
- {
285
- key: 'K',
286
- finishedAt: '2023-01-10T00:00:00Z',
287
- createNested: [
288
- {
289
- key: 'K1',
290
- createNested: [
291
- {
292
- key: 'K11',
293
- },
294
- ],
295
- },
296
- { key: 'K2' },
297
- ],
298
- },
299
- {
300
- key: 'D',
301
- finishedAt: '2023-01-01T00:00:00Z',
302
- createNested: [
303
- {
304
- key: 'D1',
305
- createNested: [
306
- {
307
- key: 'D11',
308
- },
309
- ],
310
- },
311
- { key: 'D2' },
312
- ],
313
- },
314
- {
315
- key: 'R',
316
- finishedAt: '2023-01-01T00:00:00Z',
317
- createNested: [
318
- {
319
- key: 'R1',
320
- createNested: [
321
- {
322
- key: 'R11',
323
- },
324
- ],
325
- },
326
- { key: 'R2' },
327
- ],
328
- },
329
- ], {
330
- cascadeFields: ['nested.nested'],
331
- });
332
- const beforeKeys = await getAllKeys();
333
- (0, chai_1.expect)(beforeKeys).to.deep.equal(['D', 'K', 'R']);
334
- const beforeN2s = await getN2Keys();
335
- (0, chai_1.expect)(beforeN2s).to.deep.equal(['D11', 'K11', 'R11']);
336
- await project.executeTTLCleanup(adapter, {
337
- clock: { getCurrentTimestamp: () => '2023-01-10T01:00:00Z' },
338
- disableAuthorization: true,
339
- });
340
- const afterKeys = await getAllKeys();
341
- (0, chai_1.expect)(afterKeys).to.deep.equal(['K']);
342
- const afterN2s = await getN2Keys();
343
- (0, chai_1.expect)(afterN2s).to.deep.equal(['K11']);
344
- });
345
- });
346
- //# sourceMappingURL=ttl.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ttl.spec.js","sourceRoot":"","sources":["../../../../spec/database/arangodb/ttl.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const like_helpers_1 = require("../../src/database/like-helpers");
5
- describe('like-helper', () => {
6
- describe('analyzeLikePatternPrefix', () => {
7
- it('finds complete literal pattern', () => {
8
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test');
9
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
10
- (0, chai_1.expect)(literalPrefix).to.equal('test');
11
- });
12
- it('properly unescapes special chars', () => {
13
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test \\% \\\\ \\_');
14
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
15
- (0, chai_1.expect)(literalPrefix).to.equal('test % \\ _');
16
- });
17
- it('leaves badly escaped characters as-is', () => {
18
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test \\a \\');
19
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
20
- (0, chai_1.expect)(literalPrefix).to.equal('test \\a \\');
21
- });
22
- it('treats % as placeholder', () => {
23
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test % suffix');
24
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
25
- (0, chai_1.expect)(literalPrefix).to.equal('test ');
26
- });
27
- it('identifies prefix patterns', () => {
28
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test %');
29
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.true;
30
- (0, chai_1.expect)(literalPrefix).to.equal('test ');
31
- });
32
- it('identifies prefix patterns with repeated % placeholders', () => {
33
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test %%%');
34
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.true;
35
- (0, chai_1.expect)(literalPrefix).to.equal('test ');
36
- });
37
- it('treats _ as placeholder', () => {
38
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('test _ suffix');
39
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
40
- (0, chai_1.expect)(literalPrefix).to.equal('test ');
41
- });
42
- it('returns empty prefix if placeholder is at start', () => {
43
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('%suffix');
44
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
45
- (0, chai_1.expect)(literalPrefix).to.equal('');
46
- });
47
- it('returns empty prefix for empty string', () => {
48
- const { isSimplePrefixPattern, literalPrefix } = (0, like_helpers_1.analyzeLikePatternPrefix)('');
49
- (0, chai_1.expect)(isSimplePrefixPattern).to.be.false;
50
- (0, chai_1.expect)(literalPrefix).to.equal('');
51
- });
52
- });
53
- describe('likePatternToRegExp', () => {
54
- it('produces case-insensitive regexps', () => {
55
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('abc').flags).to.equal('i');
56
- });
57
- it('works for empty string', () => {
58
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('').source).to.equal(/^$/.source);
59
- });
60
- it('works for regular literals', () => {
61
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('a, b').source).to.equal(/^a, b$/.source);
62
- });
63
- it('escapes special literals', () => {
64
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('test (+[.').source).to.equal(/^test \(\+\[\.$/.source);
65
- });
66
- it('unescapes like literals', () => {
67
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('test \\_').source).to.equal(/^test _$/.source);
68
- });
69
- it('translates % properly', () => {
70
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('test % suffix').source).to.equal(/^test ([\s\S]*) suffix$/.source);
71
- });
72
- it('translates _ properly', () => {
73
- (0, chai_1.expect)((0, like_helpers_1.likePatternToRegExp)('test _ suffix').source).to.equal(/^test [\s\S] suffix$/.source);
74
- });
75
- it('matches a simple pattern', () => {
76
- (0, chai_1.expect)('prefix test SUFFIX').to.match((0, like_helpers_1.likePatternToRegExp)('prefix % suffix'));
77
- (0, chai_1.expect)('prefix test SUFFI').to.not.match((0, like_helpers_1.likePatternToRegExp)('prefix % suffix'));
78
- });
79
- it('matches a complex pattern', () => {
80
- // make sure the dot is escaped
81
- (0, chai_1.expect)('test.value\\_suffix').to.match((0, like_helpers_1.likePatternToRegExp)('test.%\\_suffix'));
82
- (0, chai_1.expect)('test,value\\_suffix').not.to.match((0, like_helpers_1.likePatternToRegExp)('test.%\\_suffix'));
83
- (0, chai_1.expect)('blahtest.value\\_suffix').not.to.match((0, like_helpers_1.likePatternToRegExp)('test.%\\_suffix'));
84
- });
85
- });
86
- });
87
- //# sourceMappingURL=like-helper.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"like-helper.spec.js","sourceRoot":"","sources":["../../../spec/database/like-helper.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { RequestHandler } from 'express';
2
- import { DatabaseAdapter } from '../../src/database/database-adapter';
3
- import { Project } from '../../src/project/project';
4
- export declare function createFastApp(project: Project, databaseAdapter: DatabaseAdapter): RequestHandler;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createFastApp = void 0;
4
- const graphql_1 = require("graphql");
5
- function createFastApp(project, databaseAdapter) {
6
- const executor = project.createSchemaExecutor(databaseAdapter);
7
- const slowSchema = project.createSchema(databaseAdapter);
8
- return async (req, res) => {
9
- const { query, operationName, variables: variableValues } = req.body;
10
- const document = (0, graphql_1.parse)(query);
11
- const validationErrors = (0, graphql_1.validate)(slowSchema, document);
12
- if (validationErrors.length) {
13
- res.end(JSON.stringify({
14
- errors: validationErrors.map((e) => (0, graphql_1.formatError)(e)),
15
- }));
16
- }
17
- const fastPromise = executor.tryExecute({
18
- document,
19
- variableValues,
20
- operationName,
21
- options: {
22
- recordPlan: true,
23
- recordTimings: true,
24
- mutationMode: 'rollback',
25
- queryMemoryLimit: 5000000,
26
- },
27
- });
28
- if (!fastPromise) {
29
- const { data, errors } = await (0, graphql_1.execute)({
30
- schema: slowSchema,
31
- operationName,
32
- rootValue: {},
33
- document,
34
- });
35
- res.end(JSON.stringify({ data, errors }));
36
- return;
37
- }
38
- try {
39
- const result = await fastPromise;
40
- res.end(JSON.stringify({
41
- data: result.data,
42
- errors: result.error
43
- ? [
44
- (0, graphql_1.formatError)(new graphql_1.GraphQLError(result.error.message, undefined, undefined, undefined, undefined, result.error)),
45
- ]
46
- : undefined,
47
- }));
48
- }
49
- catch (e) {
50
- res.end(JSON.stringify({
51
- errors: [(0, graphql_1.formatError)(new graphql_1.GraphQLError(e.stack))],
52
- }));
53
- }
54
- };
55
- }
56
- exports.createFastApp = createFastApp;
57
- //# sourceMappingURL=fast-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fast-server.js","sourceRoot":"","sources":["../../../spec/dev/fast-server.ts"],"names":[],"mappings":";;;AACA,qCAA8E;AAK9E,SAAgB,aAAa,CAAC,OAAgB,EAAE,eAAgC;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,gBAAgB,CAAC,MAAM,EAAE;YACzB,GAAG,CAAC,GAAG,CACH,IAAI,CAAC,SAAS,CAAC;gBACX,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,CAAC;aACtD,CAAC,CACL,CAAC;SACL;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;YACpC,QAAQ;YACR,cAAc;YACd,aAAa;YACb,OAAO,EAAE;gBACL,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,UAAU;gBACxB,gBAAgB,EAAE,OAAO;aAC5B;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;gBACnC,MAAM,EAAE,UAAU;gBAClB,aAAa;gBACb,SAAS,EAAE,EAAE;gBACb,QAAQ;aACX,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,OAAO;SACV;QAED,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YACjC,GAAG,CAAC,GAAG,CACH,IAAI,CAAC,SAAS,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,KAAK;oBAChB,CAAC,CAAC;wBACI,IAAA,qBAAW,EACP,IAAI,sBAAY,CACZ,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,CAAC,KAAK,CACf,CACJ;qBACJ;oBACH,CAAC,CAAC,SAAS;aAClB,CAAC,CACL,CAAC;SACL;QAAC,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,GAAG,CACH,IAAI,CAAC,SAAS,CAAC;gBACX,MAAM,EAAE,CAAC,IAAA,qBAAW,EAAC,IAAI,sBAAY,CAAE,CAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5D,CAAC,CACL,CAAC;SACL;IACL,CAAC,CAAC;AACN,CAAC;AAlED,sCAkEC"}
@@ -1,12 +0,0 @@
1
- import { Project } from '../..';
2
- export declare function start(): Promise<void>;
3
- /**
4
- * starts an active GraphQL endpoint for testing and debugging the meta server API
5
- * @returns {Promise<void>} returns promise so that Mocha will wait till server was started
6
- */
7
- export declare function startMetaServer(project: Project): Promise<void>;
8
- /**
9
- * stops the active GraphQL endpoint at the end of debugging/testing
10
- * @returns {Promise<void>} used for graceful shutdown at the end of a test session.
11
- */
12
- export declare function stopMetaServer(): Promise<void>;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stopMetaServer = exports.startMetaServer = exports.start = void 0;
4
- const tslib_1 = require("tslib");
5
- const apollo_server_1 = require("apollo-server");
6
- const body_parser_1 = tslib_1.__importDefault(require("body-parser"));
7
- const cors_1 = tslib_1.__importDefault(require("cors"));
8
- const express_1 = tslib_1.__importDefault(require("express"));
9
- const path_1 = require("path");
10
- const __1 = require("../..");
11
- const global_1 = require("../../src/config/global");
12
- const inmemory_1 = require("../../src/database/inmemory");
13
- const meta_schema_1 = require("../../src/meta-schema/meta-schema");
14
- const project_from_fs_1 = require("../../src/project/project-from-fs");
15
- const log4js_logger_provider_1 = require("../helpers/log4js-logger-provider");
16
- const fast_server_1 = require("./fast-server");
17
- const port = 3000;
18
- const databaseName = 'cruddl';
19
- const databaseURL = 'http://root:@localhost:8529';
20
- // const databaseURL = 'http://root:@localhost:7050';
21
- async function start() {
22
- var _a, _b;
23
- const loggerProvider = new log4js_logger_provider_1.Log4jsLoggerProvider('trace');
24
- let db;
25
- if (process.argv.includes('--db=in-memory')) {
26
- db = new inmemory_1.InMemoryAdapter(undefined, { loggerProvider });
27
- }
28
- else {
29
- db = new __1.ArangoDBAdapter({
30
- databaseName,
31
- url: databaseURL,
32
- doNonMandatoryMigrations: true,
33
- createIndicesInBackground: true,
34
- }, { loggerProvider });
35
- }
36
- const project = await (0, project_from_fs_1.loadProjectFromDir)((0, path_1.resolve)(__dirname, './model'), {
37
- profileConsumer: (profile) => {
38
- logger.info(`${profile.operation.operation} ${profile.operation.name ? profile.operation.name.value : '<anonymous>'}: ${JSON.stringify(profile.timings, undefined, ' ')}`);
39
- },
40
- getOperationIdentifier: ({ context }) => context,
41
- getExecutionOptions: ({ context }) => {
42
- return {
43
- authContext: { authRoles: ['allusers'] },
44
- recordTimings: true,
45
- recordPlan: true,
46
- mutationMode: 'normal',
47
- disableAuthorization: false,
48
- //queryMemoryLimit: 1000000,
49
- cancellationToken: new Promise((resolve) => context.req.on('aborted', resolve)),
50
- };
51
- },
52
- /*processError(error: Error) {
53
- console.error(`Internal error: ${error.stack}`);
54
- return new Error(`Internal error`);
55
- },*/
56
- loggerProvider,
57
- });
58
- const schema = project.createSchema(db);
59
- const logger = global_1.globalContext.loggerProvider.getLogger('server');
60
- logger.info('Making sure schema is up to date...');
61
- await db.updateSchema(project.getModel());
62
- logger.info('Schema is up to date');
63
- if (process.argv.includes('--run-ttl-cleanup')) {
64
- const result = await project.executeTTLCleanupExt(db, {
65
- timeToLiveOptions: { cleanupLimit: 100, reduceLimitOnResourceLimits: true },
66
- });
67
- for (const type of result.types) {
68
- if (type.error) {
69
- logger.info(`${((_a = type.type.rootEntityType) === null || _a === void 0 ? void 0 : _a.name) || ''}: ${type.error.stack}`);
70
- }
71
- else {
72
- logger.info(`${((_b = type.type.rootEntityType) === null || _b === void 0 ? void 0 : _b.name) || ''}: ${type.deletedObjectsCount} / ${type.deletedObjectsCount}${type.hasReducedLimit ? ' (reduced)' : ''}${type.isComplete ? ' (complete)' : ''}`);
73
- }
74
- }
75
- }
76
- if (process.argv.includes('--print-ttl-info')) {
77
- logger.info(JSON.stringify(await project.getTTLInfo(db, {}), undefined, 2));
78
- }
79
- const server = new apollo_server_1.ApolloServer({
80
- schema: schema,
81
- context: (props) => props,
82
- });
83
- const fastServer = (0, express_1.default)();
84
- fastServer.use((0, cors_1.default)());
85
- fastServer.use(body_parser_1.default.json());
86
- fastServer.post('/', (0, fast_server_1.createFastApp)(project, db));
87
- fastServer.listen(3002);
88
- await server.listen({ port });
89
- logger.info(`Server started on http://localhost:${port}`);
90
- await startMetaServer(project);
91
- }
92
- exports.start = start;
93
- let expressServerReference;
94
- /**
95
- * starts an active GraphQL endpoint for testing and debugging the meta server API
96
- * @returns {Promise<void>} returns promise so that Mocha will wait till server was started
97
- */
98
- async function startMetaServer(project) {
99
- const logger = global_1.globalContext.loggerProvider.getLogger('server');
100
- const metaSchemaPort = port + 1;
101
- const metaSchemaServer = new apollo_server_1.ApolloServer({
102
- schema: (0, meta_schema_1.getMetaSchema)(project),
103
- context: { locale: 'en' },
104
- });
105
- expressServerReference = await metaSchemaServer.listen({ port: metaSchemaPort });
106
- logger.info(`Meta-Schema-Server started on http://localhost:${metaSchemaPort}`);
107
- }
108
- exports.startMetaServer = startMetaServer;
109
- /**
110
- * stops the active GraphQL endpoint at the end of debugging/testing
111
- * @returns {Promise<void>} used for graceful shutdown at the end of a test session.
112
- */
113
- async function stopMetaServer() {
114
- const logger = global_1.globalContext.loggerProvider.getLogger('server');
115
- if (expressServerReference && expressServerReference.close) {
116
- expressServerReference.close();
117
- }
118
- logger.info(`Meta-Schema-Server stopped`);
119
- }
120
- exports.stopMetaServer = stopMetaServer;
121
- //# sourceMappingURL=server.js.map