@commitspark/graphql-api 0.81.2 → 1.0.0-beta.1

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 (334) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +5 -6
  3. package/dist/cjs/client.js +65 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/graphql/{apollo-config-factory.service.js → apollo-config-factory.js} +12 -17
  6. package/dist/cjs/graphql/apollo-config-factory.js.map +1 -0
  7. package/dist/cjs/graphql/input-type-generator.js +94 -0
  8. package/dist/cjs/graphql/input-type-generator.js.map +1 -0
  9. package/dist/cjs/graphql/queries-mutations-generator.js +68 -0
  10. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -0
  11. package/dist/cjs/graphql/{resolver-generators/query-all-resolver-generator.js → resolvers/field-resolvers/entry-reference-resolver.js} +11 -15
  12. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
  13. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +81 -0
  14. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
  15. package/dist/cjs/graphql/{field-resolver/fieldResolver.js → resolvers/field-resolvers/types.js} +1 -1
  16. package/dist/cjs/graphql/resolvers/field-resolvers/types.js.map +1 -0
  17. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js +25 -0
  18. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
  19. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +53 -0
  20. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
  21. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +77 -0
  22. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
  23. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +53 -0
  24. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
  25. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +56 -0
  26. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
  27. package/dist/cjs/graphql/{resolver-generators/query-count-all-resolver-generator.js → resolvers/query-mutation-resolvers/query-all-resolver.js} +10 -15
  28. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +1 -0
  29. package/dist/cjs/graphql/{resolver-generators/query-type-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-by-id-resolver.js} +8 -13
  30. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
  31. package/dist/cjs/graphql/{resolver-generators/query-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-type-by-id-resolver.js} +7 -14
  32. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
  33. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +27 -0
  34. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
  35. package/dist/cjs/graphql/resolvers/types.js +3 -0
  36. package/dist/cjs/graphql/resolvers/types.js.map +1 -0
  37. package/dist/cjs/graphql/schema-analyzer.js +38 -0
  38. package/dist/cjs/graphql/schema-analyzer.js.map +1 -0
  39. package/dist/cjs/graphql/schema-generator.js +95 -0
  40. package/dist/cjs/graphql/schema-generator.js.map +1 -0
  41. package/dist/cjs/graphql/schema-root-type-generator.js +32 -0
  42. package/dist/cjs/graphql/schema-root-type-generator.js.map +1 -0
  43. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +107 -113
  44. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  45. package/dist/cjs/graphql/schema-utils/entry-type-util.js +24 -26
  46. package/dist/cjs/graphql/schema-utils/entry-type-util.js.map +1 -1
  47. package/dist/cjs/graphql/schema-utils/union-type-util.js +14 -16
  48. package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
  49. package/dist/cjs/graphql/schema-validator.js +23 -26
  50. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  51. package/dist/cjs/index.js +7 -7
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/cjs/persistence/persistence.js +66 -0
  54. package/dist/cjs/persistence/persistence.js.map +1 -0
  55. package/dist/esm/client.js +53 -0
  56. package/dist/esm/client.js.map +1 -0
  57. package/dist/esm/graphql/apollo-config-factory.js +12 -0
  58. package/dist/esm/graphql/apollo-config-factory.js.map +1 -0
  59. package/dist/esm/graphql/input-type-generator.js +89 -0
  60. package/dist/esm/graphql/input-type-generator.js.map +1 -0
  61. package/dist/esm/graphql/queries-mutations-generator.js +64 -0
  62. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -0
  63. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +10 -0
  64. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
  65. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +68 -0
  66. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
  67. package/dist/esm/graphql/resolvers/field-resolvers/types.js +2 -0
  68. package/dist/esm/graphql/resolvers/field-resolvers/types.js.map +1 -0
  69. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js +15 -0
  70. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
  71. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +50 -0
  72. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
  73. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +70 -0
  74. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
  75. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +49 -0
  76. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
  77. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +59 -0
  78. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
  79. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js +8 -0
  80. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +1 -0
  81. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js +6 -0
  82. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
  83. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js +5 -0
  84. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
  85. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +14 -0
  86. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
  87. package/dist/esm/graphql/resolvers/types.js +2 -0
  88. package/dist/esm/graphql/resolvers/types.js.map +1 -0
  89. package/dist/esm/graphql/schema-analyzer.js +34 -0
  90. package/dist/esm/graphql/schema-analyzer.js.map +1 -0
  91. package/dist/esm/graphql/schema-generator.js +89 -0
  92. package/dist/esm/graphql/schema-generator.js.map +1 -0
  93. package/dist/esm/graphql/schema-root-type-generator.js +29 -0
  94. package/dist/esm/graphql/schema-root-type-generator.js.map +1 -0
  95. package/dist/esm/graphql/schema-utils/entry-reference-util.js +99 -107
  96. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  97. package/dist/esm/graphql/schema-utils/entry-type-util.js +20 -23
  98. package/dist/esm/graphql/schema-utils/entry-type-util.js.map +1 -1
  99. package/dist/esm/graphql/schema-utils/union-type-util.js +12 -14
  100. package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
  101. package/dist/esm/graphql/schema-validator.js +18 -20
  102. package/dist/esm/graphql/schema-validator.js.map +1 -1
  103. package/dist/esm/index.js +6 -5
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/persistence/persistence.js +43 -0
  106. package/dist/esm/persistence/persistence.js.map +1 -0
  107. package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
  108. package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
  109. package/dist/tsconfig.build.types.tsbuildinfo +1 -1
  110. package/dist/types/client.d.ts +27 -0
  111. package/dist/types/client.d.ts.map +1 -0
  112. package/dist/types/graphql/apollo-config-factory.d.ts +4 -0
  113. package/dist/types/graphql/apollo-config-factory.d.ts.map +1 -0
  114. package/dist/types/graphql/input-type-generator.d.ts +6 -0
  115. package/dist/types/graphql/input-type-generator.d.ts.map +1 -0
  116. package/dist/types/graphql/queries-mutations-generator.d.ts +18 -0
  117. package/dist/types/graphql/queries-mutations-generator.d.ts.map +1 -0
  118. package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +3 -0
  119. package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
  120. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +3 -0
  121. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
  122. package/dist/types/graphql/resolvers/field-resolvers/types.d.ts +12 -0
  123. package/dist/types/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
  124. package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +3 -0
  125. package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
  126. package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +8 -0
  127. package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
  128. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +5 -0
  129. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
  130. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +5 -0
  131. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
  132. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +5 -0
  133. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
  134. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts +5 -0
  135. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts.map +1 -0
  136. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +5 -0
  137. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
  138. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +4 -0
  139. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
  140. package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +4 -0
  141. package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
  142. package/dist/types/graphql/resolvers/types.d.ts +8 -0
  143. package/dist/types/graphql/resolvers/types.d.ts.map +1 -0
  144. package/dist/types/graphql/{schema-analyzer.service.d.ts → schema-analyzer.d.ts} +3 -5
  145. package/dist/types/graphql/schema-analyzer.d.ts.map +1 -0
  146. package/dist/types/graphql/schema-generator.d.ts +4 -0
  147. package/dist/types/graphql/schema-generator.d.ts.map +1 -0
  148. package/dist/types/graphql/schema-root-type-generator.d.ts +3 -0
  149. package/dist/types/graphql/schema-root-type-generator.d.ts.map +1 -0
  150. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +2 -13
  151. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
  152. package/dist/types/graphql/schema-utils/entry-type-util.d.ts +3 -5
  153. package/dist/types/graphql/schema-utils/entry-type-util.d.ts.map +1 -1
  154. package/dist/types/graphql/schema-utils/union-type-util.d.ts +2 -4
  155. package/dist/types/graphql/schema-utils/union-type-util.d.ts.map +1 -1
  156. package/dist/types/graphql/schema-validator.d.ts +1 -4
  157. package/dist/types/graphql/schema-validator.d.ts.map +1 -1
  158. package/dist/types/index.d.ts +8 -3
  159. package/dist/types/index.d.ts.map +1 -1
  160. package/dist/types/persistence/persistence.d.ts +6 -0
  161. package/dist/types/persistence/persistence.d.ts.map +1 -0
  162. package/package.json +2 -2
  163. package/src/client.ts +114 -0
  164. package/src/graphql/apollo-config-factory.ts +17 -0
  165. package/src/graphql/input-type-generator.ts +126 -0
  166. package/src/graphql/queries-mutations-generator.ts +136 -0
  167. package/src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts +22 -0
  168. package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +107 -0
  169. package/src/graphql/{field-resolver/fieldResolver.ts → resolvers/field-resolvers/types.ts} +5 -4
  170. package/src/graphql/resolvers/field-resolvers/union-value-resolver.ts +24 -0
  171. package/src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts +91 -0
  172. package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +108 -0
  173. package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +81 -0
  174. package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +114 -0
  175. package/src/graphql/resolvers/query-mutation-resolvers/query-all-resolver.ts +21 -0
  176. package/src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts +20 -0
  177. package/src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts +12 -0
  178. package/src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts +19 -0
  179. package/src/graphql/resolvers/types.ts +14 -0
  180. package/src/graphql/schema-analyzer.ts +55 -0
  181. package/src/graphql/schema-generator.ts +161 -0
  182. package/src/graphql/schema-root-type-generator.ts +35 -0
  183. package/src/graphql/schema-utils/entry-reference-util.ts +152 -166
  184. package/src/graphql/schema-utils/entry-type-util.ts +25 -28
  185. package/src/graphql/schema-utils/union-type-util.ts +13 -15
  186. package/src/graphql/schema-validator.ts +29 -31
  187. package/src/index.ts +26 -5
  188. package/src/persistence/persistence.ts +72 -0
  189. package/dist/cjs/app/api.service.js +0 -74
  190. package/dist/cjs/app/api.service.js.map +0 -1
  191. package/dist/cjs/container.js +0 -53
  192. package/dist/cjs/container.js.map +0 -1
  193. package/dist/cjs/graphql/apollo-config-factory.service.js.map +0 -1
  194. package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js +0 -26
  195. package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
  196. package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js +0 -73
  197. package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
  198. package/dist/cjs/graphql/field-resolver/fieldResolver.js.map +0 -1
  199. package/dist/cjs/graphql/field-resolver/union-value-resolver.js +0 -21
  200. package/dist/cjs/graphql/field-resolver/union-value-resolver.js.map +0 -1
  201. package/dist/cjs/graphql/input-type-generator.service.js +0 -97
  202. package/dist/cjs/graphql/input-type-generator.service.js.map +0 -1
  203. package/dist/cjs/graphql/queries-mutations-generator.service.js +0 -82
  204. package/dist/cjs/graphql/queries-mutations-generator.service.js.map +0 -1
  205. package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -83
  206. package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
  207. package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -60
  208. package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
  209. package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -62
  210. package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
  211. package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -58
  212. package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
  213. package/dist/cjs/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
  214. package/dist/cjs/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
  215. package/dist/cjs/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
  216. package/dist/cjs/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
  217. package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js +0 -33
  218. package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
  219. package/dist/cjs/graphql/schema-analyzer.service.js +0 -41
  220. package/dist/cjs/graphql/schema-analyzer.service.js.map +0 -1
  221. package/dist/cjs/graphql/schema-generator.service.js +0 -103
  222. package/dist/cjs/graphql/schema-generator.service.js.map +0 -1
  223. package/dist/cjs/graphql/schema-root-type-generator.service.js +0 -39
  224. package/dist/cjs/graphql/schema-root-type-generator.service.js.map +0 -1
  225. package/dist/cjs/persistence/persistence.service.js +0 -66
  226. package/dist/cjs/persistence/persistence.service.js.map +0 -1
  227. package/dist/esm/app/api.service.js +0 -61
  228. package/dist/esm/app/api.service.js.map +0 -1
  229. package/dist/esm/container.js +0 -50
  230. package/dist/esm/container.js.map +0 -1
  231. package/dist/esm/graphql/apollo-config-factory.service.js +0 -17
  232. package/dist/esm/graphql/apollo-config-factory.service.js.map +0 -1
  233. package/dist/esm/graphql/field-resolver/entry-reference-resolver.js +0 -13
  234. package/dist/esm/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
  235. package/dist/esm/graphql/field-resolver/field-default-value-resolver.js +0 -73
  236. package/dist/esm/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
  237. package/dist/esm/graphql/field-resolver/fieldResolver.js +0 -2
  238. package/dist/esm/graphql/field-resolver/fieldResolver.js.map +0 -1
  239. package/dist/esm/graphql/field-resolver/union-value-resolver.js +0 -22
  240. package/dist/esm/graphql/field-resolver/union-value-resolver.js.map +0 -1
  241. package/dist/esm/graphql/input-type-generator.service.js +0 -94
  242. package/dist/esm/graphql/input-type-generator.service.js.map +0 -1
  243. package/dist/esm/graphql/queries-mutations-generator.service.js +0 -85
  244. package/dist/esm/graphql/queries-mutations-generator.service.js.map +0 -1
  245. package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -78
  246. package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
  247. package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -58
  248. package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
  249. package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -67
  250. package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
  251. package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -55
  252. package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
  253. package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js +0 -15
  254. package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
  255. package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js +0 -13
  256. package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
  257. package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js +0 -14
  258. package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
  259. package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js +0 -12
  260. package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
  261. package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js +0 -22
  262. package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
  263. package/dist/esm/graphql/schema-analyzer.service.js +0 -36
  264. package/dist/esm/graphql/schema-analyzer.service.js.map +0 -1
  265. package/dist/esm/graphql/schema-generator.service.js +0 -103
  266. package/dist/esm/graphql/schema-generator.service.js.map +0 -1
  267. package/dist/esm/graphql/schema-root-type-generator.service.js +0 -35
  268. package/dist/esm/graphql/schema-root-type-generator.service.js.map +0 -1
  269. package/dist/esm/persistence/persistence.service.js +0 -45
  270. package/dist/esm/persistence/persistence.service.js.map +0 -1
  271. package/dist/types/app/api.service.d.ts +0 -34
  272. package/dist/types/app/api.service.d.ts.map +0 -1
  273. package/dist/types/container.d.ts +0 -3
  274. package/dist/types/container.d.ts.map +0 -1
  275. package/dist/types/graphql/apollo-config-factory.service.d.ts +0 -9
  276. package/dist/types/graphql/apollo-config-factory.service.d.ts.map +0 -1
  277. package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts +0 -11
  278. package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts.map +0 -1
  279. package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts +0 -15
  280. package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts.map +0 -1
  281. package/dist/types/graphql/field-resolver/fieldResolver.d.ts +0 -11
  282. package/dist/types/graphql/field-resolver/fieldResolver.d.ts.map +0 -1
  283. package/dist/types/graphql/field-resolver/union-value-resolver.d.ts +0 -11
  284. package/dist/types/graphql/field-resolver/union-value-resolver.d.ts.map +0 -1
  285. package/dist/types/graphql/input-type-generator.service.d.ts +0 -12
  286. package/dist/types/graphql/input-type-generator.service.d.ts.map +0 -1
  287. package/dist/types/graphql/queries-mutations-generator.service.d.ts +0 -39
  288. package/dist/types/graphql/queries-mutations-generator.service.d.ts.map +0 -1
  289. package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts +0 -12
  290. package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts.map +0 -1
  291. package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts +0 -12
  292. package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts.map +0 -1
  293. package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts +0 -13
  294. package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts.map +0 -1
  295. package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts +0 -13
  296. package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts.map +0 -1
  297. package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts +0 -10
  298. package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts.map +0 -1
  299. package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts +0 -10
  300. package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts.map +0 -1
  301. package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts +0 -10
  302. package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts.map +0 -1
  303. package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts +0 -9
  304. package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts.map +0 -1
  305. package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts +0 -11
  306. package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts.map +0 -1
  307. package/dist/types/graphql/schema-analyzer.service.d.ts.map +0 -1
  308. package/dist/types/graphql/schema-generator.service.d.ts +0 -21
  309. package/dist/types/graphql/schema-generator.service.d.ts.map +0 -1
  310. package/dist/types/graphql/schema-root-type-generator.service.d.ts +0 -5
  311. package/dist/types/graphql/schema-root-type-generator.service.d.ts.map +0 -1
  312. package/dist/types/persistence/persistence.service.d.ts +0 -8
  313. package/dist/types/persistence/persistence.service.d.ts.map +0 -1
  314. package/src/app/api.service.ts +0 -121
  315. package/src/container.ts +0 -106
  316. package/src/graphql/apollo-config-factory.service.ts +0 -21
  317. package/src/graphql/field-resolver/entry-reference-resolver.ts +0 -47
  318. package/src/graphql/field-resolver/field-default-value-resolver.ts +0 -152
  319. package/src/graphql/field-resolver/union-value-resolver.ts +0 -46
  320. package/src/graphql/input-type-generator.service.ts +0 -127
  321. package/src/graphql/queries-mutations-generator.service.ts +0 -154
  322. package/src/graphql/resolver-generators/mutation-create-resolver-generator.ts +0 -120
  323. package/src/graphql/resolver-generators/mutation-delete-resolver-generator.ts +0 -96
  324. package/src/graphql/resolver-generators/mutation-update-resolver-generator.ts +0 -127
  325. package/src/graphql/resolver-generators/object-type-field-default-value-resolver-generator.ts +0 -117
  326. package/src/graphql/resolver-generators/query-all-resolver-generator.ts +0 -29
  327. package/src/graphql/resolver-generators/query-by-id-resolver-generator.ts +0 -23
  328. package/src/graphql/resolver-generators/query-count-all-resolver-generator.ts +0 -29
  329. package/src/graphql/resolver-generators/query-type-by-id-resolver-generator.ts +0 -27
  330. package/src/graphql/resolver-generators/union-type-resolver-generator.ts +0 -38
  331. package/src/graphql/schema-analyzer.service.ts +0 -57
  332. package/src/graphql/schema-generator.service.ts +0 -178
  333. package/src/graphql/schema-root-type-generator.service.ts +0 -44
  334. package/src/persistence/persistence.service.ts +0 -74
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mutationCreateResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const graphql_1 = require("graphql");
15
+ const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
16
+ const git_adapter_1 = require("@commitspark/git-adapter");
17
+ const mutationCreateResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
18
+ var _a;
19
+ if (!(0, graphql_1.isObjectType)(info.returnType)) {
20
+ throw new Error('Expected to create an ObjectType');
21
+ }
22
+ const idValidationResult = args.id.match(git_adapter_1.ENTRY_ID_INVALID_CHARACTERS);
23
+ if (idValidationResult) {
24
+ throw new graphql_1.GraphQLError(`"id" contains invalid characters "${idValidationResult.join(', ')}"`, {
25
+ extensions: {
26
+ code: 'BAD_USER_INPUT',
27
+ argumentName: 'id',
28
+ },
29
+ });
30
+ }
31
+ let existingEntry;
32
+ try {
33
+ existingEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), args.id);
34
+ }
35
+ catch (_) {
36
+ /* empty */
37
+ }
38
+ if (existingEntry) {
39
+ throw new graphql_1.GraphQLError(`An entry with id "${args.id}" already exists`, {
40
+ extensions: {
41
+ code: 'BAD_USER_INPUT',
42
+ argumentName: 'id',
43
+ },
44
+ });
45
+ }
46
+ const referencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(info.returnType, context, null, info.returnType, args.data);
47
+ const referencedEntryUpdates = [];
48
+ for (const referencedEntryId of referencedEntryIds) {
49
+ const referencedEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
50
+ const newReferencedEntryIds = [
51
+ ...((_a = referencedEntry.metadata.referencedBy) !== null && _a !== void 0 ? _a : []),
52
+ args.id,
53
+ ].sort();
54
+ const newReferencedEntryDraft = Object.assign(Object.assign({}, referencedEntry), { metadata: Object.assign(Object.assign({}, referencedEntry.metadata), { referencedBy: newReferencedEntryIds }), deletion: false });
55
+ referencedEntryUpdates.push(newReferencedEntryDraft);
56
+ }
57
+ const newEntryDraft = {
58
+ id: args.id,
59
+ metadata: {
60
+ type: context.type.name,
61
+ referencedBy: [],
62
+ },
63
+ data: args.data,
64
+ deletion: false,
65
+ };
66
+ const commit = yield context.gitAdapter.createCommit({
67
+ ref: context.branch,
68
+ parentSha: context.getCurrentRef(),
69
+ entries: [newEntryDraft, ...referencedEntryUpdates],
70
+ message: args.commitMessage,
71
+ });
72
+ context.setCurrentRef(commit.ref);
73
+ const newEntry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
74
+ return Object.assign(Object.assign({}, newEntry.data), { id: newEntry.id });
75
+ });
76
+ exports.mutationCreateResolver = mutationCreateResolver;
77
+ //# sourceMappingURL=mutation-create-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-create-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mutationDeleteResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
15
+ const graphql_1 = require("graphql");
16
+ const mutationDeleteResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
17
+ var _a;
18
+ const entry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
19
+ if (entry.metadata.referencedBy && entry.metadata.referencedBy.length > 0) {
20
+ const otherIds = entry.metadata.referencedBy
21
+ .map((referenceId) => `"${referenceId}"`)
22
+ .join(', ');
23
+ throw new graphql_1.GraphQLError(`Entry with id "${args.id}" is referenced by other entries: [${otherIds}]`, {
24
+ extensions: {
25
+ code: 'IN_USE',
26
+ argumentName: 'id',
27
+ },
28
+ });
29
+ }
30
+ const entryType = info.schema.getType(context.type.name);
31
+ if (!(0, graphql_1.isObjectType)(entryType)) {
32
+ throw new Error('Expected to delete an ObjectType');
33
+ }
34
+ const referencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(entryType, context, null, entryType, entry.data);
35
+ const referencedEntryUpdates = [];
36
+ for (const referencedEntryId of referencedEntryIds) {
37
+ const noLongerReferencedEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
38
+ referencedEntryUpdates.push(Object.assign(Object.assign({}, noLongerReferencedEntry), { metadata: Object.assign(Object.assign({}, noLongerReferencedEntry.metadata), { referencedBy: (_a = noLongerReferencedEntry.metadata.referencedBy) === null || _a === void 0 ? void 0 : _a.filter((entryId) => entryId !== args.id) }), deletion: false }));
39
+ }
40
+ const commit = yield context.gitAdapter.createCommit({
41
+ ref: context.branch,
42
+ parentSha: context.getCurrentRef(),
43
+ entries: [
44
+ Object.assign(Object.assign({}, entry), { deletion: true }),
45
+ ...referencedEntryUpdates,
46
+ ],
47
+ message: args.commitMessage,
48
+ });
49
+ context.setCurrentRef(commit.ref);
50
+ return args.id;
51
+ });
52
+ exports.mutationDeleteResolver = mutationDeleteResolver;
53
+ //# sourceMappingURL=mutation-delete-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-delete-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyE;AAEzE,kFAA+E;AAC/E,qCAA0E;AAGnE,MAAM,sBAAsB,GAK/B,CAAO,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;IACxC,MAAM,KAAK,GAAU,MAAM,IAAA,0BAAY,EACrC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;aACzC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,IAAI,sBAAY,CACpB,kBAAkB,IAAI,CAAC,EAAE,sCAAsC,QAAQ,GAAG,EAC1E;YACE,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,IAAI;aACnB;SACF,CACF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,4CAAqB,EACpD,SAAS,EACT,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAA;IACD,MAAM,sBAAsB,GAAiB,EAAE,CAAA;IAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,uBAAuB,GAAG,MAAM,IAAA,sBAAQ,EAC5C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,iBAAiB,CAClB,CAAA;QACD,sBAAsB,CAAC,IAAI,iCACtB,uBAAuB,KAC1B,QAAQ,kCACH,uBAAuB,CAAC,QAAQ,KACnC,YAAY,EAAE,MAAA,uBAAuB,CAAC,QAAQ,CAAC,YAAY,0CAAE,MAAM,CACjE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CACjC,KAEH,QAAQ,EAAE,KAAK,IACf,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE;QAClC,OAAO,EAAE;4CAEF,KAAK,KACR,QAAQ,EAAE,IAAI;YAEhB,GAAG,sBAAsB;SAC1B;QACD,OAAO,EAAE,IAAI,CAAC,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA,CAAA;AA1EY,QAAA,sBAAsB,0BA0ElC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mutationUpdateResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
15
+ const graphql_1 = require("graphql");
16
+ function mergeData(existingEntryData, updateData) {
17
+ return Object.assign(Object.assign({}, existingEntryData), updateData);
18
+ }
19
+ const mutationUpdateResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
20
+ var _a, _b, _c;
21
+ if (!(0, graphql_1.isObjectType)(info.returnType)) {
22
+ throw new Error('Expected to update an ObjectType');
23
+ }
24
+ const existingEntry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
25
+ const existingReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(info.returnType, context, null, info.returnType, existingEntry.data);
26
+ const mergedData = mergeData((_a = existingEntry.data) !== null && _a !== void 0 ? _a : null, args.data);
27
+ const updatedReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(info.returnType, context, null, info.returnType, mergedData);
28
+ const noLongerReferencedIds = existingReferencedEntryIds.filter((entryId) => !updatedReferencedEntryIds.includes(entryId));
29
+ const newlyReferencedIds = updatedReferencedEntryIds.filter((entryId) => !existingReferencedEntryIds.includes(entryId));
30
+ const referencedEntryUpdates = [];
31
+ for (const noLongerReferencedEntryId of noLongerReferencedIds) {
32
+ const noLongerReferencedEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), noLongerReferencedEntryId);
33
+ referencedEntryUpdates.push(Object.assign(Object.assign({}, noLongerReferencedEntry), { metadata: Object.assign(Object.assign({}, noLongerReferencedEntry.metadata), { referencedBy: (_b = noLongerReferencedEntry.metadata.referencedBy) === null || _b === void 0 ? void 0 : _b.filter((entryId) => entryId !== args.id) }), deletion: false }));
34
+ }
35
+ for (const newlyReferencedEntryId of newlyReferencedIds) {
36
+ const newlyReferencedEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), newlyReferencedEntryId);
37
+ const updatedReferenceList = (_c = newlyReferencedEntry.metadata.referencedBy) !== null && _c !== void 0 ? _c : [];
38
+ updatedReferenceList.push(args.id);
39
+ updatedReferenceList.sort();
40
+ referencedEntryUpdates.push(Object.assign(Object.assign({}, newlyReferencedEntry), { metadata: Object.assign(Object.assign({}, newlyReferencedEntry.metadata), { referencedBy: updatedReferenceList }), deletion: false }));
41
+ }
42
+ const commit = yield context.gitAdapter.createCommit({
43
+ ref: context.branch,
44
+ parentSha: context.getCurrentRef(),
45
+ entries: [
46
+ Object.assign(Object.assign({}, existingEntry), { data: mergedData, deletion: false }),
47
+ ...referencedEntryUpdates,
48
+ ],
49
+ message: args.commitMessage,
50
+ });
51
+ context.setCurrentRef(commit.ref);
52
+ const updatedEntry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
53
+ return Object.assign(Object.assign({}, updatedEntry.data), { id: updatedEntry.id });
54
+ });
55
+ exports.mutationUpdateResolver = mutationUpdateResolver;
56
+ //# sourceMappingURL=mutation-update-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-update-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.QueryCountAllResolverGenerator = void 0;
13
- class QueryCountAllResolverGenerator {
14
- constructor(persistence) {
15
- this.persistence = persistence;
16
- }
17
- createResolver(typeName) {
18
- return (obj, args, context, info) => __awaiter(this, void 0, void 0, function* () {
19
- return {
20
- count: (yield this.persistence.findByType(context.gitAdapter, context.getCurrentRef(), typeName)).length,
21
- };
22
- });
23
- }
24
- }
25
- exports.QueryCountAllResolverGenerator = QueryCountAllResolverGenerator;
26
- //# sourceMappingURL=query-count-all-resolver-generator.js.map
12
+ exports.queryAllResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const queryAllResolver = (obj, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
15
+ const entries = yield (0, persistence_1.findByType)(context.gitAdapter, context.getCurrentRef(), context.type.name);
16
+ return entries.map((entry) => {
17
+ return Object.assign(Object.assign({}, entry.data), { id: entry.id });
18
+ });
19
+ });
20
+ exports.queryAllResolver = queryAllResolver;
21
+ //# sourceMappingURL=query-all-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-all-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-all-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA6D;AAItD,MAAM,gBAAgB,GAKzB,CAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAU,EAC9B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAClB,CAAA;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
@@ -9,16 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.QueryTypeByIdResolverGenerator = void 0;
13
- class QueryTypeByIdResolverGenerator {
14
- constructor(persistence) {
15
- this.persistence = persistence;
16
- }
17
- createResolver() {
18
- return (source, args, context, info) => __awaiter(this, void 0, void 0, function* () {
19
- return this.persistence.getTypeById(context.gitAdapter, context.getCurrentRef(), args.id);
20
- });
21
- }
22
- }
23
- exports.QueryTypeByIdResolverGenerator = QueryTypeByIdResolverGenerator;
24
- //# sourceMappingURL=query-type-by-id-resolver-generator.js.map
12
+ exports.queryByIdResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const queryByIdResolver = (obj, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
15
+ const entry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
16
+ return Object.assign(Object.assign({}, entry.data), { id: entry.id });
17
+ });
18
+ exports.queryByIdResolver = queryByIdResolver;
19
+ //# sourceMappingURL=query-by-id-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA+D;AAIxD,MAAM,iBAAiB,GAK1B,CAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAY,EAC9B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;IAED,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;AACxC,CAAC,CAAA,CAAA;AAdY,QAAA,iBAAiB,qBAc7B"}
@@ -9,17 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.QueryByIdResolverGenerator = void 0;
13
- class QueryByIdResolverGenerator {
14
- constructor(persistence) {
15
- this.persistence = persistence;
16
- }
17
- createResolver(typeName) {
18
- return (obj, args, context, info) => __awaiter(this, void 0, void 0, function* () {
19
- const entry = yield this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
20
- return Object.assign(Object.assign({}, entry.data), { id: entry.id });
21
- });
22
- }
23
- }
24
- exports.QueryByIdResolverGenerator = QueryByIdResolverGenerator;
25
- //# sourceMappingURL=query-by-id-resolver-generator.js.map
12
+ exports.queryTypeByIdResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const queryTypeByIdResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
15
+ return (0, persistence_1.getTypeById)(context.gitAdapter, context.getCurrentRef(), args.id);
16
+ });
17
+ exports.queryTypeByIdResolver = queryTypeByIdResolver;
18
+ //# sourceMappingURL=query-type-by-id-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-type-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAA8D;AAIvD,MAAM,qBAAqB,GAK9B,CAAO,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACxC,OAAO,IAAA,yBAAW,EAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1E,CAAC,CAAA,CAAA;AAPY,QAAA,qBAAqB,yBAOjC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.unionTypeResolver = void 0;
13
+ const persistence_1 = require("../../../persistence/persistence");
14
+ const entry_type_util_1 = require("../../schema-utils/entry-type-util");
15
+ const unionTypeResolver = (obj, context, info, abstractType) => __awaiter(void 0, void 0, void 0, function* () {
16
+ if ((0, entry_type_util_1.buildsOnTypeWithEntryDirective)(abstractType)) {
17
+ return (0, persistence_1.getTypeById)(context.gitAdapter, context.getCurrentRef(), obj.id);
18
+ }
19
+ else {
20
+ // We have injected an internal `__typename` field into the data of fields pointing to a non-entry union
21
+ // in UnionValueResolver. This artificial field holds the type information we need here.
22
+ return obj.__typename;
23
+ }
24
+ // TODO same for interface type: https://www.apollographql.com/docs/apollo-server/data/resolvers/#resolving-unions-and-interfaces
25
+ });
26
+ exports.unionTypeResolver = unionTypeResolver;
27
+ //# sourceMappingURL=union-type-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-type-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA8D;AAE9D,wEAAmF;AAE5E,MAAM,iBAAiB,GAG1B,CAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;IAC7C,IAAI,IAAA,gDAA8B,EAAC,YAAY,CAAC,EAAE,CAAC;QACjD,OAAO,IAAA,yBAAW,EAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,wGAAwG;QACxG,wFAAwF;QACxF,OAAO,GAAG,CAAC,UAAU,CAAA;IACvB,CAAC;IAED,iIAAiI;AACnI,CAAC,CAAA,CAAA;AAbY,QAAA,iBAAiB,qBAa7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/graphql/resolvers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeSchema = analyzeSchema;
4
+ const graphql_1 = require("graphql");
5
+ const utils_1 = require("@graphql-tools/utils");
6
+ function analyzeSchema(schema) {
7
+ var _a;
8
+ const result = {
9
+ entryDirectiveTypes: [],
10
+ objectTypes: [],
11
+ interfaceTypes: [],
12
+ unionTypes: [],
13
+ };
14
+ const typeMap = schema.getTypeMap();
15
+ for (const [key, type] of Object.entries(typeMap)) {
16
+ if (key.startsWith('__')) {
17
+ continue;
18
+ }
19
+ if ((0, graphql_1.isObjectType)(type)) {
20
+ const objectType = type;
21
+ result.objectTypes.push(objectType);
22
+ const entityDirective = (_a = (0, utils_1.getDirective)(schema, objectType, 'Entry')) === null || _a === void 0 ? void 0 : _a[0];
23
+ if (entityDirective) {
24
+ result.entryDirectiveTypes.push(objectType);
25
+ }
26
+ }
27
+ if ((0, graphql_1.isInterfaceType)(type)) {
28
+ const interfaceType = type;
29
+ result.interfaceTypes.push(interfaceType);
30
+ }
31
+ if ((0, graphql_1.isUnionType)(type)) {
32
+ const unionType = type;
33
+ result.unionTypes.push(unionType);
34
+ }
35
+ }
36
+ return result;
37
+ }
38
+ //# sourceMappingURL=schema-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-analyzer.js","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.ts"],"names":[],"mappings":";;AAWA,sCAoCC;AA/CD,qCAQgB;AAChB,gDAAmD;AAEnD,SAAgB,aAAa,CAAC,MAAqB;;IACjD,MAAM,MAAM,GAAyB;QACnC,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;KACf,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QAED,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,IAAyB,CAAA;YAC5C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,MAAM,eAAe,GAAG,MAAA,IAAA,oBAAY,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,0CAAG,CAAC,CAAC,CAAA;YACtE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,IAAA,yBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,IAA4B,CAAA;YAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAwB,CAAA;YAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generateSchema = generateSchema;
13
+ const queries_mutations_generator_1 = require("./queries-mutations-generator");
14
+ const schema_1 = require("@graphql-tools/schema");
15
+ const schema_analyzer_1 = require("./schema-analyzer");
16
+ const input_type_generator_1 = require("./input-type-generator");
17
+ const schema_root_type_generator_1 = require("./schema-root-type-generator");
18
+ const utils_1 = require("@graphql-tools/utils");
19
+ const union_type_resolver_1 = require("./resolvers/query-mutation-resolvers/union-type-resolver");
20
+ const schema_validator_1 = require("./schema-validator");
21
+ const object_type_field_default_value_resolver_generator_1 = require("./resolvers/object-type-field-default-value-resolver-generator");
22
+ function generateSchema(context) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ var _a, _b, _c;
25
+ const originalSchemaString = yield context.gitAdapter.getSchema(context.getCurrentRef());
26
+ const schema = (0, schema_1.makeExecutableSchema)({
27
+ typeDefs: originalSchemaString,
28
+ });
29
+ const validationResult = (0, schema_validator_1.getValidationResult)(schema);
30
+ if (validationResult.length > 0) {
31
+ throw new Error(validationResult.join('\n'));
32
+ }
33
+ const schemaAnalyzerResult = (0, schema_analyzer_1.analyzeSchema)(schema);
34
+ const filteredOriginalSchemaString = (0, utils_1.printSchemaWithDirectives)(schema) + '\n';
35
+ const generatedIdInputTypeStrings = (0, input_type_generator_1.generateIdInputTypeStrings)(schemaAnalyzerResult);
36
+ const generatedQueriesMutations = (0, queries_mutations_generator_1.generateQueriesAndMutations)(schemaAnalyzerResult.entryDirectiveTypes);
37
+ const generatedTypeNameQuery = (0, queries_mutations_generator_1.generateTypeNameQuery)();
38
+ const generatedEntryReferenceResolvers = {};
39
+ const generatedObjectInputTypeStrings = (0, input_type_generator_1.generateObjectInputTypeStrings)(schemaAnalyzerResult.objectTypes);
40
+ const generatedUnionInputTypeStrings = (0, input_type_generator_1.generateUnionInputTypeStrings)(schemaAnalyzerResult.unionTypes);
41
+ const generatedSchemaRootTypeStrings = (0, schema_root_type_generator_1.generateSchemaRootTypeStrings)(generatedQueriesMutations, generatedTypeNameQuery);
42
+ const generatedSchemaString = `schema {
43
+ query: Query
44
+ mutation: Mutation
45
+ }
46
+
47
+ ${generatedSchemaRootTypeStrings}`;
48
+ const generatedUnionTypeResolvers = {};
49
+ for (const unionType of schemaAnalyzerResult.unionTypes) {
50
+ generatedUnionTypeResolvers[unionType.name] = {
51
+ __resolveType: union_type_resolver_1.unionTypeResolver,
52
+ };
53
+ }
54
+ const generatedObjectTypeFieldResolvers = (0, object_type_field_default_value_resolver_generator_1.createObjectTypeFieldResolvers)(schema);
55
+ const generatedQueryResolvers = {};
56
+ const generatedMutationResolvers = {};
57
+ for (const element of generatedQueriesMutations) {
58
+ generatedQueryResolvers[element.queryAll.name] = element.queryAll.resolver;
59
+ generatedQueryResolvers[element.queryById.name] = element.queryById.resolver;
60
+ generatedMutationResolvers[element.createMutation.name] =
61
+ element.createMutation.resolver;
62
+ generatedMutationResolvers[element.updateMutation.name] =
63
+ element.updateMutation.resolver;
64
+ generatedMutationResolvers[element.deleteMutation.name] =
65
+ element.deleteMutation.resolver;
66
+ }
67
+ generatedQueryResolvers[generatedTypeNameQuery.name] =
68
+ generatedTypeNameQuery.resolver;
69
+ const allGeneratedResolvers = {
70
+ Query: generatedQueryResolvers,
71
+ Mutation: generatedMutationResolvers,
72
+ };
73
+ for (const typeName of Object.keys(generatedUnionTypeResolvers)) {
74
+ allGeneratedResolvers[typeName] = Object.assign(Object.assign({}, ((_a = allGeneratedResolvers[typeName]) !== null && _a !== void 0 ? _a : {})), generatedUnionTypeResolvers[typeName]);
75
+ }
76
+ for (const typeName of Object.keys(generatedObjectTypeFieldResolvers)) {
77
+ allGeneratedResolvers[typeName] = Object.assign(Object.assign({}, ((_b = allGeneratedResolvers[typeName]) !== null && _b !== void 0 ? _b : {})), generatedObjectTypeFieldResolvers[typeName]);
78
+ }
79
+ for (const typeName of Object.keys(generatedEntryReferenceResolvers)) {
80
+ allGeneratedResolvers[typeName] = Object.assign(Object.assign({}, ((_c = allGeneratedResolvers[typeName]) !== null && _c !== void 0 ? _c : {})), generatedEntryReferenceResolvers[typeName]);
81
+ }
82
+ const typeDefs = [
83
+ filteredOriginalSchemaString,
84
+ generatedSchemaString,
85
+ generatedIdInputTypeStrings.join('\n'),
86
+ generatedObjectInputTypeStrings.join('\n'),
87
+ generatedUnionInputTypeStrings.join('\n'),
88
+ ].filter((typeDef) => typeDef.length > 0);
89
+ return {
90
+ typeDefs: typeDefs,
91
+ resolvers: allGeneratedResolvers,
92
+ };
93
+ });
94
+ }
95
+ //# sourceMappingURL=schema-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSchemaRootTypeStrings = generateSchemaRootTypeStrings;
4
+ function generateSchemaRootTypeStrings(generatedSchemas, typeQuery) {
5
+ return (`type Query {\n` +
6
+ generatedSchemas
7
+ .map((generated) => ' ' + generated.queryAll.schemaString)
8
+ .join('\n') +
9
+ '\n' +
10
+ generatedSchemas
11
+ .map((generated) => ' ' + generated.queryById.schemaString)
12
+ .join('\n') +
13
+ '\n' +
14
+ ` ${typeQuery.schemaString}` +
15
+ '\n' +
16
+ '}\n\n' +
17
+ 'type Mutation {\n' +
18
+ generatedSchemas
19
+ .map((generated) => ' ' + generated.createMutation.schemaString)
20
+ .join('\n') +
21
+ '\n' +
22
+ generatedSchemas
23
+ .map((generated) => ' ' + generated.updateMutation.schemaString)
24
+ .join('\n') +
25
+ '\n' +
26
+ generatedSchemas
27
+ .map((generated) => ' ' + generated.deleteMutation.schemaString)
28
+ .join('\n') +
29
+ '\n' +
30
+ '}\n');
31
+ }
32
+ //# sourceMappingURL=schema-root-type-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":";;AAEA,sEAgCC;AAhCD,SAAgB,6BAA6B,CAC3C,gBAAmC,EACnC,SAA0C;IAE1C,OAAO,CACL,gBAAgB;QAChB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,SAAS,CAAC,YAAY,EAAE;QAC7B,IAAI;QACJ,OAAO;QACP,mBAAmB;QACnB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,CACN,CAAA;AACH,CAAC"}