@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,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createResolvers = exports.isServiceCRUDAutoResolverOpts = exports.isAssemblerCRUDAutoResolverOpts = exports.isFederatedResolverOpts = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
6
+ const common_1 = require("@nestjs/common");
7
+ const graphql_1 = require("@nestjs/graphql");
8
+ const graphql_subscriptions_1 = require("graphql-subscriptions");
9
+ const decorators_1 = require("../decorators");
10
+ const resolvers_1 = require("../resolvers");
11
+ const isFederatedResolverOpts = (opts) => 'type' in opts && opts.type === 'federated';
12
+ exports.isFederatedResolverOpts = isFederatedResolverOpts;
13
+ const isAssemblerCRUDAutoResolverOpts = (opts) => 'DTOClass' in opts && 'AssemblerClass' in opts;
14
+ exports.isAssemblerCRUDAutoResolverOpts = isAssemblerCRUDAutoResolverOpts;
15
+ const isServiceCRUDAutoResolverOpts = (opts) => 'DTOClass' in opts && 'ServiceClass' in opts;
16
+ exports.isServiceCRUDAutoResolverOpts = isServiceCRUDAutoResolverOpts;
17
+ const getResolverToken = (DTOClass) => `${DTOClass.name}AutoResolver`;
18
+ const getFederatedResolverToken = (DTOClass) => `${DTOClass.name}FederatedAutoResolver`;
19
+ function createFederatedResolver(resolverOpts) {
20
+ const { DTOClass } = resolverOpts;
21
+ let AutoResolver = class AutoResolver extends (0, resolvers_1.FederationResolver)(DTOClass) {
22
+ constructor(service, pubSub) {
23
+ super(service);
24
+ this.service = service;
25
+ this.pubSub = pubSub;
26
+ }
27
+ };
28
+ AutoResolver = (0, tslib_1.__decorate)([
29
+ (0, graphql_1.Resolver)(() => DTOClass),
30
+ (0, tslib_1.__param)(0, (0, common_1.Inject)(resolverOpts.Service)),
31
+ (0, tslib_1.__param)(1, (0, decorators_1.InjectPubSub)()),
32
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, graphql_subscriptions_1.PubSub])
33
+ ], AutoResolver);
34
+ // need to set class name so DI works properly
35
+ Object.defineProperty(AutoResolver, 'name', { value: getFederatedResolverToken(DTOClass), writable: false });
36
+ return AutoResolver;
37
+ }
38
+ function createEntityAutoResolver(resolverOpts) {
39
+ const { DTOClass, EntityClass } = resolverOpts;
40
+ class Service extends nestjs_query_core_1.AssemblerQueryService {
41
+ constructor(service) {
42
+ const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(DTOClass, EntityClass);
43
+ super(assembler, service);
44
+ }
45
+ }
46
+ let AutoResolver = class AutoResolver extends (0, resolvers_1.CRUDResolver)(DTOClass, resolverOpts) {
47
+ constructor(service, pubSub) {
48
+ super(new Service(service));
49
+ this.pubSub = pubSub;
50
+ }
51
+ };
52
+ AutoResolver = (0, tslib_1.__decorate)([
53
+ (0, graphql_1.Resolver)(() => DTOClass),
54
+ (0, tslib_1.__param)(0, (0, nestjs_query_core_1.InjectQueryService)(EntityClass)),
55
+ (0, tslib_1.__param)(1, (0, decorators_1.InjectPubSub)()),
56
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, graphql_subscriptions_1.PubSub])
57
+ ], AutoResolver);
58
+ // need to set class name so DI works properly
59
+ Object.defineProperty(AutoResolver, 'name', { value: getResolverToken(DTOClass), writable: false });
60
+ return AutoResolver;
61
+ }
62
+ function createAssemblerAutoResolver(resolverOpts) {
63
+ const { DTOClass, AssemblerClass } = resolverOpts;
64
+ let AutoResolver = class AutoResolver extends (0, resolvers_1.CRUDResolver)(DTOClass, resolverOpts) {
65
+ constructor(service, pubSub) {
66
+ super(service);
67
+ this.pubSub = pubSub;
68
+ }
69
+ };
70
+ AutoResolver = (0, tslib_1.__decorate)([
71
+ (0, graphql_1.Resolver)(() => DTOClass),
72
+ (0, tslib_1.__param)(0, (0, nestjs_query_core_1.InjectAssemblerQueryService)(AssemblerClass)),
73
+ (0, tslib_1.__param)(1, (0, decorators_1.InjectPubSub)()),
74
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, graphql_subscriptions_1.PubSub])
75
+ ], AutoResolver);
76
+ // need to set class name so DI works properly
77
+ Object.defineProperty(AutoResolver, 'name', { value: getResolverToken(DTOClass), writable: false });
78
+ return AutoResolver;
79
+ }
80
+ function createServiceAutoResolver(resolverOpts) {
81
+ const { DTOClass, ServiceClass } = resolverOpts;
82
+ let AutoResolver = class AutoResolver extends (0, resolvers_1.CRUDResolver)(DTOClass, resolverOpts) {
83
+ constructor(service, pubSub) {
84
+ super(service);
85
+ this.pubSub = pubSub;
86
+ }
87
+ };
88
+ AutoResolver = (0, tslib_1.__decorate)([
89
+ (0, graphql_1.Resolver)(() => DTOClass),
90
+ (0, tslib_1.__param)(0, (0, common_1.Inject)(ServiceClass)),
91
+ (0, tslib_1.__param)(1, (0, decorators_1.InjectPubSub)()),
92
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, graphql_subscriptions_1.PubSub])
93
+ ], AutoResolver);
94
+ // need to set class name so DI works properly
95
+ Object.defineProperty(AutoResolver, 'name', { value: getResolverToken(DTOClass), writable: false });
96
+ return AutoResolver;
97
+ }
98
+ function createResolver(resolverOpts) {
99
+ if ((0, exports.isFederatedResolverOpts)(resolverOpts)) {
100
+ return createFederatedResolver(resolverOpts);
101
+ }
102
+ if ((0, exports.isAssemblerCRUDAutoResolverOpts)(resolverOpts)) {
103
+ return createAssemblerAutoResolver(resolverOpts);
104
+ }
105
+ if ((0, exports.isServiceCRUDAutoResolverOpts)(resolverOpts)) {
106
+ return createServiceAutoResolver(resolverOpts);
107
+ }
108
+ return createEntityAutoResolver(resolverOpts);
109
+ }
110
+ const createResolvers = (opts) => opts.map((opt) => createResolver(opt));
111
+ exports.createResolvers = createResolvers;
112
+ //# sourceMappingURL=resolver.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.provider.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/providers/resolver.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { AggregateQuery, AggregateResponse, Class, Filter, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ResolverMethodOpts } from '../decorators';
3
+ import { AggregateArgsType } from '../types';
4
+ import { ResolverClass, ServiceResolver } from './resolver.interface';
5
+ export declare type AggregateResolverOpts = {
6
+ enabled?: boolean;
7
+ } & ResolverMethodOpts;
8
+ export interface AggregateResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> extends ServiceResolver<DTO, QS> {
9
+ aggregate(filter: AggregateArgsType<DTO>, aggregateQuery: AggregateQuery<DTO>, authFilter?: Filter<DTO>): Promise<AggregateResponse<DTO>[]>;
10
+ }
11
+ /**
12
+ * @internal
13
+ * Mixin to add `read` graphql endpoints.
14
+ */
15
+ export declare const Aggregateable: <DTO, QS extends QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: AggregateResolverOpts) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<AggregateResolver<DTO, QS>> & B;
16
+ export declare const AggregateResolver: <DTO, QS extends QueryService<DTO, unknown, unknown> = QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: AggregateResolverOpts) => ResolverClass<DTO, QS, AggregateResolver<DTO, QS>>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateResolver = exports.Aggregateable = 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 interceptors_1 = require("../interceptors");
9
+ const common_1 = require("../common");
10
+ const decorators_1 = require("../decorators");
11
+ const types_1 = require("../types");
12
+ const helpers_1 = require("./helpers");
13
+ const resolver_interface_1 = require("./resolver.interface");
14
+ const auth_1 = require("../auth");
15
+ /**
16
+ * @internal
17
+ * Mixin to add `read` graphql endpoints.
18
+ */
19
+ const Aggregateable = (DTOClass, opts) => (BaseClass) => {
20
+ const { baseNameLower } = (0, common_1.getDTONames)(DTOClass);
21
+ const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'QueryArgs', 'Connection');
22
+ const queryName = `${baseNameLower}Aggregate`;
23
+ const AR = (0, types_1.AggregateResponseType)(DTOClass);
24
+ let AA = class AA extends (0, types_1.AggregateArgsType)(DTOClass) {
25
+ };
26
+ AA = (0, tslib_1.__decorate)([
27
+ (0, graphql_1.ArgsType)()
28
+ ], AA);
29
+ let AggregateResolverBase = class AggregateResolverBase extends BaseClass {
30
+ async aggregate(args, query, authFilter) {
31
+ const qa = await (0, helpers_1.transformAndValidate)(AA, args);
32
+ return this.service.aggregate((0, nestjs_query_core_1.mergeFilter)(qa.filter || {}, authFilter ?? {}), query);
33
+ }
34
+ };
35
+ (0, tslib_1.__decorate)([
36
+ (0, decorators_1.SkipIf)(() => !opts || !opts.enabled, (0, decorators_1.ResolverQuery)(() => [AR], { name: queryName }, commonResolverOpts, { interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)] }, opts ?? {})),
37
+ (0, tslib_1.__param)(0, (0, graphql_1.Args)()),
38
+ (0, tslib_1.__param)(1, (0, decorators_1.AggregateQueryParam)()),
39
+ (0, tslib_1.__param)(2, (0, decorators_1.AuthorizerFilter)({
40
+ operationGroup: auth_1.OperationGroup.AGGREGATE,
41
+ many: true,
42
+ })),
43
+ (0, tslib_1.__metadata)("design:type", Function),
44
+ (0, tslib_1.__metadata)("design:paramtypes", [AA, Object, Object]),
45
+ (0, tslib_1.__metadata)("design:returntype", Promise)
46
+ ], AggregateResolverBase.prototype, "aggregate", null);
47
+ AggregateResolverBase = (0, tslib_1.__decorate)([
48
+ (0, graphql_1.Resolver)(() => AR, { isAbstract: true })
49
+ ], AggregateResolverBase);
50
+ return AggregateResolverBase;
51
+ };
52
+ exports.Aggregateable = Aggregateable;
53
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
54
+ const AggregateResolver = (DTOClass, opts) => (0, exports.Aggregateable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
55
+ exports.AggregateResolver = AggregateResolver;
56
+ //# sourceMappingURL=aggregate.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/aggregate.resolver.ts"],"names":[],"mappings":";;;;AAAA,kEAAyH;AACzH,6CAA2D;AAC3D,2EAA+B;AAC/B,kDAAwD;AACxD,sCAAwC;AACxC,8CAAiH;AACjH,oCAAoE;AACpE,uCAAiD;AACjD,6DAA2F;AAC3F,kCAAyC;AAezC;;;GAGG;AACI,MAAM,aAAa,GACxB,CAAsD,QAAoB,EAAE,IAA4B,EAAE,EAAE,CAC5G,CAA4C,SAAY,EAAyC,EAAE;IACjG,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAA,qBAAI,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,GAAG,aAAa,WAAW,CAAC;IAC9C,MAAM,EAAE,GAAG,IAAA,6BAAqB,EAAC,QAAQ,CAAC,CAAC;IAE3C,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,yBAAiB,EAAC,QAAQ,CAAC;KAAG,CAAA;IAAzC,EAAE;QADP,IAAA,kBAAQ,GAAE;OACL,EAAE,CAAuC;IAG/C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,SAAS;QAW3C,KAAK,CAAC,SAAS,CACL,IAAQ,EACO,KAA0B,EAKjD,UAAwB;YAExB,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAoB,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAA,+BAAW,EAAC,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;KACF,CAAA;IAZC;QAVC,IAAA,mBAAM,EACL,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAC5B,IAAA,0BAAa,EACX,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EACV,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,kBAAkB,EAClB,EAAE,YAAY,EAAE,CAAC,IAAA,oCAAqB,EAAC,QAAQ,CAAC,CAAC,EAAE,EACnD,IAAI,IAAI,EAAE,CACX,CACF;QAEE,wBAAA,IAAA,cAAI,GAAE,CAAA;QACN,wBAAA,IAAA,gCAAmB,GAAE,CAAA;QACrB,wBAAA,IAAA,6BAAgB,EAAC;YAChB,cAAc,EAAE,qBAAc,CAAC,SAAS;YACxC,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;;sDALY,EAAE;;0DAUjB;IAtBG,qBAAqB;QAD1B,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;OACnC,qBAAqB,CAuB1B;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC,CAAC;AApCS,QAAA,aAAa,iBAoCtB;AACJ,0EAA0E;AACnE,MAAM,iBAAiB,GAAG,CAI/B,QAAoB,EACpB,IAA4B,EACwB,EAAE,CAAC,IAAA,qBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,wCAAmB,CAAC,CAAC;AAN/F,QAAA,iBAAiB,qBAM8E"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * This is the doc comment for file1.ts
3
+ * @packageDocumentation
4
+ */
5
+ import { Class, DeepPartial, Filter, QueryService } from '@ptc-org/nestjs-query-core';
6
+ import { CreateManyInputType, CreateOneInputType, MutationArgsType, SubscriptionArgsType } from '../types';
7
+ import { ResolverClass, ServiceResolver, SubscriptionResolverOpts } from './resolver.interface';
8
+ export declare type CreatedEvent<DTO> = {
9
+ [eventName: string]: DTO;
10
+ };
11
+ export interface CreateResolverOpts<DTO, C = DeepPartial<DTO>> extends SubscriptionResolverOpts {
12
+ /**
13
+ * The Input DTO that should be used to create records.
14
+ */
15
+ CreateDTOClass?: Class<C>;
16
+ /**
17
+ * The class to be used for `createOne` input.
18
+ */
19
+ CreateOneInput?: Class<CreateOneInputType<C>>;
20
+ /**
21
+ * The class to be used for `createMany` input.
22
+ */
23
+ CreateManyInput?: Class<CreateManyInputType<C>>;
24
+ createOneMutationName?: string;
25
+ createManyMutationName?: string;
26
+ }
27
+ export interface CreateResolver<DTO, C, QS extends QueryService<DTO, C, unknown>> extends ServiceResolver<DTO, QS> {
28
+ createOne(input: MutationArgsType<CreateOneInputType<C>>, authorizeFilter?: Filter<DTO>): Promise<DTO>;
29
+ createMany(input: MutationArgsType<CreateManyInputType<C>>, authorizeFilter?: Filter<DTO>): Promise<DTO[]>;
30
+ createdSubscription(input?: SubscriptionArgsType<DTO>, authorizeFilter?: Filter<DTO>): AsyncIterator<CreatedEvent<DTO>>;
31
+ }
32
+ /**
33
+ * @internal
34
+ * Mixin to add `create` graphql endpoints.
35
+ */
36
+ export declare const Creatable: <DTO, C, QS extends QueryService<DTO, C, unknown>>(DTOClass: Class<DTO>, opts: CreateResolverOpts<DTO, C>) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<CreateResolver<DTO, C, QS>> & B;
37
+ /**
38
+ * Factory to create a new abstract class that can be extended to add `create` endpoints.
39
+ *
40
+ * Assume we have `TodoItemDTO`, you can create a resolver with `createOneTodoItem` and `createManyTodoItems` graphql
41
+ * query endpoints using the following code.
42
+ *
43
+ * ```ts
44
+ * @Resolver()
45
+ * export class TodoItemResolver extends CreateResolver(TodoItemDTO) {
46
+ * constructor(readonly service: TodoItemService) {
47
+ * super(service);
48
+ * }
49
+ * }
50
+ * ```
51
+ *
52
+ * @param DTOClass - The DTO class that should be returned from the `createOne` and `createMany` endpoint.
53
+ * @param opts - Options to customize endpoints.
54
+ * @typeparam DTO - The type of DTO that should be created.
55
+ * @typeparam C - The create DTO type.
56
+ */
57
+ export declare const CreateResolver: <DTO, C = DeepPartial<DTO>, QS extends QueryService<DTO, C, unknown> = QueryService<DTO, C, unknown>>(DTOClass: Class<DTO>, opts?: CreateResolverOpts<DTO, C>) => ResolverClass<DTO, QS, CreateResolver<DTO, C, QS>>;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateResolver = exports.Creatable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
7
+ const hooks_1 = require("../hooks");
8
+ const common_1 = require("../common");
9
+ const decorators_1 = require("../decorators");
10
+ const interceptors_1 = require("../interceptors");
11
+ const subscription_1 = require("../subscription");
12
+ const types_1 = require("../types");
13
+ const helpers_1 = require("./helpers");
14
+ const resolver_interface_1 = require("./resolver.interface");
15
+ const auth_1 = require("../auth");
16
+ /** @internal */
17
+ const defaultCreateDTO = (dtoNames, DTOClass) => {
18
+ let PartialInput =
19
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
20
+ // @ts-ignore
21
+ class PartialInput extends (0, graphql_1.PartialType)(DTOClass, graphql_1.InputType) {
22
+ };
23
+ PartialInput = (0, tslib_1.__decorate)([
24
+ (0, graphql_1.InputType)(`Create${dtoNames.baseName}`)
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ ], PartialInput);
28
+ return PartialInput;
29
+ };
30
+ /** @internal */
31
+ const defaultCreateOneInput = (dtoNames, InputDTO) => {
32
+ const { baseName, baseNameLower } = dtoNames;
33
+ let CO = class CO extends (0, types_1.CreateOneInputType)(baseNameLower, InputDTO) {
34
+ };
35
+ CO = (0, tslib_1.__decorate)([
36
+ (0, graphql_1.InputType)(`CreateOne${baseName}Input`)
37
+ ], CO);
38
+ return CO;
39
+ };
40
+ /** @internal */
41
+ const defaultCreateManyInput = (dtoNames, InputDTO) => {
42
+ const { pluralBaseName, pluralBaseNameLower } = dtoNames;
43
+ let CM = class CM extends (0, types_1.CreateManyInputType)(pluralBaseNameLower, InputDTO) {
44
+ };
45
+ CM = (0, tslib_1.__decorate)([
46
+ (0, graphql_1.InputType)(`CreateMany${pluralBaseName}Input`)
47
+ ], CM);
48
+ return CM;
49
+ };
50
+ /**
51
+ * @internal
52
+ * Mixin to add `create` graphql endpoints.
53
+ */
54
+ const Creatable = (DTOClass, opts) => (BaseClass) => {
55
+ const dtoNames = (0, common_1.getDTONames)(DTOClass, opts);
56
+ const { baseName, pluralBaseName } = dtoNames;
57
+ const enableSubscriptions = opts.enableSubscriptions === true;
58
+ const enableOneSubscriptions = opts.one?.enableSubscriptions ?? enableSubscriptions;
59
+ const enableManySubscriptions = opts.many?.enableSubscriptions ?? enableSubscriptions;
60
+ const createdEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.CREATED, DTOClass);
61
+ const { CreateDTOClass = defaultCreateDTO(dtoNames, DTOClass), CreateOneInput = defaultCreateOneInput(dtoNames, CreateDTOClass), CreateManyInput = defaultCreateManyInput(dtoNames, CreateDTOClass), } = opts;
62
+ const createOneMutationName = opts.one?.name ?? `createOne${baseName}`;
63
+ const createManyMutationName = opts.many?.name ?? `createMany${pluralBaseName}`;
64
+ const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'CreateDTOClass', 'CreateOneInput', 'CreateManyInput');
65
+ let CO = class CO extends (0, types_1.MutationArgsType)(CreateOneInput) {
66
+ };
67
+ CO = (0, tslib_1.__decorate)([
68
+ (0, graphql_1.ArgsType)()
69
+ ], CO);
70
+ let CM = class CM extends (0, types_1.MutationArgsType)(CreateManyInput) {
71
+ };
72
+ CM = (0, tslib_1.__decorate)([
73
+ (0, graphql_1.ArgsType)()
74
+ ], CM);
75
+ let SI = class SI extends (0, types_1.SubscriptionFilterInputType)(DTOClass) {
76
+ };
77
+ SI = (0, tslib_1.__decorate)([
78
+ (0, graphql_1.InputType)(`Create${baseName}SubscriptionFilterInput`)
79
+ ], SI);
80
+ let SA = class SA extends (0, types_1.SubscriptionArgsType)(SI) {
81
+ };
82
+ SA = (0, tslib_1.__decorate)([
83
+ (0, graphql_1.ArgsType)()
84
+ ], SA);
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ const subscriptionFilter = (0, helpers_1.createSubscriptionFilter)(SI, createdEvent);
87
+ let CreateResolverBase = class CreateResolverBase extends BaseClass {
88
+ async createOne(input, authorizeFilter) {
89
+ // Ignore `authorizeFilter` for now but give users the ability to throw an UnauthorizedException
90
+ const created = await this.service.createOne(input.input.input);
91
+ if (enableOneSubscriptions) {
92
+ await this.publishCreatedEvent(created, authorizeFilter);
93
+ }
94
+ return created;
95
+ }
96
+ async createMany(input, authorizeFilter) {
97
+ // Ignore `authorizeFilter` for now but give users the ability to throw an UnauthorizedException
98
+ const created = await this.service.createMany(input.input.input);
99
+ if (enableManySubscriptions) {
100
+ await Promise.all(created.map((c) => this.publishCreatedEvent(c, authorizeFilter)));
101
+ }
102
+ return created;
103
+ }
104
+ async publishCreatedEvent(dto, authorizeFilter) {
105
+ if (this.pubSub) {
106
+ const eventName = (0, helpers_1.getSubscriptionEventName)(createdEvent, authorizeFilter);
107
+ await this.pubSub.publish(eventName, { [createdEvent]: dto });
108
+ }
109
+ }
110
+ createdSubscription(input, authorizeFilter) {
111
+ if (!this.pubSub || !(enableManySubscriptions || enableOneSubscriptions)) {
112
+ throw new Error(`Unable to subscribe to ${createdEvent}`);
113
+ }
114
+ const eventName = (0, helpers_1.getSubscriptionEventName)(createdEvent, authorizeFilter);
115
+ return this.pubSub.asyncIterator(eventName);
116
+ }
117
+ };
118
+ (0, tslib_1.__decorate)([
119
+ (0, decorators_1.ResolverMutation)(() => DTOClass, { name: createOneMutationName, description: opts?.one?.description }, commonResolverOpts, {
120
+ interceptors: [
121
+ (0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_CREATE_ONE, CreateDTOClass, DTOClass),
122
+ (0, interceptors_1.AuthorizerInterceptor)(DTOClass),
123
+ ],
124
+ }, opts.one ?? {}),
125
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
126
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
127
+ operationGroup: auth_1.OperationGroup.CREATE,
128
+ many: false,
129
+ })),
130
+ (0, tslib_1.__metadata)("design:type", Function),
131
+ (0, tslib_1.__metadata)("design:paramtypes", [CO, Object]),
132
+ (0, tslib_1.__metadata)("design:returntype", Promise)
133
+ ], CreateResolverBase.prototype, "createOne", null);
134
+ (0, tslib_1.__decorate)([
135
+ (0, decorators_1.ResolverMutation)(() => [DTOClass], { name: createManyMutationName, description: opts?.many?.description }, { ...commonResolverOpts }, {
136
+ interceptors: [
137
+ (0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_CREATE_MANY, CreateDTOClass, DTOClass),
138
+ (0, interceptors_1.AuthorizerInterceptor)(DTOClass),
139
+ ],
140
+ }, opts.many ?? {}),
141
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
142
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
143
+ operationGroup: auth_1.OperationGroup.CREATE,
144
+ many: true,
145
+ })),
146
+ (0, tslib_1.__metadata)("design:type", Function),
147
+ (0, tslib_1.__metadata)("design:paramtypes", [CM, Object]),
148
+ (0, tslib_1.__metadata)("design:returntype", Promise)
149
+ ], CreateResolverBase.prototype, "createMany", null);
150
+ (0, tslib_1.__decorate)([
151
+ (0, decorators_1.ResolverSubscription)(() => DTOClass, { name: createdEvent, filter: subscriptionFilter }, commonResolverOpts, {
152
+ enableSubscriptions: enableOneSubscriptions || enableManySubscriptions,
153
+ interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
154
+ }),
155
+ (0, tslib_1.__param)(0, (0, graphql_1.Args)()),
156
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.CREATE, many: false })),
157
+ (0, tslib_1.__metadata)("design:type", Function),
158
+ (0, tslib_1.__metadata)("design:paramtypes", [SA, Object]),
159
+ (0, tslib_1.__metadata)("design:returntype", Object)
160
+ ], CreateResolverBase.prototype, "createdSubscription", null);
161
+ CreateResolverBase = (0, tslib_1.__decorate)([
162
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
163
+ ], CreateResolverBase);
164
+ return CreateResolverBase;
165
+ };
166
+ exports.Creatable = Creatable;
167
+ /**
168
+ * Factory to create a new abstract class that can be extended to add `create` endpoints.
169
+ *
170
+ * Assume we have `TodoItemDTO`, you can create a resolver with `createOneTodoItem` and `createManyTodoItems` graphql
171
+ * query endpoints using the following code.
172
+ *
173
+ * ```ts
174
+ * @Resolver()
175
+ * export class TodoItemResolver extends CreateResolver(TodoItemDTO) {
176
+ * constructor(readonly service: TodoItemService) {
177
+ * super(service);
178
+ * }
179
+ * }
180
+ * ```
181
+ *
182
+ * @param DTOClass - The DTO class that should be returned from the `createOne` and `createMany` endpoint.
183
+ * @param opts - Options to customize endpoints.
184
+ * @typeparam DTO - The type of DTO that should be created.
185
+ * @typeparam C - The create DTO type.
186
+ */
187
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
188
+ const CreateResolver = (DTOClass, opts = {}) => (0, exports.Creatable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
189
+ exports.CreateResolver = CreateResolver;
190
+ //# sourceMappingURL=create.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/create.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { Class, DeepPartial, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ConnectionOptions, PagingStrategies } from '../types';
3
+ import { AggregateResolverOpts, AggregateResolver } from './aggregate.resolver';
4
+ import { ReadResolverFromOpts, ReadResolverOpts } from './read.resolver';
5
+ import { CreateResolver, CreateResolverOpts } from './create.resolver';
6
+ import { ReferenceResolverOpts } from './reference.resolver';
7
+ import { MergePagingStrategyOpts, ResolverClass } from './resolver.interface';
8
+ import { UpdateResolver, UpdateResolverOpts } from './update.resolver';
9
+ import { DeleteResolver, DeleteResolverOpts } from './delete.resolver';
10
+ import { BaseResolverOptions } from '../decorators/resolver-method.decorator';
11
+ export interface CRUDResolverOpts<DTO, C = DeepPartial<DTO>, U = DeepPartial<DTO>, R extends ReadResolverOpts<DTO> = ReadResolverOpts<DTO>, PS extends PagingStrategies = PagingStrategies.CURSOR> extends BaseResolverOptions, Pick<ConnectionOptions, 'enableTotalCount'> {
12
+ /**
13
+ * The DTO that should be used as input for create endpoints.
14
+ */
15
+ CreateDTOClass?: Class<C>;
16
+ /**
17
+ * The DTO that should be used as input for update endpoints.
18
+ */
19
+ UpdateDTOClass?: Class<U>;
20
+ enableSubscriptions?: boolean;
21
+ pagingStrategy?: PS;
22
+ enableAggregate?: boolean;
23
+ create?: CreateResolverOpts<DTO, C>;
24
+ read?: R;
25
+ update?: UpdateResolverOpts<DTO, U>;
26
+ delete?: DeleteResolverOpts<DTO>;
27
+ referenceBy?: ReferenceResolverOpts;
28
+ aggregate?: AggregateResolverOpts;
29
+ }
30
+ export interface CRUDResolver<DTO, C, U, R extends ReadResolverOpts<DTO>, QS extends QueryService<DTO, C, U> = QueryService<DTO, C, U>> extends CreateResolver<DTO, C, QS>, ReadResolverFromOpts<DTO, R, QS>, UpdateResolver<DTO, U, QS>, DeleteResolver<DTO, QS>, AggregateResolver<DTO, QS> {
31
+ }
32
+ /**
33
+ * Factory to create a resolver that includes all CRUD methods from [[CreateResolver]], [[ReadResolver]],
34
+ * [[UpdateResolver]], and [[DeleteResolver]].
35
+ *
36
+ * ```ts
37
+ * import { CRUDResolver } from '@ptc-org/nestjs-query-graphql';
38
+ * import { Resolver } from '@nestjs/graphql';
39
+ * import { TodoItemDTO } from './dto/todo-item.dto';
40
+ * import { TodoItemService } from './todo-item.service';
41
+ *
42
+ * @Resolver()
43
+ * export class TodoItemResolver extends CRUDResolver(TodoItemDTO) {
44
+ * constructor(readonly service: TodoItemService) {
45
+ * super(service);
46
+ * }
47
+ * }
48
+ * ```
49
+ * @param DTOClass - The DTO Class that the resolver is for. All methods will use types derived from this class.
50
+ * @param opts - Options to customize the resolver.
51
+ */
52
+ export declare const CRUDResolver: <DTO, C = DeepPartial<DTO>, U = DeepPartial<DTO>, R extends ReadResolverOpts<DTO> = ReadResolverOpts<DTO>, PS extends PagingStrategies = PagingStrategies.CURSOR>(DTOClass: Class<DTO>, opts?: CRUDResolverOpts<DTO, C, U, R, PS>) => ResolverClass<DTO, QueryService<DTO, C, U>, CRUDResolver<DTO, C, U, MergePagingStrategyOpts<DTO, R, PS>, QueryService<DTO, C, U>>>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CRUDResolver = void 0;
4
+ const aggregate_resolver_1 = require("./aggregate.resolver");
5
+ const relations_1 = require("./relations");
6
+ const read_resolver_1 = require("./read.resolver");
7
+ const create_resolver_1 = require("./create.resolver");
8
+ const reference_resolver_1 = require("./reference.resolver");
9
+ const update_resolver_1 = require("./update.resolver");
10
+ const delete_resolver_1 = require("./delete.resolver");
11
+ const common_1 = require("../common");
12
+ function extractRelatableOpts(opts) {
13
+ const { enableTotalCount, enableAggregate } = opts;
14
+ return (0, common_1.mergeBaseResolverOpts)({ enableAggregate, enableTotalCount }, opts);
15
+ }
16
+ function extractAggregateResolverOpts(opts) {
17
+ const { enableAggregate, aggregate } = opts;
18
+ return (0, common_1.mergeBaseResolverOpts)({ enabled: enableAggregate, ...aggregate }, opts);
19
+ }
20
+ function extractCreateResolverOpts(opts) {
21
+ const { CreateDTOClass, enableSubscriptions, create } = opts;
22
+ return (0, common_1.mergeBaseResolverOpts)({ CreateDTOClass, enableSubscriptions, ...create }, opts);
23
+ }
24
+ function extractReadResolverOpts(opts) {
25
+ const { enableTotalCount, pagingStrategy, read } = opts;
26
+ return (0, common_1.mergeBaseResolverOpts)({ enableTotalCount, pagingStrategy, ...read }, opts);
27
+ }
28
+ function extractUpdateResolverOpts(opts) {
29
+ const { UpdateDTOClass, enableSubscriptions, update } = opts;
30
+ return (0, common_1.mergeBaseResolverOpts)({ UpdateDTOClass, enableSubscriptions, ...update }, opts);
31
+ }
32
+ function extractDeleteResolverOpts(opts) {
33
+ const { enableSubscriptions, delete: deleteArgs } = opts;
34
+ return (0, common_1.mergeBaseResolverOpts)({ enableSubscriptions, ...deleteArgs }, opts);
35
+ }
36
+ /**
37
+ * Factory to create a resolver that includes all CRUD methods from [[CreateResolver]], [[ReadResolver]],
38
+ * [[UpdateResolver]], and [[DeleteResolver]].
39
+ *
40
+ * ```ts
41
+ * import { CRUDResolver } from '@ptc-org/nestjs-query-graphql';
42
+ * import { Resolver } from '@nestjs/graphql';
43
+ * import { TodoItemDTO } from './dto/todo-item.dto';
44
+ * import { TodoItemService } from './todo-item.service';
45
+ *
46
+ * @Resolver()
47
+ * export class TodoItemResolver extends CRUDResolver(TodoItemDTO) {
48
+ * constructor(readonly service: TodoItemService) {
49
+ * super(service);
50
+ * }
51
+ * }
52
+ * ```
53
+ * @param DTOClass - The DTO Class that the resolver is for. All methods will use types derived from this class.
54
+ * @param opts - Options to customize the resolver.
55
+ */
56
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
57
+ const CRUDResolver = (DTOClass, opts = {}) => {
58
+ const referencable = (0, reference_resolver_1.Referenceable)(DTOClass, opts.referenceBy ?? {});
59
+ const relatable = (0, relations_1.Relatable)(DTOClass, extractRelatableOpts(opts));
60
+ const aggregateable = (0, aggregate_resolver_1.Aggregateable)(DTOClass, extractAggregateResolverOpts(opts));
61
+ const creatable = (0, create_resolver_1.Creatable)(DTOClass, extractCreateResolverOpts(opts));
62
+ const readable = (0, read_resolver_1.Readable)(DTOClass, extractReadResolverOpts(opts));
63
+ const updatable = (0, update_resolver_1.Updateable)(DTOClass, extractUpdateResolverOpts(opts));
64
+ const deleteResolver = (0, delete_resolver_1.DeleteResolver)(DTOClass, extractDeleteResolverOpts(opts));
65
+ return referencable(relatable(aggregateable(creatable(readable(updatable(deleteResolver))))));
66
+ };
67
+ exports.CRUDResolver = CRUDResolver;
68
+ //# sourceMappingURL=crud.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/crud.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Class, DeleteManyResponse, Filter, QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { ResolverClass, ServiceResolver, SubscriptionResolverOpts } from './resolver.interface';
3
+ import { DeleteManyInputType, DeleteOneInputType, MutationArgsType, SubscriptionArgsType } from '../types';
4
+ export declare type DeletedEvent<DTO> = {
5
+ [eventName: string]: DTO;
6
+ };
7
+ export interface DeleteResolverOpts<DTO> extends SubscriptionResolverOpts {
8
+ /**
9
+ * ArgsType for deleteOne mutation.
10
+ */
11
+ DeleteOneInput?: Class<DeleteOneInputType>;
12
+ /**
13
+ * ArgsType for deleteMany mutation.
14
+ */
15
+ DeleteManyInput?: Class<DeleteManyInputType<DTO>>;
16
+ /**
17
+ * Use soft delete when doing delete mutation
18
+ */
19
+ useSoftDelete?: boolean;
20
+ }
21
+ export interface DeleteResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> extends ServiceResolver<DTO, QS> {
22
+ deleteOne(input: MutationArgsType<DeleteOneInputType>, authorizeFilter?: Filter<DTO>): Promise<Partial<DTO>>;
23
+ deleteMany(input: MutationArgsType<DeleteManyInputType<DTO>>, authorizeFilter?: Filter<DTO>): Promise<DeleteManyResponse>;
24
+ deletedOneSubscription(input?: SubscriptionArgsType<DTO>, authorizeFilter?: Filter<DTO>): AsyncIterator<DeletedEvent<Partial<DTO>>>;
25
+ deletedManySubscription(authorizeFilter?: Filter<DTO>): AsyncIterator<DeletedEvent<DeleteManyResponse>>;
26
+ }
27
+ /**
28
+ * @internal
29
+ * Mixin to add `delete` graphql endpoints.
30
+ */
31
+ export declare const Deletable: <DTO, QS extends QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts: DeleteResolverOpts<DTO>) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<DeleteResolver<DTO, QS>> & B;
32
+ export declare const DeleteResolver: <DTO, QS extends QueryService<DTO, unknown, unknown> = QueryService<DTO, unknown, unknown>>(DTOClass: Class<DTO>, opts?: DeleteResolverOpts<DTO>) => ResolverClass<DTO, QS, DeleteResolver<DTO, QS>>;