@ptc-org/nestjs-query-graphql 0.30.1 → 1.0.0-alpha.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 (452) hide show
  1. package/CHANGELOG.md +149 -149
  2. package/README.md +4 -4
  3. package/package.json +7 -6
  4. package/src/auth/authorizer.d.ts +26 -0
  5. package/src/auth/authorizer.js +12 -0
  6. package/src/auth/authorizer.js.map +1 -0
  7. package/src/auth/default-crud.authorizer.d.ts +6 -0
  8. package/src/auth/default-crud.authorizer.js +74 -0
  9. package/src/auth/default-crud.authorizer.js.map +1 -0
  10. package/src/auth/index.d.ts +3 -0
  11. package/src/auth/index.js +7 -0
  12. package/src/auth/index.js.map +1 -0
  13. package/src/auth/tokens.d.ts +3 -0
  14. package/src/auth/tokens.js +8 -0
  15. package/src/auth/tokens.js.map +1 -0
  16. package/src/common/dto.utils.d.ts +15 -0
  17. package/src/common/dto.utils.js +32 -0
  18. package/src/common/dto.utils.js.map +1 -0
  19. package/src/common/external.utils.d.ts +10 -0
  20. package/src/common/external.utils.js +33 -0
  21. package/src/common/external.utils.js.map +1 -0
  22. package/src/common/index.d.ts +4 -0
  23. package/src/common/index.js +11 -0
  24. package/src/common/index.js.map +1 -0
  25. package/src/common/object.utils.d.ts +1 -0
  26. package/src/common/object.utils.js +14 -0
  27. package/src/common/object.utils.js.map +1 -0
  28. package/src/common/resolver.utils.d.ts +2 -0
  29. package/src/common/resolver.utils.js +19 -0
  30. package/src/common/resolver.utils.js.map +1 -0
  31. package/src/decorators/aggregate-query-param.decorator.d.ts +1 -0
  32. package/src/decorators/aggregate-query-param.decorator.js +21 -0
  33. package/src/decorators/aggregate-query-param.decorator.js.map +1 -0
  34. package/src/decorators/authorize-filter.decorator.d.ts +6 -0
  35. package/src/decorators/authorize-filter.decorator.js +67 -0
  36. package/src/decorators/authorize-filter.decorator.js.map +1 -0
  37. package/src/decorators/authorizer.decorator.d.ts +5 -0
  38. package/src/decorators/authorizer.decorator.js +24 -0
  39. package/src/decorators/authorizer.decorator.js.map +1 -0
  40. package/src/decorators/constants.d.ts +8 -0
  41. package/src/decorators/constants.js +12 -0
  42. package/src/decorators/constants.js.map +1 -0
  43. package/src/decorators/decorator.utils.d.ts +3 -0
  44. package/src/decorators/decorator.utils.js +21 -0
  45. package/src/decorators/decorator.utils.js.map +1 -0
  46. package/src/decorators/filterable-field.decorator.d.ts +47 -0
  47. package/src/decorators/filterable-field.decorator.js +53 -0
  48. package/src/decorators/filterable-field.decorator.js.map +1 -0
  49. package/src/decorators/hook-args.decorator.d.ts +3 -0
  50. package/src/decorators/hook-args.decorator.js +43 -0
  51. package/src/decorators/hook-args.decorator.js.map +1 -0
  52. package/src/decorators/hook.decorator.d.ts +13 -0
  53. package/src/decorators/hook.decorator.js +31 -0
  54. package/src/decorators/hook.decorator.js.map +1 -0
  55. package/src/decorators/id-field.decorator.d.ts +32 -0
  56. package/src/decorators/id-field.decorator.js +48 -0
  57. package/src/decorators/id-field.decorator.js.map +1 -0
  58. package/src/decorators/index.d.ts +21 -0
  59. package/src/decorators/index.js +39 -0
  60. package/src/decorators/index.js.map +1 -0
  61. package/src/decorators/inject-authorizer.decorator.d.ts +2 -0
  62. package/src/decorators/inject-authorizer.decorator.js +8 -0
  63. package/src/decorators/inject-authorizer.decorator.js.map +1 -0
  64. package/src/decorators/inject-custom-authorizer.decorator.d.ts +2 -0
  65. package/src/decorators/inject-custom-authorizer.decorator.js +8 -0
  66. package/src/decorators/inject-custom-authorizer.decorator.js.map +1 -0
  67. package/src/decorators/inject-pub-sub.decorator.d.ts +1 -0
  68. package/src/decorators/inject-pub-sub.decorator.js +8 -0
  69. package/src/decorators/inject-pub-sub.decorator.js.map +1 -0
  70. package/src/decorators/key-set.decorator.d.ts +3 -0
  71. package/src/decorators/key-set.decorator.js +13 -0
  72. package/src/decorators/key-set.decorator.js.map +1 -0
  73. package/src/decorators/query-options.decorator.d.ts +5 -0
  74. package/src/decorators/query-options.decorator.js +16 -0
  75. package/src/decorators/query-options.decorator.js.map +1 -0
  76. package/src/decorators/reference.decorator.d.ts +8 -0
  77. package/src/decorators/reference.decorator.js +36 -0
  78. package/src/decorators/reference.decorator.js.map +1 -0
  79. package/src/decorators/relation.decorator.d.ts +16 -0
  80. package/src/decorators/relation.decorator.js +53 -0
  81. package/src/decorators/relation.decorator.js.map +1 -0
  82. package/src/decorators/resolver-field.decorator.d.ts +11 -0
  83. package/src/decorators/resolver-field.decorator.js +22 -0
  84. package/src/decorators/resolver-field.decorator.js.map +1 -0
  85. package/src/decorators/resolver-method.decorator.d.ts +34 -0
  86. package/src/decorators/resolver-method.decorator.js +35 -0
  87. package/src/decorators/resolver-method.decorator.js.map +1 -0
  88. package/src/decorators/resolver-mutation.decorator.d.ts +10 -0
  89. package/src/decorators/resolver-mutation.decorator.js +21 -0
  90. package/src/decorators/resolver-mutation.decorator.js.map +1 -0
  91. package/src/decorators/resolver-query.decorator.d.ts +13 -0
  92. package/src/decorators/resolver-query.decorator.js +21 -0
  93. package/src/decorators/resolver-query.decorator.js.map +1 -0
  94. package/src/decorators/resolver-subscription.decorator.d.ts +7 -0
  95. package/src/decorators/resolver-subscription.decorator.js +18 -0
  96. package/src/decorators/resolver-subscription.decorator.js.map +1 -0
  97. package/src/decorators/skip-if.decorator.d.ts +8 -0
  98. package/src/decorators/skip-if.decorator.js +18 -0
  99. package/src/decorators/skip-if.decorator.js.map +1 -0
  100. package/src/federation/index.d.ts +1 -0
  101. package/src/federation/index.js +3 -0
  102. package/src/federation/index.js.map +1 -0
  103. package/src/federation/representation.type.d.ts +3 -0
  104. package/src/federation/representation.type.js +3 -0
  105. package/src/federation/representation.type.js.map +1 -0
  106. package/src/hooks/default.hook.d.ts +3 -0
  107. package/src/hooks/default.hook.js +13 -0
  108. package/src/hooks/default.hook.js.map +1 -0
  109. package/src/hooks/hooks.d.ts +14 -0
  110. package/src/hooks/hooks.js +8 -0
  111. package/src/hooks/hooks.js.map +1 -0
  112. package/src/hooks/index.d.ts +4 -0
  113. package/src/hooks/index.js +10 -0
  114. package/src/hooks/index.js.map +1 -0
  115. package/src/hooks/tokens.d.ts +3 -0
  116. package/src/hooks/tokens.js +6 -0
  117. package/src/hooks/tokens.js.map +1 -0
  118. package/src/hooks/types.d.ts +10 -0
  119. package/src/hooks/types.js +15 -0
  120. package/src/hooks/types.js.map +1 -0
  121. package/src/index.d.ts +11 -0
  122. package/src/index.js.map +1 -0
  123. package/src/interceptors/authorizer.interceptor.d.ts +7 -0
  124. package/src/interceptors/authorizer.interceptor.js +33 -0
  125. package/src/interceptors/authorizer.interceptor.js.map +1 -0
  126. package/src/interceptors/hook.interceptor.d.ts +7 -0
  127. package/src/interceptors/hook.interceptor.js +44 -0
  128. package/src/interceptors/hook.interceptor.js.map +1 -0
  129. package/src/interceptors/index.d.ts +2 -0
  130. package/src/interceptors/index.js +6 -0
  131. package/src/interceptors/index.js.map +1 -0
  132. package/src/loader/aggregate-relations.loader.d.ts +16 -0
  133. package/src/loader/aggregate-relations.loader.js +43 -0
  134. package/src/loader/aggregate-relations.loader.js.map +1 -0
  135. package/src/loader/count-relations.loader.d.ts +15 -0
  136. package/src/loader/count-relations.loader.js +42 -0
  137. package/src/loader/count-relations.loader.js.map +1 -0
  138. package/src/loader/dataloader.factory.d.ts +9 -0
  139. package/src/loader/dataloader.factory.js +27 -0
  140. package/src/loader/dataloader.factory.js.map +1 -0
  141. package/src/loader/find-relations.loader.d.ts +14 -0
  142. package/src/loader/find-relations.loader.js +42 -0
  143. package/src/loader/find-relations.loader.js.map +1 -0
  144. package/src/loader/index.d.ts +5 -0
  145. package/src/loader/index.js +9 -0
  146. package/src/loader/index.js.map +1 -0
  147. package/src/loader/query-relations.loader.d.ts +15 -0
  148. package/src/loader/query-relations.loader.js +43 -0
  149. package/src/loader/query-relations.loader.js.map +1 -0
  150. package/src/loader/relations.loader.d.ts +4 -0
  151. package/src/loader/relations.loader.js +3 -0
  152. package/src/loader/relations.loader.js.map +1 -0
  153. package/src/module.d.ts +31 -0
  154. package/src/module.js +55 -0
  155. package/src/module.js.map +1 -0
  156. package/src/providers/authorizer.provider.d.ts +3 -0
  157. package/src/providers/authorizer.provider.js +31 -0
  158. package/src/providers/authorizer.provider.js.map +1 -0
  159. package/src/providers/hook.provider.d.ts +5 -0
  160. package/src/providers/hook.provider.js +33 -0
  161. package/src/providers/hook.provider.js.map +1 -0
  162. package/src/providers/index.d.ts +3 -0
  163. package/src/providers/index.js +7 -0
  164. package/src/providers/index.js.map +1 -0
  165. package/src/providers/resolver.provider.d.ts +26 -0
  166. package/src/providers/resolver.provider.js +112 -0
  167. package/src/providers/resolver.provider.js.map +1 -0
  168. package/src/resolvers/aggregate.resolver.d.ts +16 -0
  169. package/src/resolvers/aggregate.resolver.js +56 -0
  170. package/src/resolvers/aggregate.resolver.js.map +1 -0
  171. package/src/resolvers/create.resolver.d.ts +57 -0
  172. package/src/resolvers/create.resolver.js +190 -0
  173. package/src/resolvers/create.resolver.js.map +1 -0
  174. package/src/resolvers/crud.resolver.d.ts +52 -0
  175. package/src/resolvers/crud.resolver.js +68 -0
  176. package/src/resolvers/crud.resolver.js.map +1 -0
  177. package/src/resolvers/delete.resolver.d.ts +32 -0
  178. package/src/resolvers/delete.resolver.js +186 -0
  179. package/src/resolvers/delete.resolver.js.map +1 -0
  180. package/src/resolvers/federation/federation.resolver.d.ts +4 -0
  181. package/src/resolvers/federation/federation.resolver.js +8 -0
  182. package/src/resolvers/federation/federation.resolver.js.map +1 -0
  183. package/src/resolvers/federation/index.d.ts +1 -0
  184. package/src/resolvers/federation/index.js +6 -0
  185. package/src/resolvers/federation/index.js.map +1 -0
  186. package/src/resolvers/helpers.d.ts +6 -0
  187. package/src/resolvers/helpers.js +38 -0
  188. package/src/resolvers/helpers.js.map +1 -0
  189. package/src/resolvers/index.d.ts +9 -0
  190. package/src/resolvers/index.js +20 -0
  191. package/src/resolvers/index.js.map +1 -0
  192. package/src/resolvers/read.resolver.d.ts +18 -0
  193. package/src/resolvers/read.resolver.js +75 -0
  194. package/src/resolvers/read.resolver.js.map +1 -0
  195. package/src/resolvers/reference.resolver.d.ts +11 -0
  196. package/src/resolvers/reference.resolver.js +41 -0
  197. package/src/resolvers/reference.resolver.js.map +1 -0
  198. package/src/resolvers/relations/aggregate-relations.resolver.d.ts +11 -0
  199. package/src/resolvers/relations/aggregate-relations.resolver.js +76 -0
  200. package/src/resolvers/relations/aggregate-relations.resolver.js.map +1 -0
  201. package/src/resolvers/relations/helpers.d.ts +4 -0
  202. package/src/resolvers/relations/helpers.js +10 -0
  203. package/src/resolvers/relations/helpers.js.map +1 -0
  204. package/src/resolvers/relations/index.d.ts +7 -0
  205. package/src/resolvers/relations/index.js +16 -0
  206. package/src/resolvers/relations/index.js.map +1 -0
  207. package/src/resolvers/relations/read-relations.resolver.d.ts +8 -0
  208. package/src/resolvers/relations/read-relations.resolver.js +114 -0
  209. package/src/resolvers/relations/read-relations.resolver.js.map +1 -0
  210. package/src/resolvers/relations/references-relation.resolver.d.ts +5 -0
  211. package/src/resolvers/relations/references-relation.resolver.js +55 -0
  212. package/src/resolvers/relations/references-relation.resolver.js.map +1 -0
  213. package/src/resolvers/relations/relations.interface.d.ts +78 -0
  214. package/src/resolvers/relations/relations.interface.js +3 -0
  215. package/src/resolvers/relations/relations.interface.js.map +1 -0
  216. package/src/resolvers/relations/relations.resolver.d.ts +8 -0
  217. package/src/resolvers/relations/relations.resolver.js +22 -0
  218. package/src/resolvers/relations/relations.resolver.js.map +1 -0
  219. package/src/resolvers/relations/remove-relations.resolver.d.ts +5 -0
  220. package/src/resolvers/relations/remove-relations.resolver.js +107 -0
  221. package/src/resolvers/relations/remove-relations.resolver.js.map +1 -0
  222. package/src/resolvers/relations/update-relations.resolver.d.ts +5 -0
  223. package/src/resolvers/relations/update-relations.resolver.js +138 -0
  224. package/src/resolvers/relations/update-relations.resolver.js.map +1 -0
  225. package/src/resolvers/resolver.interface.d.ts +47 -0
  226. package/src/resolvers/resolver.interface.js +14 -0
  227. package/src/resolvers/resolver.interface.js.map +1 -0
  228. package/src/resolvers/update.resolver.d.ts +23 -0
  229. package/src/resolvers/update.resolver.js +198 -0
  230. package/src/resolvers/update.resolver.js.map +1 -0
  231. package/src/subscription/index.d.ts +14 -0
  232. package/src/subscription/index.js +32 -0
  233. package/src/subscription/index.js.map +1 -0
  234. package/src/subscription/pub-sub.interface.d.ts +6 -0
  235. package/src/subscription/pub-sub.interface.js +3 -0
  236. package/src/subscription/pub-sub.interface.js.map +1 -0
  237. package/src/types/aggregate/aggregate-args.type.d.ts +9 -0
  238. package/src/types/aggregate/aggregate-args.type.js +30 -0
  239. package/src/types/aggregate/aggregate-args.type.js.map +1 -0
  240. package/src/types/aggregate/aggregate-response.type.d.ts +5 -0
  241. package/src/types/aggregate/aggregate-response.type.js +96 -0
  242. package/src/types/aggregate/aggregate-response.type.js.map +1 -0
  243. package/src/types/aggregate/index.d.ts +2 -0
  244. package/src/types/aggregate/index.js +8 -0
  245. package/src/types/aggregate/index.js.map +1 -0
  246. package/src/types/connection/array-connection.type.d.ts +4 -0
  247. package/src/types/connection/array-connection.type.js +20 -0
  248. package/src/types/connection/array-connection.type.js.map +1 -0
  249. package/src/types/connection/cursor/cursor-connection.type.d.ts +4 -0
  250. package/src/types/connection/cursor/cursor-connection.type.js +72 -0
  251. package/src/types/connection/cursor/cursor-connection.type.js.map +1 -0
  252. package/src/types/connection/cursor/edge.type.d.ts +7 -0
  253. package/src/types/connection/cursor/edge.type.js +36 -0
  254. package/src/types/connection/cursor/edge.type.js.map +1 -0
  255. package/src/types/connection/cursor/index.d.ts +1 -0
  256. package/src/types/connection/cursor/index.js +5 -0
  257. package/src/types/connection/cursor/index.js.map +1 -0
  258. package/src/types/connection/cursor/page-info.type.d.ts +6 -0
  259. package/src/types/connection/cursor/page-info.type.js +49 -0
  260. package/src/types/connection/cursor/page-info.type.js.map +1 -0
  261. package/src/types/connection/cursor/pager/index.d.ts +7 -0
  262. package/src/types/connection/cursor/pager/index.js +16 -0
  263. package/src/types/connection/cursor/pager/index.js.map +1 -0
  264. package/src/types/connection/cursor/pager/interfaces.d.ts +12 -0
  265. package/src/types/connection/cursor/pager/interfaces.js +3 -0
  266. package/src/types/connection/cursor/pager/interfaces.js.map +1 -0
  267. package/src/types/connection/cursor/pager/pager.d.ts +15 -0
  268. package/src/types/connection/cursor/pager/pager.js +83 -0
  269. package/src/types/connection/cursor/pager/pager.js.map +1 -0
  270. package/src/types/connection/cursor/pager/strategies/helpers.d.ts +6 -0
  271. package/src/types/connection/cursor/pager/strategies/helpers.js +24 -0
  272. package/src/types/connection/cursor/pager/strategies/helpers.js.map +1 -0
  273. package/src/types/connection/cursor/pager/strategies/index.d.ts +4 -0
  274. package/src/types/connection/cursor/pager/strategies/index.js +8 -0
  275. package/src/types/connection/cursor/pager/strategies/index.js.map +1 -0
  276. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.d.ts +19 -0
  277. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js +123 -0
  278. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js.map +1 -0
  279. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.d.ts +15 -0
  280. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js +88 -0
  281. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js.map +1 -0
  282. package/src/types/connection/cursor/pager/strategies/pager-strategy.d.ts +33 -0
  283. package/src/types/connection/cursor/pager/strategies/pager-strategy.js +3 -0
  284. package/src/types/connection/cursor/pager/strategies/pager-strategy.js.map +1 -0
  285. package/src/types/connection/index.d.ts +4 -0
  286. package/src/types/connection/index.js +10 -0
  287. package/src/types/connection/index.js.map +1 -0
  288. package/src/types/connection/interfaces.d.ts +60 -0
  289. package/src/types/connection/interfaces.js +3 -0
  290. package/src/types/connection/interfaces.js.map +1 -0
  291. package/src/types/connection/offset/index.d.ts +2 -0
  292. package/src/types/connection/offset/index.js +6 -0
  293. package/src/types/connection/offset/index.js.map +1 -0
  294. package/src/types/connection/offset/offset-connection.type.d.ts +4 -0
  295. package/src/types/connection/offset/offset-connection.type.js +68 -0
  296. package/src/types/connection/offset/offset-connection.type.js.map +1 -0
  297. package/src/types/connection/offset/offset-page-info.type.d.ts +5 -0
  298. package/src/types/connection/offset/offset-page-info.type.js +35 -0
  299. package/src/types/connection/offset/offset-page-info.type.js.map +1 -0
  300. package/src/types/connection/offset/pager/index.d.ts +4 -0
  301. package/src/types/connection/offset/pager/index.js +8 -0
  302. package/src/types/connection/offset/pager/index.js.map +1 -0
  303. package/src/types/connection/offset/pager/interfaces.d.ts +12 -0
  304. package/src/types/connection/offset/pager/interfaces.js +3 -0
  305. package/src/types/connection/offset/pager/interfaces.js.map +1 -0
  306. package/src/types/connection/offset/pager/pager.d.ts +12 -0
  307. package/src/types/connection/offset/pager/pager.js +62 -0
  308. package/src/types/connection/offset/pager/pager.js.map +1 -0
  309. package/src/types/create-many-input.type.d.ts +10 -0
  310. package/src/types/create-many-input.type.js +42 -0
  311. package/src/types/create-many-input.type.js.map +1 -0
  312. package/src/types/create-one-input.type.d.ts +11 -0
  313. package/src/types/create-one-input.type.js +42 -0
  314. package/src/types/create-one-input.type.js.map +1 -0
  315. package/src/types/cursor.scalar.d.ts +3 -0
  316. package/src/types/cursor.scalar.js +21 -0
  317. package/src/types/cursor.scalar.js.map +1 -0
  318. package/src/types/delete-many-input.type.d.ts +9 -0
  319. package/src/types/delete-many-input.type.js +31 -0
  320. package/src/types/delete-many-input.type.js.map +1 -0
  321. package/src/types/delete-many-reponse.type.d.ts +2 -0
  322. package/src/types/delete-many-reponse.type.js +25 -0
  323. package/src/types/delete-many-reponse.type.js.map +1 -0
  324. package/src/types/delete-one-input.type.d.ts +8 -0
  325. package/src/types/delete-one-input.type.js +27 -0
  326. package/src/types/delete-one-input.type.js.map +1 -0
  327. package/src/types/find-one-args.type.d.ts +8 -0
  328. package/src/types/find-one-args.type.js +27 -0
  329. package/src/types/find-one-args.type.js.map +1 -0
  330. package/src/types/index.d.ts +18 -0
  331. package/src/types/index.js +44 -0
  332. package/src/types/index.js.map +1 -0
  333. package/src/types/mutation-args.type.d.ts +5 -0
  334. package/src/types/mutation-args.type.js +24 -0
  335. package/src/types/mutation-args.type.js.map +1 -0
  336. package/src/types/query/field-comparison/boolean-field-comparison.type.d.ts +3 -0
  337. package/src/types/query/field-comparison/boolean-field-comparison.type.js +35 -0
  338. package/src/types/query/field-comparison/boolean-field-comparison.type.js.map +1 -0
  339. package/src/types/query/field-comparison/date-field-comparison.type.d.ts +3 -0
  340. package/src/types/query/field-comparison/date-field-comparison.type.js +112 -0
  341. package/src/types/query/field-comparison/date-field-comparison.type.js.map +1 -0
  342. package/src/types/query/field-comparison/field-comparison.factory.d.ts +11 -0
  343. package/src/types/query/field-comparison/field-comparison.factory.js +166 -0
  344. package/src/types/query/field-comparison/field-comparison.factory.js.map +1 -0
  345. package/src/types/query/field-comparison/float-field-comparison.type.d.ts +3 -0
  346. package/src/types/query/field-comparison/float-field-comparison.type.js +112 -0
  347. package/src/types/query/field-comparison/float-field-comparison.type.js.map +1 -0
  348. package/src/types/query/field-comparison/index.d.ts +8 -0
  349. package/src/types/query/field-comparison/index.js +12 -0
  350. package/src/types/query/field-comparison/index.js.map +1 -0
  351. package/src/types/query/field-comparison/int-field-comparison.type.d.ts +3 -0
  352. package/src/types/query/field-comparison/int-field-comparison.type.js +112 -0
  353. package/src/types/query/field-comparison/int-field-comparison.type.js.map +1 -0
  354. package/src/types/query/field-comparison/number-field-comparison.type.d.ts +3 -0
  355. package/src/types/query/field-comparison/number-field-comparison.type.js +112 -0
  356. package/src/types/query/field-comparison/number-field-comparison.type.js.map +1 -0
  357. package/src/types/query/field-comparison/string-field-comparison.type.d.ts +3 -0
  358. package/src/types/query/field-comparison/string-field-comparison.type.js +108 -0
  359. package/src/types/query/field-comparison/string-field-comparison.type.js.map +1 -0
  360. package/src/types/query/field-comparison/timestamp-field-comparison.type.d.ts +3 -0
  361. package/src/types/query/field-comparison/timestamp-field-comparison.type.js +112 -0
  362. package/src/types/query/field-comparison/timestamp-field-comparison.type.js.map +1 -0
  363. package/src/types/query/filter.type.d.ts +14 -0
  364. package/src/types/query/filter.type.js +103 -0
  365. package/src/types/query/filter.type.js.map +1 -0
  366. package/src/types/query/helpers.d.ts +1 -0
  367. package/src/types/query/helpers.js +6 -0
  368. package/src/types/query/helpers.js.map +1 -0
  369. package/src/types/query/index.d.ts +4 -0
  370. package/src/types/query/index.js +14 -0
  371. package/src/types/query/index.js.map +1 -0
  372. package/src/types/query/paging/constants.d.ts +5 -0
  373. package/src/types/query/paging/constants.js +10 -0
  374. package/src/types/query/paging/constants.js.map +1 -0
  375. package/src/types/query/paging/cursor-paging.type.d.ts +3 -0
  376. package/src/types/query/paging/cursor-paging.type.js +69 -0
  377. package/src/types/query/paging/cursor-paging.type.js.map +1 -0
  378. package/src/types/query/paging/index.d.ts +5 -0
  379. package/src/types/query/paging/index.js +12 -0
  380. package/src/types/query/paging/index.js.map +1 -0
  381. package/src/types/query/paging/interfaces.d.ts +13 -0
  382. package/src/types/query/paging/interfaces.js +3 -0
  383. package/src/types/query/paging/interfaces.js.map +1 -0
  384. package/src/types/query/paging/none-paging.type.d.ts +3 -0
  385. package/src/types/query/paging/none-paging.type.js +18 -0
  386. package/src/types/query/paging/none-paging.type.js.map +1 -0
  387. package/src/types/query/paging/offset-paging.type.d.ts +3 -0
  388. package/src/types/query/paging/offset-paging.type.js +43 -0
  389. package/src/types/query/paging/offset-paging.type.js.map +1 -0
  390. package/src/types/query/query-args/constants.d.ts +6 -0
  391. package/src/types/query/query-args/constants.js +10 -0
  392. package/src/types/query/query-args/constants.js.map +1 -0
  393. package/src/types/query/query-args/cursor-query-args.type.d.ts +5 -0
  394. package/src/types/query/query-args/cursor-query-args.type.js +61 -0
  395. package/src/types/query/query-args/cursor-query-args.type.js.map +1 -0
  396. package/src/types/query/query-args/index.d.ts +5 -0
  397. package/src/types/query/query-args/index.js +9 -0
  398. package/src/types/query/query-args/index.js.map +1 -0
  399. package/src/types/query/query-args/interfaces.d.ts +45 -0
  400. package/src/types/query/query-args/interfaces.js +3 -0
  401. package/src/types/query/query-args/interfaces.js.map +1 -0
  402. package/src/types/query/query-args/none-paging-query-args.type.d.ts +5 -0
  403. package/src/types/query/query-args/none-paging-query-args.type.js +49 -0
  404. package/src/types/query/query-args/none-paging-query-args.type.js.map +1 -0
  405. package/src/types/query/query-args/offset-query-args.type.d.ts +5 -0
  406. package/src/types/query/query-args/offset-query-args.type.js +60 -0
  407. package/src/types/query/query-args/offset-query-args.type.js.map +1 -0
  408. package/src/types/query/query-args.type.d.ts +8 -0
  409. package/src/types/query/query-args.type.js +33 -0
  410. package/src/types/query/query-args.type.js.map +1 -0
  411. package/src/types/query/sorting.type.d.ts +2 -0
  412. package/src/types/query/sorting.type.js +55 -0
  413. package/src/types/query/sorting.type.js.map +1 -0
  414. package/src/types/relation-input.type.d.ts +6 -0
  415. package/src/types/relation-input.type.js +30 -0
  416. package/src/types/relation-input.type.js.map +1 -0
  417. package/src/types/relations-input.type.d.ts +6 -0
  418. package/src/types/relations-input.type.js +31 -0
  419. package/src/types/relations-input.type.js.map +1 -0
  420. package/src/types/subscription-args.type.d.ts +5 -0
  421. package/src/types/subscription-args.type.js +24 -0
  422. package/src/types/subscription-args.type.js.map +1 -0
  423. package/src/types/subscription-filter-input.type.d.ts +9 -0
  424. package/src/types/subscription-filter-input.type.js +32 -0
  425. package/src/types/subscription-filter-input.type.js.map +1 -0
  426. package/src/types/type.errors.d.ts +5 -0
  427. package/src/types/type.errors.js +11 -0
  428. package/src/types/type.errors.js.map +1 -0
  429. package/src/types/update-many-input.type.d.ts +11 -0
  430. package/src/types/update-many-input.type.js +38 -0
  431. package/src/types/update-many-input.type.js.map +1 -0
  432. package/src/types/update-many-response.type.d.ts +2 -0
  433. package/src/types/update-many-response.type.js +25 -0
  434. package/src/types/update-many-response.type.js.map +1 -0
  435. package/src/types/update-one-input.type.d.ts +11 -0
  436. package/src/types/update-one-input.type.js +36 -0
  437. package/src/types/update-one-input.type.js.map +1 -0
  438. package/src/types/validators/cannot-use-with.validator.d.ts +6 -0
  439. package/src/types/validators/cannot-use-with.validator.js +21 -0
  440. package/src/types/validators/cannot-use-with.validator.js.map +1 -0
  441. package/src/types/validators/cannot-use-without.validator.d.ts +6 -0
  442. package/src/types/validators/cannot-use-without.validator.js +22 -0
  443. package/src/types/validators/cannot-use-without.validator.js.map +1 -0
  444. package/src/types/validators/index.d.ts +3 -0
  445. package/src/types/validators/index.js +7 -0
  446. package/src/types/validators/index.js.map +1 -0
  447. package/src/types/validators/is-undefined.validator.d.ts +3 -0
  448. package/src/types/validators/is-undefined.validator.js +11 -0
  449. package/src/types/validators/is-undefined.validator.js.map +1 -0
  450. package/src/types/validators/property-max.validator.d.ts +6 -0
  451. package/src/types/validators/property-max.validator.js +30 -0
  452. package/src/types/validators/property-max.validator.js.map +1 -0
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteResolver = exports.Deletable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // eslint-disable-next-line max-classes-per-file
6
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
7
+ const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
8
+ const graphql_1 = require("@nestjs/graphql");
9
+ const hooks_1 = require("../hooks");
10
+ const common_1 = require("../common");
11
+ const subscription_1 = require("../subscription");
12
+ const resolver_interface_1 = require("./resolver.interface");
13
+ const types_1 = require("../types");
14
+ const decorators_1 = require("../decorators");
15
+ const helpers_1 = require("./helpers");
16
+ const interceptors_1 = require("../interceptors");
17
+ const auth_1 = require("../auth");
18
+ /** @internal */
19
+ const defaultDeleteManyInput = (dtoNames, DTOClass) => {
20
+ const { pluralBaseName } = dtoNames;
21
+ let DM = class DM extends (0, types_1.DeleteManyInputType)(DTOClass) {
22
+ };
23
+ DM = (0, tslib_1.__decorate)([
24
+ (0, graphql_1.InputType)(`DeleteMany${pluralBaseName}Input`)
25
+ ], DM);
26
+ return DM;
27
+ };
28
+ /** @internal */
29
+ const defaultDeleteOneInput = (dtoNames, DTOClass) => {
30
+ const { baseName } = dtoNames;
31
+ let DM = class DM extends (0, types_1.DeleteOneInputType)(DTOClass) {
32
+ };
33
+ DM = (0, tslib_1.__decorate)([
34
+ (0, graphql_1.InputType)(`DeleteOne${baseName}Input`)
35
+ ], DM);
36
+ return DM;
37
+ };
38
+ /**
39
+ * @internal
40
+ * Mixin to add `delete` graphql endpoints.
41
+ */
42
+ const Deletable = (DTOClass, opts) => (BaseClass) => {
43
+ const dtoNames = (0, common_1.getDTONames)(DTOClass, opts);
44
+ const { baseName, pluralBaseName } = dtoNames;
45
+ const enableSubscriptions = opts.enableSubscriptions === true;
46
+ const enableOneSubscriptions = opts.one?.enableSubscriptions ?? enableSubscriptions;
47
+ const enableManySubscriptions = opts.many?.enableSubscriptions ?? enableSubscriptions;
48
+ const deletedOneEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.DELETED_ONE, DTOClass);
49
+ const deletedManyEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.DELETED_MANY, DTOClass);
50
+ const { DeleteOneInput = defaultDeleteOneInput(dtoNames, DTOClass), DeleteManyInput = defaultDeleteManyInput(dtoNames, DTOClass) } = opts;
51
+ const deleteOneMutationName = opts.one?.name ?? `deleteOne${baseName}`;
52
+ const deleteManyMutationName = opts.many?.name ?? `deleteMany${pluralBaseName}`;
53
+ const DMR = (0, types_1.DeleteManyResponseType)();
54
+ const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'DeleteOneInput', 'DeleteManyInput', 'useSoftDelete');
55
+ let DeleteOneResponse =
56
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
57
+ // @ts-ignore
58
+ class DeleteOneResponse extends (0, graphql_1.PartialType)(DTOClass, graphql_1.ObjectType) {
59
+ };
60
+ DeleteOneResponse = (0, tslib_1.__decorate)([
61
+ (0, graphql_1.ObjectType)(`${baseName}DeleteResponse`)
62
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
+ // @ts-ignore
64
+ ], DeleteOneResponse);
65
+ let DO = class DO extends (0, types_1.MutationArgsType)(DeleteOneInput) {
66
+ };
67
+ DO = (0, tslib_1.__decorate)([
68
+ (0, graphql_1.ArgsType)()
69
+ ], DO);
70
+ let DM = class DM extends (0, types_1.MutationArgsType)(DeleteManyInput) {
71
+ };
72
+ DM = (0, tslib_1.__decorate)([
73
+ (0, graphql_1.ArgsType)()
74
+ ], DM);
75
+ let SI = class SI extends (0, types_1.SubscriptionFilterInputType)(DTOClass) {
76
+ };
77
+ SI = (0, tslib_1.__decorate)([
78
+ (0, graphql_1.InputType)(`DeleteOne${baseName}SubscriptionFilterInput`)
79
+ ], SI);
80
+ let DOSA = class DOSA extends (0, types_1.SubscriptionArgsType)(SI) {
81
+ };
82
+ DOSA = (0, tslib_1.__decorate)([
83
+ (0, graphql_1.ArgsType)()
84
+ ], DOSA);
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ const deleteOneSubscriptionFilter = (0, helpers_1.createSubscriptionFilter)(SI, deletedOneEvent);
87
+ let DeleteResolverBase = class DeleteResolverBase extends BaseClass {
88
+ async deleteOne(input, authorizeFilter) {
89
+ const deletedResponse = await this.service.deleteOne(input.input.id, {
90
+ filter: authorizeFilter ?? {},
91
+ useSoftDelete: opts?.useSoftDelete ?? false
92
+ });
93
+ if (enableOneSubscriptions) {
94
+ await this.publishDeletedOneEvent(deletedResponse, authorizeFilter);
95
+ }
96
+ return deletedResponse;
97
+ }
98
+ async deleteMany(input, authorizeFilter) {
99
+ const deleteManyResponse = await this.service.deleteMany((0, nestjs_query_core_1.mergeFilter)(input.input.filter, authorizeFilter ?? {}), {
100
+ useSoftDelete: opts?.useSoftDelete ?? false
101
+ });
102
+ if (enableManySubscriptions) {
103
+ await this.publishDeletedManyEvent(deleteManyResponse, authorizeFilter);
104
+ }
105
+ return deleteManyResponse;
106
+ }
107
+ async publishDeletedOneEvent(dto, authorizeFilter) {
108
+ if (this.pubSub) {
109
+ const eventName = (0, helpers_1.getSubscriptionEventName)(deletedOneEvent, authorizeFilter);
110
+ await this.pubSub.publish(eventName, { [deletedOneEvent]: dto });
111
+ }
112
+ }
113
+ async publishDeletedManyEvent(dmr, authorizeFilter) {
114
+ if (this.pubSub) {
115
+ const eventName = (0, helpers_1.getSubscriptionEventName)(deletedManyEvent, authorizeFilter);
116
+ await this.pubSub.publish(eventName, { [deletedManyEvent]: dmr });
117
+ }
118
+ }
119
+ // input required so graphql subscription filtering will work.
120
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
121
+ deletedOneSubscription(input, authorizeFilter) {
122
+ if (!enableOneSubscriptions || !this.pubSub) {
123
+ throw new Error(`Unable to subscribe to ${deletedOneEvent}`);
124
+ }
125
+ const eventName = (0, helpers_1.getSubscriptionEventName)(deletedOneEvent, authorizeFilter);
126
+ return this.pubSub.asyncIterator(eventName);
127
+ }
128
+ deletedManySubscription(authorizeFilter) {
129
+ if (!enableManySubscriptions || !this.pubSub) {
130
+ throw new Error(`Unable to subscribe to ${deletedManyEvent}`);
131
+ }
132
+ const eventName = (0, helpers_1.getSubscriptionEventName)(deletedManyEvent, authorizeFilter);
133
+ return this.pubSub.asyncIterator(eventName);
134
+ }
135
+ };
136
+ (0, tslib_1.__decorate)([
137
+ (0, decorators_1.ResolverMutation)(() => DeleteOneResponse, { name: deleteOneMutationName, description: opts?.one?.description }, commonResolverOpts, { interceptors: [(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_DELETE_ONE, DTOClass), (0, interceptors_1.AuthorizerInterceptor)(DTOClass)] }, opts.one ?? {}),
138
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
139
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
140
+ operationGroup: auth_1.OperationGroup.DELETE,
141
+ many: false
142
+ })),
143
+ (0, tslib_1.__metadata)("design:type", Function),
144
+ (0, tslib_1.__metadata)("design:paramtypes", [DO, Object]),
145
+ (0, tslib_1.__metadata)("design:returntype", Promise)
146
+ ], DeleteResolverBase.prototype, "deleteOne", null);
147
+ (0, tslib_1.__decorate)([
148
+ (0, decorators_1.ResolverMutation)(() => DMR, { name: deleteManyMutationName, description: opts?.many?.description }, commonResolverOpts, { interceptors: [(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_DELETE_MANY, DTOClass), (0, interceptors_1.AuthorizerInterceptor)(DTOClass)] }, opts.many ?? {}),
149
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
150
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
151
+ operationGroup: auth_1.OperationGroup.DELETE,
152
+ many: true
153
+ })),
154
+ (0, tslib_1.__metadata)("design:type", Function),
155
+ (0, tslib_1.__metadata)("design:paramtypes", [DM, Object]),
156
+ (0, tslib_1.__metadata)("design:returntype", Promise)
157
+ ], DeleteResolverBase.prototype, "deleteMany", null);
158
+ (0, tslib_1.__decorate)([
159
+ (0, decorators_1.ResolverSubscription)(() => DeleteOneResponse, { name: deletedOneEvent, filter: deleteOneSubscriptionFilter }, commonResolverOpts, {
160
+ enableSubscriptions: enableOneSubscriptions
161
+ }),
162
+ (0, tslib_1.__param)(0, (0, graphql_1.Args)()),
163
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.DELETE, many: false })),
164
+ (0, tslib_1.__metadata)("design:type", Function),
165
+ (0, tslib_1.__metadata)("design:paramtypes", [DOSA, Object]),
166
+ (0, tslib_1.__metadata)("design:returntype", Object)
167
+ ], DeleteResolverBase.prototype, "deletedOneSubscription", null);
168
+ (0, tslib_1.__decorate)([
169
+ (0, decorators_1.ResolverSubscription)(() => DMR, { name: deletedManyEvent }, commonResolverOpts, {
170
+ enableSubscriptions: enableManySubscriptions
171
+ }),
172
+ (0, tslib_1.__param)(0, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.DELETE, many: true })),
173
+ (0, tslib_1.__metadata)("design:type", Function),
174
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
175
+ (0, tslib_1.__metadata)("design:returntype", Object)
176
+ ], DeleteResolverBase.prototype, "deletedManySubscription", null);
177
+ DeleteResolverBase = (0, tslib_1.__decorate)([
178
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
179
+ ], DeleteResolverBase);
180
+ return DeleteResolverBase;
181
+ };
182
+ exports.Deletable = Deletable;
183
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
184
+ const DeleteResolver = (DTOClass, opts = {}) => (0, exports.Deletable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
185
+ exports.DeleteResolver = DeleteResolver;
186
+ //# sourceMappingURL=delete.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/delete.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Class, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ServiceResolver } from '../resolver.interface';
3
+ import { BaseResolverOptions } from '../../decorators/resolver-method.decorator';
4
+ export declare const FederationResolver: <DTO, QS extends QueryService<DTO, unknown, unknown> = QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: BaseResolverOptions) => Class<ServiceResolver<DTO, QS>>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FederationResolver = void 0;
4
+ const relations_1 = require("../relations");
5
+ const decorators_1 = require("../../decorators");
6
+ const FederationResolver = (DTOClass, opts = {}) => (0, relations_1.ReadRelationsResolver)(DTOClass, (0, decorators_1.getRelations)(DTOClass, opts));
7
+ exports.FederationResolver = FederationResolver;
8
+ //# sourceMappingURL=federation.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.resolver.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/resolvers/federation/federation.resolver.ts"],"names":[],"mappings":";;;AACA,4CAAqD;AAErD,iDAAgD;AAGzC,MAAM,kBAAkB,GAAG,CAIhC,QAAoB,EACpB,OAA4B,EAAE,EACG,EAAE,CAAC,IAAA,iCAAqB,EAAC,QAAQ,EAAE,IAAA,yBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AANvF,QAAA,kBAAkB,sBAMqE"}
@@ -0,0 +1 @@
1
+ export { FederationResolver } from './federation.resolver';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FederationResolver = void 0;
4
+ var federation_resolver_1 = require("./federation.resolver");
5
+ Object.defineProperty(exports, "FederationResolver", { enumerable: true, get: function () { return federation_resolver_1.FederationResolver; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/resolvers/federation/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,6 @@
1
+ import { Class, Filter } from '@ptc-org/nestjs-query-core';
2
+ import { SubscriptionArgsType, SubscriptionFilterInputType } from '../types';
3
+ /** @internal */
4
+ export declare const transformAndValidate: <T>(TClass: Class<T>, partial: T) => Promise<T>;
5
+ export declare const createSubscriptionFilter: <DTO, Input extends SubscriptionFilterInputType<DTO>>(InputClass: Class<Input>, payloadKey: string) => (payload: any, variables: SubscriptionArgsType<Input>, context: any) => boolean | Promise<boolean>;
6
+ export declare function getSubscriptionEventName<T>(eventName: string, authorizeFilter?: Filter<T>): string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSubscriptionEventName = exports.createSubscriptionFilter = exports.transformAndValidate = void 0;
4
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
5
+ const class_transformer_1 = require("class-transformer");
6
+ const class_validator_1 = require("class-validator");
7
+ const common_1 = require("@nestjs/common");
8
+ /** @internal */
9
+ const transformAndValidate = async (TClass, partial) => {
10
+ if (partial instanceof TClass) {
11
+ return partial;
12
+ }
13
+ const transformed = (0, class_transformer_1.plainToClass)(TClass, partial);
14
+ const validationErrors = await (0, class_validator_1.validate)(transformed);
15
+ if (validationErrors.length) {
16
+ throw new common_1.BadRequestException(validationErrors);
17
+ }
18
+ return transformed;
19
+ };
20
+ exports.transformAndValidate = transformAndValidate;
21
+ const createSubscriptionFilter = (InputClass, payloadKey) =>
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ async (payload, variables) => {
24
+ const { input } = variables;
25
+ if (input) {
26
+ const args = await (0, exports.transformAndValidate)(InputClass, input);
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
28
+ const dto = payload[payloadKey];
29
+ return (0, nestjs_query_core_1.applyFilter)(dto, args.filter || {});
30
+ }
31
+ return true;
32
+ };
33
+ exports.createSubscriptionFilter = createSubscriptionFilter;
34
+ function getSubscriptionEventName(eventName, authorizeFilter) {
35
+ return authorizeFilter ? `${eventName}-${JSON.stringify(authorizeFilter)}` : eventName;
36
+ }
37
+ exports.getSubscriptionEventName = getSubscriptionEventName;
38
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/helpers.ts"],"names":[],"mappings":";;;AAAA,kEAAwE;AACxE,yDAAiD;AACjD,qDAA2C;AAC3C,2CAAqD;AAGrD,gBAAgB;AACT,MAAM,oBAAoB,GAAG,KAAK,EAAK,MAAgB,EAAE,OAAU,EAAc,EAAE;IACxF,IAAI,OAAO,YAAY,MAAM,EAAE;QAC7B,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,WAAW,GAAG,IAAA,gCAAY,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,MAAM,IAAA,0BAAQ,EAAC,WAAsD,CAAC,CAAC;IAChG,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;KACjD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,wBAAwB,GACnC,CACE,UAAwB,EACxB,UAAkB,EAEoF,EAAE;AAC1G,8DAA8D;AAC9D,KAAK,EAAE,OAAY,EAAE,SAAsC,EAAoB,EAAE;IAC/E,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC5B,IAAI,KAAK,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAoB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3D,sEAAsE;QACtE,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAQ,CAAC;QACvC,OAAO,IAAA,+BAAW,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;KAC5C;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBS,QAAA,wBAAwB,4BAgBjC;AAEJ,SAAgB,wBAAwB,CAAI,SAAiB,EAAE,eAA2B;IACxF,OAAO,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAFD,4DAEC"}
@@ -0,0 +1,9 @@
1
+ export { CRUDResolverOpts, CRUDResolver } from './crud.resolver';
2
+ export { CreateResolver, CreateResolverOpts } from './create.resolver';
3
+ export { ReadResolver, ReadResolverOpts } from './read.resolver';
4
+ export { UpdateResolver, UpdateResolverOpts } from './update.resolver';
5
+ export { DeleteResolver, DeleteResolverOpts } from './delete.resolver';
6
+ export { ReferenceResolver, ReferenceResolverOpts } from './reference.resolver';
7
+ export { Relatable, ResolverRelation, ResolverRelationReference } from './relations';
8
+ export { ResolverOpts } from './resolver.interface';
9
+ export { FederationResolver } from './federation';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FederationResolver = exports.Relatable = exports.ReferenceResolver = exports.DeleteResolver = exports.UpdateResolver = exports.ReadResolver = exports.CreateResolver = exports.CRUDResolver = void 0;
4
+ var crud_resolver_1 = require("./crud.resolver");
5
+ Object.defineProperty(exports, "CRUDResolver", { enumerable: true, get: function () { return crud_resolver_1.CRUDResolver; } });
6
+ var create_resolver_1 = require("./create.resolver");
7
+ Object.defineProperty(exports, "CreateResolver", { enumerable: true, get: function () { return create_resolver_1.CreateResolver; } });
8
+ var read_resolver_1 = require("./read.resolver");
9
+ Object.defineProperty(exports, "ReadResolver", { enumerable: true, get: function () { return read_resolver_1.ReadResolver; } });
10
+ var update_resolver_1 = require("./update.resolver");
11
+ Object.defineProperty(exports, "UpdateResolver", { enumerable: true, get: function () { return update_resolver_1.UpdateResolver; } });
12
+ var delete_resolver_1 = require("./delete.resolver");
13
+ Object.defineProperty(exports, "DeleteResolver", { enumerable: true, get: function () { return delete_resolver_1.DeleteResolver; } });
14
+ var reference_resolver_1 = require("./reference.resolver");
15
+ Object.defineProperty(exports, "ReferenceResolver", { enumerable: true, get: function () { return reference_resolver_1.ReferenceResolver; } });
16
+ var relations_1 = require("./relations");
17
+ Object.defineProperty(exports, "Relatable", { enumerable: true, get: function () { return relations_1.Relatable; } });
18
+ var federation_1 = require("./federation");
19
+ Object.defineProperty(exports, "FederationResolver", { enumerable: true, get: function () { return federation_1.FederationResolver; } });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/index.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AAAtC,6GAAA,YAAY,OAAA;AACvC,qDAAuE;AAA9D,iHAAA,cAAc,OAAA;AACvB,iDAAiE;AAAxD,6GAAA,YAAY,OAAA;AACrB,qDAAuE;AAA9D,iHAAA,cAAc,OAAA;AACvB,qDAAuE;AAA9D,iHAAA,cAAc,OAAA;AACvB,2DAAgF;AAAvE,uHAAA,iBAAiB,OAAA;AAC1B,yCAAqF;AAA5E,sGAAA,SAAS,OAAA;AAElB,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,18 @@
1
+ import { Class, Filter, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { FindOneArgsType, PagingStrategies, QueryArgsTypeOpts, ConnectionOptions, InferConnectionTypeFromStrategy } from '../types';
3
+ import { CursorQueryArgsTypeOpts, QueryType, StaticQueryType } from '../types/query';
4
+ import { ExtractPagingStrategy, ResolverClass, ResolverOpts, ServiceResolver } from './resolver.interface';
5
+ export declare type ReadResolverFromOpts<DTO, Opts extends ReadResolverOpts<DTO>, QS extends QueryService<DTO, unknown, unknown>> = ReadResolver<DTO, ExtractPagingStrategy<DTO, Opts>, QS>;
6
+ export declare type ReadResolverOpts<DTO> = {
7
+ QueryArgs?: StaticQueryType<DTO, PagingStrategies>;
8
+ } & ResolverOpts & QueryArgsTypeOpts<DTO> & Pick<ConnectionOptions, 'enableTotalCount'>;
9
+ export interface ReadResolver<DTO, PS extends PagingStrategies, QS extends QueryService<DTO, unknown, unknown>> extends ServiceResolver<DTO, QS> {
10
+ queryMany(query: QueryType<DTO, PagingStrategies>, authorizeFilter?: Filter<DTO>): Promise<InferConnectionTypeFromStrategy<DTO, PS>>;
11
+ findById(id: FindOneArgsType, authorizeFilter?: Filter<DTO>): Promise<DTO | undefined>;
12
+ }
13
+ /**
14
+ * @internal
15
+ * Mixin to add `read` graphql endpoints.
16
+ */
17
+ export declare const Readable: <DTO, ReadOpts extends ReadResolverOpts<DTO>, QS extends QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts: ReadOpts) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<ReadResolverFromOpts<DTO, ReadOpts, QS>> & B;
18
+ export declare const ReadResolver: <DTO, ReadOpts extends ReadResolverOpts<DTO> = CursorQueryArgsTypeOpts<DTO>, QS extends QueryService<DTO, unknown, unknown> = QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: ReadOpts) => ResolverClass<DTO, QS, ReadResolverFromOpts<DTO, ReadOpts, QS>>;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadResolver = exports.Readable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
6
+ const graphql_1 = require("@nestjs/graphql");
7
+ const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
8
+ const common_1 = require("../common");
9
+ const decorators_1 = require("../decorators");
10
+ const types_1 = require("../types");
11
+ const resolver_interface_1 = require("./resolver.interface");
12
+ const interceptors_1 = require("../interceptors");
13
+ const hooks_1 = require("../hooks");
14
+ const auth_1 = require("../auth");
15
+ /**
16
+ * @internal
17
+ * Mixin to add `read` graphql endpoints.
18
+ */
19
+ const Readable = (DTOClass, opts) => (BaseClass) => {
20
+ const { baseNameLower, pluralBaseNameLower, baseName } = (0, common_1.getDTONames)(DTOClass, opts);
21
+ const readOneQueryName = opts.one?.name ?? baseNameLower;
22
+ const readManyQueryName = opts.many?.name ?? pluralBaseNameLower;
23
+ const { QueryArgs = (0, types_1.QueryArgsType)(DTOClass, { ...opts, connectionName: `${baseName}Connection` }) } = opts;
24
+ const { ConnectionType } = QueryArgs;
25
+ const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'QueryArgs', 'Connection', 'withDeleted');
26
+ let QA = class QA extends QueryArgs {
27
+ };
28
+ QA = (0, tslib_1.__decorate)([
29
+ (0, graphql_1.ArgsType)()
30
+ ], QA);
31
+ let FO = class FO extends (0, types_1.FindOneArgsType)(DTOClass) {
32
+ };
33
+ FO = (0, tslib_1.__decorate)([
34
+ (0, graphql_1.ArgsType)()
35
+ ], FO);
36
+ let ReadResolverBase = class ReadResolverBase extends BaseClass {
37
+ async findById(input, authorizeFilter) {
38
+ return this.service.getById(input.id, { filter: authorizeFilter, withDeleted: opts?.one?.withDeleted });
39
+ }
40
+ async queryMany(query, authorizeFilter) {
41
+ return ConnectionType.createFromPromise((q) => this.service.query(q), (0, nestjs_query_core_1.mergeQuery)(query, { filter: authorizeFilter }), (filter) => this.service.count(filter));
42
+ }
43
+ };
44
+ (0, tslib_1.__decorate)([
45
+ (0, decorators_1.ResolverQuery)(() => DTOClass, { name: readOneQueryName, description: opts?.one?.description }, commonResolverOpts, { interceptors: [(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_FIND_ONE, DTOClass), (0, interceptors_1.AuthorizerInterceptor)(DTOClass)] }, opts.one ?? {}),
46
+ (0, tslib_1.__param)(0, (0, decorators_1.HookArgs)()),
47
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
48
+ operationGroup: auth_1.OperationGroup.READ,
49
+ many: false
50
+ })),
51
+ (0, tslib_1.__metadata)("design:type", Function),
52
+ (0, tslib_1.__metadata)("design:paramtypes", [FO, Object]),
53
+ (0, tslib_1.__metadata)("design:returntype", Promise)
54
+ ], ReadResolverBase.prototype, "findById", null);
55
+ (0, tslib_1.__decorate)([
56
+ (0, decorators_1.ResolverQuery)(() => QueryArgs.ConnectionType.resolveType, { name: readManyQueryName, description: opts?.many?.description }, commonResolverOpts, { interceptors: [(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_QUERY_MANY, DTOClass), (0, interceptors_1.AuthorizerInterceptor)(DTOClass)] }, opts.many ?? {}),
57
+ (0, tslib_1.__param)(0, (0, decorators_1.HookArgs)()),
58
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
59
+ operationGroup: auth_1.OperationGroup.READ,
60
+ many: true
61
+ })),
62
+ (0, tslib_1.__metadata)("design:type", Function),
63
+ (0, tslib_1.__metadata)("design:paramtypes", [QA, Object]),
64
+ (0, tslib_1.__metadata)("design:returntype", Promise)
65
+ ], ReadResolverBase.prototype, "queryMany", null);
66
+ ReadResolverBase = (0, tslib_1.__decorate)([
67
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
68
+ ], ReadResolverBase);
69
+ return ReadResolverBase;
70
+ };
71
+ exports.Readable = Readable;
72
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
73
+ const ReadResolver = (DTOClass, opts = {}) => (0, exports.Readable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
74
+ exports.ReadResolver = ReadResolver;
75
+ //# sourceMappingURL=read.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/read.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Class, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ResolverClass, ServiceResolver } from './resolver.interface';
3
+ export interface ReferenceResolverOpts {
4
+ key?: string;
5
+ }
6
+ /**
7
+ * @internal
8
+ * Mixin to expose `resolveReference` for a DTO on the resolver.
9
+ */
10
+ export declare const Referenceable: <DTO, QS extends QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts: ReferenceResolverOpts) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => B;
11
+ export declare const ReferenceResolver: <DTO, QS extends QueryService<DTO, unknown, unknown> = QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: ReferenceResolverOpts) => ResolverClass<DTO, QS, ServiceResolver<DTO, QS>>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReferenceResolver = exports.Referenceable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const common_1 = require("@nestjs/common");
7
+ const common_2 = require("../common");
8
+ const resolver_interface_1 = require("./resolver.interface");
9
+ /**
10
+ * @internal
11
+ * Mixin to expose `resolveReference` for a DTO on the resolver.
12
+ */
13
+ const Referenceable = (DTOClass, opts) => (BaseClass) => {
14
+ if (!('key' in opts) || opts.key === undefined) {
15
+ return BaseClass;
16
+ }
17
+ const { key } = opts;
18
+ let ResolveReferenceResolverBase = class ResolveReferenceResolverBase extends BaseClass {
19
+ async resolveReference(representation) {
20
+ const id = representation[key];
21
+ if (id === undefined) {
22
+ throw new common_1.BadRequestException(`Unable to resolve reference, missing required key ${key} for ${(0, common_2.getDTONames)(DTOClass).baseName}`);
23
+ }
24
+ return this.service.getById(representation[key]);
25
+ }
26
+ };
27
+ (0, tslib_1.__decorate)([
28
+ (0, graphql_1.ResolveReference)(),
29
+ (0, tslib_1.__metadata)("design:type", Function),
30
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
31
+ (0, tslib_1.__metadata)("design:returntype", Promise)
32
+ ], ResolveReferenceResolverBase.prototype, "resolveReference", null);
33
+ ResolveReferenceResolverBase = (0, tslib_1.__decorate)([
34
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
35
+ ], ResolveReferenceResolverBase);
36
+ return ResolveReferenceResolverBase;
37
+ };
38
+ exports.Referenceable = Referenceable;
39
+ const ReferenceResolver = (DTOClass, opts = {}) => (0, exports.Referenceable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
40
+ exports.ReferenceResolver = ReferenceResolver;
41
+ //# sourceMappingURL=reference.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/reference.resolver.ts"],"names":[],"mappings":";;;;AACA,6CAA6D;AAC7D,2CAAqD;AACrD,sCAAwC;AAExC,6DAA2F;AAM3F;;;GAGG;AACI,MAAM,aAAa,GACxB,CAAsD,QAAoB,EAAE,IAA2B,EAAE,EAAE,CAC3G,CAA4C,SAAY,EAAK,EAAE;IAC7D,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;QAC9C,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,SAAS;QAElD,KAAK,CAAC,gBAAgB,CAAC,cAAkC;YACvD,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,MAAM,IAAI,4BAAmB,CAC3B,qDAAqD,GAAG,QAAQ,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CACjG,CAAC;aACH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAoB,CAAC,CAAC;QACtE,CAAC;KACF,CAAA;IATC;QADC,IAAA,0BAAgB,GAAE;;;;wEASlB;IAVG,4BAA4B;QADjC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;OACzC,4BAA4B,CAWjC;IACD,OAAO,4BAA4B,CAAC;AACtC,CAAC,CAAC;AArBS,QAAA,aAAa,iBAqBtB;AAEG,MAAM,iBAAiB,GAAG,CAI/B,QAAoB,EACpB,OAA8B,EAAE,EACkB,EAAE,CAAC,IAAA,qBAAa,EAAU,QAAQ,EAAE,IAAI,CAAC,CAAC,wCAAmB,CAAC,CAAC;AANtG,QAAA,iBAAiB,qBAMqF"}
@@ -0,0 +1,11 @@
1
+ import { Class, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ServiceResolver } from '../resolver.interface';
3
+ import { RelationsOpts } from './relations.interface';
4
+ export interface AggregateRelationsResolverOpts extends RelationsOpts {
5
+ /**
6
+ * Enable relation aggregation queries on relation
7
+ */
8
+ enableAggregate?: boolean;
9
+ }
10
+ export declare const AggregateRelationsMixin: <DTO>(DTOClass: Class<DTO>, relations: AggregateRelationsResolverOpts) => <B extends Class<ServiceResolver<DTO, QueryService<DTO, unknown, unknown>>>>(Base: B) => B;
11
+ export declare const AggregateRelationsResolver: <DTO>(DTOClass: Class<DTO>, relations: AggregateRelationsResolverOpts) => Class<ServiceResolver<DTO, QueryService<DTO, unknown, unknown>>>;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateRelationsResolver = exports.AggregateRelationsMixin = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
6
+ const graphql_1 = require("@nestjs/graphql");
7
+ const auth_1 = require("../../auth");
8
+ const common_1 = require("../../common");
9
+ const decorators_1 = require("../../decorators");
10
+ const interceptors_1 = require("../../interceptors");
11
+ const loader_1 = require("../../loader");
12
+ const types_1 = require("../../types");
13
+ const helpers_1 = require("../helpers");
14
+ const resolver_interface_1 = require("../resolver.interface");
15
+ const helpers_2 = require("./helpers");
16
+ const AggregateRelationMixin = (DTOClass, relation) => (Base) => {
17
+ var _a;
18
+ if (!relation.enableAggregate) {
19
+ return Base;
20
+ }
21
+ const commonResolverOpts = (0, helpers_2.removeRelationOpts)(relation);
22
+ const relationDTO = relation.DTO;
23
+ const dtoName = (0, common_1.getDTONames)(DTOClass).baseName;
24
+ const { baseNameLower, pluralBaseNameLower, pluralBaseName } = (0, common_1.getDTONames)(relationDTO, {
25
+ dtoName: relation.dtoName,
26
+ });
27
+ const relationName = relation.relationName ?? pluralBaseNameLower;
28
+ const aggregateRelationLoaderName = `aggregate${pluralBaseName}For${dtoName}`;
29
+ const aggregateLoader = new loader_1.AggregateRelationsLoader(relationDTO, relationName);
30
+ let RelationQA = class RelationQA extends (0, types_1.AggregateArgsType)(relationDTO) {
31
+ };
32
+ RelationQA = (0, tslib_1.__decorate)([
33
+ (0, graphql_1.ArgsType)()
34
+ ], RelationQA);
35
+ const AR = (0, types_1.AggregateResponseType)(relationDTO, { prefix: `${dtoName}${pluralBaseName}` });
36
+ let AggregateMixin = class AggregateMixin extends Base {
37
+ async [_a = `aggregate${pluralBaseName}`](dto, q, aggregateQuery, context, relationFilter) {
38
+ const qa = await (0, helpers_1.transformAndValidate)(RelationQA, q);
39
+ const loader = loader_1.DataLoaderFactory.getOrCreateLoader(context, aggregateRelationLoaderName, aggregateLoader.createLoader(this.service));
40
+ return loader.load({
41
+ dto,
42
+ filter: (0, nestjs_query_core_1.mergeFilter)(qa.filter ?? {}, relationFilter ?? {}),
43
+ aggregate: aggregateQuery,
44
+ });
45
+ }
46
+ };
47
+ (0, tslib_1.__decorate)([
48
+ (0, decorators_1.ResolverField)(`${pluralBaseNameLower}Aggregate`, () => [AR], {}, commonResolverOpts, {
49
+ interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
50
+ }),
51
+ (0, tslib_1.__param)(0, (0, graphql_1.Parent)()),
52
+ (0, tslib_1.__param)(1, (0, graphql_1.Args)()),
53
+ (0, tslib_1.__param)(2, (0, decorators_1.AggregateQueryParam)()),
54
+ (0, tslib_1.__param)(3, (0, graphql_1.Context)()),
55
+ (0, tslib_1.__param)(4, (0, decorators_1.RelationAuthorizerFilter)(baseNameLower, {
56
+ operationGroup: auth_1.OperationGroup.AGGREGATE,
57
+ many: true,
58
+ })),
59
+ (0, tslib_1.__metadata)("design:type", Function),
60
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, RelationQA, Object, Object, Object]),
61
+ (0, tslib_1.__metadata)("design:returntype", Promise)
62
+ ], AggregateMixin.prototype, _a, null);
63
+ AggregateMixin = (0, tslib_1.__decorate)([
64
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
65
+ ], AggregateMixin);
66
+ return AggregateMixin;
67
+ };
68
+ const AggregateRelationsMixin = (DTOClass, relations) => (Base) => {
69
+ const { many, enableAggregate } = relations;
70
+ const manyRelations = (0, helpers_2.flattenRelations)(many ?? {});
71
+ return manyRelations.reduce((RB, a) => AggregateRelationMixin(DTOClass, { enableAggregate, ...a })(RB), Base);
72
+ };
73
+ exports.AggregateRelationsMixin = AggregateRelationsMixin;
74
+ const AggregateRelationsResolver = (DTOClass, relations) => (0, exports.AggregateRelationsMixin)(DTOClass, relations)(resolver_interface_1.BaseServiceResolver);
75
+ exports.AggregateRelationsResolver = AggregateRelationsResolver;
76
+ //# sourceMappingURL=aggregate-relations.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-relations.resolver.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/resolvers/relations/aggregate-relations.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ResolverMethodOpts } from '../../decorators';
2
+ import { RelationTypeMap, ResolverRelation, ResolverRelationReference } from './relations.interface';
3
+ export declare const flattenRelations: <RT extends ResolverRelation<unknown> | ResolverRelationReference<unknown, unknown>>(relationOptions: RelationTypeMap<RT>) => RT[];
4
+ export declare const removeRelationOpts: <Relation>(opts: ResolverRelation<Relation> | ResolverRelationReference<unknown, Relation>) => ResolverMethodOpts;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeRelationOpts = exports.flattenRelations = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
6
+ const flattenRelations = (relationOptions) => Object.keys(relationOptions).map((name) => ({ dtoName: name, ...relationOptions[name] }));
7
+ exports.flattenRelations = flattenRelations;
8
+ const removeRelationOpts = (opts) => (0, lodash_omit_1.default)(opts, 'DTO', 'keys', 'nullable', 'dtoName', 'relationName', 'disableRead', 'disableUpdate', 'disableRemove', 'description');
9
+ exports.removeRelationOpts = removeRelationOpts;
10
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/resolvers/relations/helpers.ts"],"names":[],"mappings":";;;;AAAA,2EAA+B;AAIxB,MAAM,gBAAgB,GAAG,CAC9B,eAAoC,EAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAFxF,QAAA,gBAAgB,oBAEwE;AAE9F,MAAM,kBAAkB,GAAG,CAChC,IAA+E,EAC3D,EAAE,CACtB,IAAA,qBAAI,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAHtH,QAAA,kBAAkB,sBAGoG"}
@@ -0,0 +1,7 @@
1
+ export { Relatable } from './relations.resolver';
2
+ export { ReadRelationsResolver } from './read-relations.resolver';
3
+ export { UpdateRelationsResolver } from './update-relations.resolver';
4
+ export { RemoveRelationsResolver } from './remove-relations.resolver';
5
+ export { ReferencesRelationsResolver } from './references-relation.resolver';
6
+ export { AggregateRelationsResolver } from './aggregate-relations.resolver';
7
+ export { RelationTypeMap, ReferencesOpts, ResolverRelationReference, RelationsOpts, ResolverRelation, } from './relations.interface';