@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,47 @@
1
+ import { QueryService } from '@ptc-org/nestjs-query-core';
2
+ import { DTONamesOpts } from '../common';
3
+ import { QueryResolverMethodOpts, SubscriptionResolverMethodOpts } from '../decorators';
4
+ import { GraphQLPubSub } from '../subscription';
5
+ import { PagingStrategies, QueryArgsTypeOpts } from '../types';
6
+ declare type NamedEndpoint = {
7
+ /** Specify to override the name of the graphql query or mutation * */
8
+ name?: string;
9
+ /** Specify a description for the graphql query or mutation* */
10
+ description?: string;
11
+ };
12
+ export interface ResolverOpts extends QueryResolverMethodOpts, DTONamesOpts {
13
+ /**
14
+ * Options for single record graphql endpoints
15
+ */
16
+ one?: QueryResolverMethodOpts & NamedEndpoint;
17
+ /**
18
+ * Options for multiple record graphql endpoints
19
+ */
20
+ many?: QueryResolverMethodOpts & NamedEndpoint;
21
+ }
22
+ export interface SubscriptionResolverOpts extends SubscriptionResolverMethodOpts, DTONamesOpts {
23
+ one?: SubscriptionResolverMethodOpts & NamedEndpoint;
24
+ many?: SubscriptionResolverMethodOpts & NamedEndpoint;
25
+ }
26
+ /** @internal */
27
+ export interface ServiceResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> {
28
+ service: QS;
29
+ readonly pubSub?: GraphQLPubSub;
30
+ }
31
+ /** @internal */
32
+ export interface ResolverClass<DTO, QS extends QueryService<DTO, unknown, unknown>, Resolver extends ServiceResolver<DTO, QS>> {
33
+ new (service: QS): Resolver;
34
+ }
35
+ /**
36
+ * @internal
37
+ * Base Resolver that takes in a service as a constructor argument.
38
+ */
39
+ export declare class BaseServiceResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> {
40
+ readonly service: QS;
41
+ constructor(service: QS);
42
+ }
43
+ export declare type ExtractPagingStrategy<DTO, Opts extends QueryArgsTypeOpts<DTO>> = Opts['pagingStrategy'] extends PagingStrategies ? Opts['pagingStrategy'] : PagingStrategies.CURSOR;
44
+ export declare type MergePagingStrategyOpts<DTO, Opts extends QueryArgsTypeOpts<DTO>, S extends PagingStrategies> = Opts['pagingStrategy'] extends PagingStrategies ? Opts : S extends PagingStrategies ? Omit<Opts, 'pagingStrategy'> & {
45
+ pagingStrategy: S;
46
+ } : Opts;
47
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseServiceResolver = void 0;
4
+ /**
5
+ * @internal
6
+ * Base Resolver that takes in a service as a constructor argument.
7
+ */
8
+ class BaseServiceResolver {
9
+ constructor(service) {
10
+ this.service = service;
11
+ }
12
+ }
13
+ exports.BaseServiceResolver = BaseServiceResolver;
14
+ //# sourceMappingURL=resolver.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.interface.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/resolver.interface.ts"],"names":[],"mappings":";;;AA4CA;;;GAGG;AACH,MAAa,mBAAmB;IAC9B,YAAqB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;IAAG,CAAC;CACrC;AAFD,kDAEC"}
@@ -0,0 +1,23 @@
1
+ import { Class, DeepPartial, DeleteManyResponse, Filter, QueryService, UpdateManyResponse } from '@ptc-org/nestjs-query-core';
2
+ import { MutationArgsType, SubscriptionArgsType, UpdateManyInputType, UpdateOneInputType } from '../types';
3
+ import { ResolverClass, ServiceResolver, SubscriptionResolverOpts } from './resolver.interface';
4
+ export declare type UpdatedEvent<DTO> = {
5
+ [eventName: string]: DTO;
6
+ };
7
+ export interface UpdateResolverOpts<DTO, U = DeepPartial<DTO>> extends SubscriptionResolverOpts {
8
+ UpdateDTOClass?: Class<U>;
9
+ UpdateOneInput?: Class<UpdateOneInputType<U>>;
10
+ UpdateManyInput?: Class<UpdateManyInputType<DTO, U>>;
11
+ }
12
+ export interface UpdateResolver<DTO, U, QS extends QueryService<DTO, unknown, U>> extends ServiceResolver<DTO, QS> {
13
+ updateOne(input: MutationArgsType<UpdateOneInputType<U>>, authFilter?: Filter<DTO>): Promise<DTO>;
14
+ updateMany(input: MutationArgsType<UpdateManyInputType<DTO, U>>, authFilter?: Filter<DTO>): Promise<UpdateManyResponse>;
15
+ updatedOneSubscription(input?: SubscriptionArgsType<DTO>, authFilter?: Filter<DTO>): AsyncIterator<UpdatedEvent<DTO>>;
16
+ updatedManySubscription(authFilter?: Filter<DTO>): AsyncIterator<UpdatedEvent<DeleteManyResponse>>;
17
+ }
18
+ /**
19
+ * @internal
20
+ * Mixin to add `update` graphql endpoints.
21
+ */
22
+ export declare const Updateable: <DTO, U, QS extends QueryService<DTO, unknown, U>>(DTOClass: Class<DTO>, opts: UpdateResolverOpts<DTO, U>) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<UpdateResolver<DTO, U, QS>> & B;
23
+ export declare const UpdateResolver: <DTO, U = DeepPartial<DTO>, QS extends QueryService<DTO, unknown, U> = QueryService<DTO, unknown, U>>(DTOClass: Class<DTO>, opts?: UpdateResolverOpts<DTO, U>) => ResolverClass<DTO, QS, UpdateResolver<DTO, U, QS>>;
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateResolver = exports.Updateable = 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 graphql_1 = require("@nestjs/graphql");
8
+ const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
9
+ const hooks_1 = require("../hooks");
10
+ const common_1 = require("../common");
11
+ const subscription_1 = require("../subscription");
12
+ const types_1 = require("../types");
13
+ const resolver_interface_1 = require("./resolver.interface");
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 defaultUpdateInput = (dtoNames, DTOClass) => {
20
+ let UpdateType =
21
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
+ // @ts-ignore
23
+ class UpdateType extends (0, graphql_1.PartialType)(DTOClass, graphql_1.InputType) {
24
+ };
25
+ UpdateType = (0, tslib_1.__decorate)([
26
+ (0, graphql_1.InputType)(`Update${dtoNames.baseName}`)
27
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
28
+ // @ts-ignore
29
+ ], UpdateType);
30
+ return UpdateType;
31
+ };
32
+ /** @internal */
33
+ const defaultUpdateOneInput = (dtoNames, DTOClass, UpdateDTO) => {
34
+ const { baseName } = dtoNames;
35
+ let UM = class UM extends (0, types_1.UpdateOneInputType)(DTOClass, UpdateDTO) {
36
+ };
37
+ UM = (0, tslib_1.__decorate)([
38
+ (0, graphql_1.InputType)(`UpdateOne${baseName}Input`)
39
+ ], UM);
40
+ return UM;
41
+ };
42
+ /** @internal */
43
+ const defaultUpdateManyInput = (dtoNames, DTOClass, UpdateDTO) => {
44
+ const { pluralBaseName } = dtoNames;
45
+ let UM = class UM extends (0, types_1.UpdateManyInputType)(DTOClass, UpdateDTO) {
46
+ };
47
+ UM = (0, tslib_1.__decorate)([
48
+ (0, graphql_1.InputType)(`UpdateMany${pluralBaseName}Input`)
49
+ ], UM);
50
+ return UM;
51
+ };
52
+ /**
53
+ * @internal
54
+ * Mixin to add `update` graphql endpoints.
55
+ */
56
+ const Updateable = (DTOClass, opts) => (BaseClass) => {
57
+ const dtoNames = (0, common_1.getDTONames)(DTOClass, opts);
58
+ const { baseName, pluralBaseName } = dtoNames;
59
+ const UMR = (0, types_1.UpdateManyResponseType)();
60
+ const enableSubscriptions = opts.enableSubscriptions === true;
61
+ const enableOneSubscriptions = opts.one?.enableSubscriptions ?? enableSubscriptions;
62
+ const enableManySubscriptions = opts.many?.enableSubscriptions ?? enableSubscriptions;
63
+ const updateOneEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.UPDATED_ONE, DTOClass);
64
+ const updateManyEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.UPDATED_MANY, DTOClass);
65
+ const { UpdateDTOClass = defaultUpdateInput(dtoNames, DTOClass), UpdateOneInput = defaultUpdateOneInput(dtoNames, DTOClass, UpdateDTOClass), UpdateManyInput = defaultUpdateManyInput(dtoNames, DTOClass, UpdateDTOClass), } = opts;
66
+ const updateOneMutationName = opts.one?.name ?? `updateOne${baseName}`;
67
+ const updateManyMutationName = opts.many?.name ?? `updateMany${pluralBaseName}`;
68
+ const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'UpdateDTOClass', 'UpdateOneInput', 'UpdateManyInput');
69
+ let UO = class UO extends (0, types_1.MutationArgsType)(UpdateOneInput) {
70
+ };
71
+ UO = (0, tslib_1.__decorate)([
72
+ (0, graphql_1.ArgsType)()
73
+ ], UO);
74
+ let UM = class UM extends (0, types_1.MutationArgsType)(UpdateManyInput) {
75
+ };
76
+ UM = (0, tslib_1.__decorate)([
77
+ (0, graphql_1.ArgsType)()
78
+ ], UM);
79
+ let SI = class SI extends (0, types_1.SubscriptionFilterInputType)(DTOClass) {
80
+ };
81
+ SI = (0, tslib_1.__decorate)([
82
+ (0, graphql_1.InputType)(`UpdateOne${baseName}SubscriptionFilterInput`)
83
+ ], SI);
84
+ let UOSA = class UOSA extends (0, types_1.SubscriptionArgsType)(SI) {
85
+ };
86
+ UOSA = (0, tslib_1.__decorate)([
87
+ (0, graphql_1.ArgsType)()
88
+ ], UOSA);
89
+ const updateOneSubscriptionFilter = (0, helpers_1.createSubscriptionFilter)(SI, updateOneEvent);
90
+ let UpdateResolverBase = class UpdateResolverBase extends BaseClass {
91
+ async updateOne(input, authorizeFilter) {
92
+ const { id, update } = input.input;
93
+ const updateResult = await this.service.updateOne(id, update, { filter: authorizeFilter ?? {} });
94
+ if (enableOneSubscriptions) {
95
+ await this.publishUpdatedOneEvent(updateResult, authorizeFilter);
96
+ }
97
+ return updateResult;
98
+ }
99
+ async updateMany(input, authorizeFilter) {
100
+ const { update, filter } = input.input;
101
+ const updateManyResponse = await this.service.updateMany(update, (0, nestjs_query_core_1.mergeFilter)(filter, authorizeFilter ?? {}));
102
+ if (enableManySubscriptions) {
103
+ await this.publishUpdatedManyEvent(updateManyResponse, authorizeFilter);
104
+ }
105
+ return updateManyResponse;
106
+ }
107
+ async publishUpdatedOneEvent(dto, authorizeFilter) {
108
+ if (this.pubSub) {
109
+ const eventName = (0, helpers_1.getSubscriptionEventName)(updateOneEvent, authorizeFilter);
110
+ await this.pubSub.publish(eventName, { [updateOneEvent]: dto });
111
+ }
112
+ }
113
+ async publishUpdatedManyEvent(umr, authorizeFilter) {
114
+ if (this.pubSub) {
115
+ const eventName = (0, helpers_1.getSubscriptionEventName)(updateManyEvent, authorizeFilter);
116
+ await this.pubSub.publish(eventName, { [updateManyEvent]: umr });
117
+ }
118
+ }
119
+ // input required so graphql subscription filtering will work.
120
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
121
+ updatedOneSubscription(input, authorizeFilter) {
122
+ if (!enableOneSubscriptions || !this.pubSub) {
123
+ throw new Error(`Unable to subscribe to ${updateOneEvent}`);
124
+ }
125
+ const eventName = (0, helpers_1.getSubscriptionEventName)(updateOneEvent, authorizeFilter);
126
+ return this.pubSub.asyncIterator(eventName);
127
+ }
128
+ updatedManySubscription(authorizeFilter) {
129
+ if (!enableManySubscriptions || !this.pubSub) {
130
+ throw new Error(`Unable to subscribe to ${updateManyEvent}`);
131
+ }
132
+ const eventName = (0, helpers_1.getSubscriptionEventName)(updateManyEvent, authorizeFilter);
133
+ return this.pubSub.asyncIterator(eventName);
134
+ }
135
+ };
136
+ (0, tslib_1.__decorate)([
137
+ (0, decorators_1.ResolverMutation)(() => DTOClass, { name: updateOneMutationName, description: opts?.one?.description }, {
138
+ interceptors: [
139
+ (0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_UPDATE_ONE, UpdateDTOClass, DTOClass),
140
+ (0, interceptors_1.AuthorizerInterceptor)(DTOClass),
141
+ ],
142
+ }, commonResolverOpts, opts.one ?? {}),
143
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
144
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
145
+ operationGroup: auth_1.OperationGroup.UPDATE,
146
+ many: false,
147
+ })),
148
+ (0, tslib_1.__metadata)("design:type", Function),
149
+ (0, tslib_1.__metadata)("design:paramtypes", [UO, Object]),
150
+ (0, tslib_1.__metadata)("design:returntype", Promise)
151
+ ], UpdateResolverBase.prototype, "updateOne", null);
152
+ (0, tslib_1.__decorate)([
153
+ (0, decorators_1.ResolverMutation)(() => UMR, { name: updateManyMutationName, description: opts?.many?.description }, {
154
+ interceptors: [
155
+ (0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_UPDATE_MANY, UpdateDTOClass, DTOClass),
156
+ (0, interceptors_1.AuthorizerInterceptor)(DTOClass),
157
+ ],
158
+ }, commonResolverOpts, opts.many ?? {}),
159
+ (0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
160
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
161
+ operationGroup: auth_1.OperationGroup.UPDATE,
162
+ many: true,
163
+ })),
164
+ (0, tslib_1.__metadata)("design:type", Function),
165
+ (0, tslib_1.__metadata)("design:paramtypes", [UM, Object]),
166
+ (0, tslib_1.__metadata)("design:returntype", Promise)
167
+ ], UpdateResolverBase.prototype, "updateMany", null);
168
+ (0, tslib_1.__decorate)([
169
+ (0, decorators_1.ResolverSubscription)(() => DTOClass, { name: updateOneEvent, filter: updateOneSubscriptionFilter }, commonResolverOpts, {
170
+ enableSubscriptions: enableOneSubscriptions,
171
+ interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
172
+ }),
173
+ (0, tslib_1.__param)(0, (0, graphql_1.Args)()),
174
+ (0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.UPDATE, many: false })),
175
+ (0, tslib_1.__metadata)("design:type", Function),
176
+ (0, tslib_1.__metadata)("design:paramtypes", [UOSA, Object]),
177
+ (0, tslib_1.__metadata)("design:returntype", Object)
178
+ ], UpdateResolverBase.prototype, "updatedOneSubscription", null);
179
+ (0, tslib_1.__decorate)([
180
+ (0, decorators_1.ResolverSubscription)(() => UMR, { name: updateManyEvent }, commonResolverOpts, {
181
+ enableSubscriptions: enableManySubscriptions,
182
+ interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
183
+ }),
184
+ (0, tslib_1.__param)(0, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.UPDATE, many: true })),
185
+ (0, tslib_1.__metadata)("design:type", Function),
186
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
187
+ (0, tslib_1.__metadata)("design:returntype", Object)
188
+ ], UpdateResolverBase.prototype, "updatedManySubscription", null);
189
+ UpdateResolverBase = (0, tslib_1.__decorate)([
190
+ (0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
191
+ ], UpdateResolverBase);
192
+ return UpdateResolverBase;
193
+ };
194
+ exports.Updateable = Updateable;
195
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
196
+ const UpdateResolver = (DTOClass, opts = {}) => (0, exports.Updateable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
197
+ exports.UpdateResolver = UpdateResolver;
198
+ //# sourceMappingURL=update.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/update.resolver.ts"],"names":[],"mappings":";;;;AAAA,gDAAgD;AAChD,kEAQoC;AACpC,6CAAmF;AACnF,2EAA+B;AAC/B,oCAAqC;AACrC,sCAAkD;AAClD,kDAA6D;AAC7D,oCAOkB;AAClB,6DAAqH;AACrH,8CAA2G;AAC3G,uCAA+E;AAC/E,kDAAyE;AACzE,kCAAyC;AAsBzC,gBAAgB;AAChB,MAAM,kBAAkB,GAAG,CAAS,QAAkB,EAAE,QAAoB,EAAY,EAAE;IAIxF,IAAM,UAAU;IAFhB,6DAA6D;IAC7D,aAAa;IACb,MAAM,UAAW,SAAQ,IAAA,qBAAW,EAAC,QAAQ,EAAE,mBAAS,CAAC;KAAG,CAAA;IAAtD,UAAU;QAHf,IAAA,mBAAS,EAAC,SAAS,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,6DAA6D;QAC7D,aAAa;OACP,UAAU,CAA4C;IAE5D,OAAO,UAAsB,CAAC;AAChC,CAAC,CAAC;AAEF,gBAAgB;AAChB,MAAM,qBAAqB,GAAG,CAC5B,QAAkB,EAClB,QAAoB,EACpB,SAAmB,EACW,EAAE;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAG9B,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,0BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC;KAAG,CAAA;IAArD,EAAE;QADP,IAAA,mBAAS,EAAC,YAAY,QAAQ,OAAO,CAAC;OACjC,EAAE,CAAmD;IAE3D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,gBAAgB;AAChB,MAAM,sBAAsB,GAAG,CAC7B,QAAkB,EAClB,QAAoB,EACpB,SAAmB,EACiB,EAAE;IACtC,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAGpC,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,2BAAmB,EAAC,QAAQ,EAAE,SAAS,CAAC;KAAG,CAAA;IAAtD,EAAE;QADP,IAAA,mBAAS,EAAC,aAAa,cAAc,OAAO,CAAC;OACxC,EAAE,CAAoD;IAE5D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,UAAU,GACrB,CAAmD,QAAoB,EAAE,IAAgC,EAAE,EAAE,CAC7G,CAA4C,SAAY,EAAyC,EAAE;IACjG,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAA,8BAAsB,GAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAC9D,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,IAAI,mBAAmB,CAAC;IACpF,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,EAAE,mBAAmB,IAAI,mBAAmB,CAAC;IACtF,MAAM,cAAc,GAAG,IAAA,8BAAe,EAAC,wBAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,IAAA,8BAAe,EAAC,wBAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,EACJ,cAAc,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvD,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAC1E,eAAe,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,GAC7E,GAAG,IAAI,CAAC;IACT,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;IACvE,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,aAAa,cAAc,EAAE,CAAC;IAEhF,MAAM,kBAAkB,GAAG,IAAA,qBAAI,EAC7B,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;IAGF,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,wBAAgB,EAAC,cAAc,CAAC;KAAG,CAAA;IAA9C,EAAE;QADP,IAAA,kBAAQ,GAAE;OACL,EAAE,CAA4C;IAGpD,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,wBAAgB,EAAC,eAAe,CAAC;KAAG,CAAA;IAA/C,EAAE;QADP,IAAA,kBAAQ,GAAE;OACL,EAAE,CAA6C;IAGrD,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,IAAA,mCAA2B,EAAC,QAAQ,CAAC;KAAG,CAAA;IAAnD,EAAE;QADP,IAAA,mBAAS,EAAC,YAAY,QAAQ,yBAAyB,CAAC;OACnD,EAAE,CAAiD;IAGzD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,IAAA,4BAAoB,EAAC,EAAE,CAAC;KAAG,CAAA;IAAxC,IAAI;QADT,IAAA,kBAAQ,GAAE;OACL,IAAI,CAAoC;IAE9C,MAAM,2BAA2B,GAAG,IAAA,kCAAwB,EAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAGjF,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;QAaxC,KAAK,CAAC,SAAS,CACO,KAAS,EAK7B,eAA6B;YAE7B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;YACnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;YACjG,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;aAClE;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAcD,KAAK,CAAC,UAAU,CACM,KAAS,EAK7B,eAA6B;YAE7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAA,+BAAW,EAAC,MAAM,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7G,IAAI,uBAAuB,EAAE;gBAC3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;aACzE;YACD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,GAAQ,EAAE,eAA6B;YAClE,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,cAAc,EAAE,eAAe,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;aACjE;QACH,CAAC;QAED,KAAK,CAAC,uBAAuB,CAAC,GAAuB,EAAE,eAA6B;YAClF,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;aAClE;QACH,CAAC;QAaD,AAFA,8DAA8D;QAC9D,6DAA6D;QAC7D,sBAAsB,CACZ,KAAY,EAEpB,eAA6B;YAE7B,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC;aAC7D;YACD,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAMD,uBAAuB,CAErB,eAA6B;YAE7B,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,eAAe,EAAE,CAAC,CAAC;aAC9D;YACD,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;KACF,CAAA;IA/FC;QAZC,IAAA,6BAAgB,EACf,GAAG,EAAE,CAAC,QAAQ,EACd,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EACpE;YACE,YAAY,EAAE;gBACZ,IAAA,8BAAe,EAAC,iBAAS,CAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtE,IAAA,oCAAqB,EAAC,QAAQ,CAAC;aAChC;SACF,EACD,kBAAkB,EAClB,IAAI,CAAC,GAAG,IAAI,EAAE,CACf;QAEE,wBAAA,IAAA,6BAAgB,GAAE,CAAA;QAClB,wBAAA,IAAA,6BAAgB,EAAC;YAChB,cAAc,EAAE,qBAAc,CAAC,MAAM;YACrC,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;;sDAJyB,EAAE;;uDAa9B;IAcD;QAZC,IAAA,6BAAgB,EACf,GAAG,EAAE,CAAC,GAAG,EACT,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EACtE;YACE,YAAY,EAAE;gBACZ,IAAA,8BAAe,EAAC,iBAAS,CAAC,kBAAkB,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACvE,IAAA,oCAAqB,EAAC,QAAQ,CAAC;aAChC;SACF,EACD,kBAAkB,EAClB,IAAI,CAAC,IAAI,IAAI,EAAE,CAChB;QAEE,wBAAA,IAAA,6BAAgB,GAAE,CAAA;QAClB,wBAAA,IAAA,6BAAgB,EAAC;YAChB,cAAc,EAAE,qBAAc,CAAC,MAAM;YACrC,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;;sDAJyB,EAAE;;wDAa9B;IA2BD;QAXC,IAAA,iCAAoB,EACnB,GAAG,EAAE,CAAC,QAAQ,EACd,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAC7D,kBAAkB,EAClB;YACE,mBAAmB,EAAE,sBAAsB;YAC3C,YAAY,EAAE,CAAC,IAAA,oCAAqB,EAAC,QAAQ,CAAC,CAAC;SAChD,CACF;QAIE,wBAAA,IAAA,cAAI,GAAE,CAAA;QACN,wBAAA,IAAA,6BAAgB,EAAC,EAAE,cAAc,EAAE,qBAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;;sDADzD,IAAI;;oEASrB;IAMD;QAJC,IAAA,iCAAoB,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,kBAAkB,EAAE;YAC9E,mBAAmB,EAAE,uBAAuB;YAC5C,YAAY,EAAE,CAAC,IAAA,oCAAqB,EAAC,QAAQ,CAAC,CAAC;SAChD,CAAC;QAEC,wBAAA,IAAA,6BAAgB,EAAC,EAAE,cAAc,EAAE,qBAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;;;;qEAQzE;IA3GG,kBAAkB;QADvB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;OACzC,kBAAkB,CA4GvB;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AA3JS,QAAA,UAAU,cA2JnB;AACJ,0EAA0E;AACnE,MAAM,cAAc,GAAG,CAK5B,QAAoB,EACpB,OAAmC,EAAE,EACe,EAAE,CAAC,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,wCAAmB,CAAC,CAAC;AAP5F,QAAA,cAAc,kBAO8E"}
@@ -0,0 +1,14 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ import { DTONamesOpts } from '../common';
3
+ import { GraphQLPubSub } from './pub-sub.interface';
4
+ export { GraphQLPubSub } from './pub-sub.interface';
5
+ export declare enum EventType {
6
+ CREATED = "created",
7
+ UPDATED_ONE = "updatedOne",
8
+ UPDATED_MANY = "updatedMany",
9
+ DELETED_ONE = "deletedOne",
10
+ DELETED_MANY = "deletedMany"
11
+ }
12
+ export declare const getDTOEventName: <DTO>(type: EventType, DTOClass: Class<DTO>, opts?: DTONamesOpts) => string;
13
+ export declare const pubSubToken: () => string;
14
+ export declare const defaultPubSub: () => GraphQLPubSub;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultPubSub = exports.pubSubToken = exports.getDTOEventName = exports.EventType = void 0;
4
+ const graphql_subscriptions_1 = require("graphql-subscriptions");
5
+ const common_1 = require("../common");
6
+ var EventType;
7
+ (function (EventType) {
8
+ EventType["CREATED"] = "created";
9
+ EventType["UPDATED_ONE"] = "updatedOne";
10
+ EventType["UPDATED_MANY"] = "updatedMany";
11
+ EventType["DELETED_ONE"] = "deletedOne";
12
+ EventType["DELETED_MANY"] = "deletedMany";
13
+ })(EventType = exports.EventType || (exports.EventType = {}));
14
+ const getDTOEventName = (type, DTOClass, opts) => {
15
+ const { baseName, pluralBaseName } = (0, common_1.getDTONames)(DTOClass, opts);
16
+ if (type === EventType.DELETED_MANY || type === EventType.UPDATED_MANY) {
17
+ return `${type}${pluralBaseName}`;
18
+ }
19
+ return `${type}${baseName}`;
20
+ };
21
+ exports.getDTOEventName = getDTOEventName;
22
+ const pubSubToken = () => 'pub_sub';
23
+ exports.pubSubToken = pubSubToken;
24
+ let pubSub;
25
+ const defaultPubSub = () => {
26
+ if (!pubSub) {
27
+ pubSub = new graphql_subscriptions_1.PubSub();
28
+ }
29
+ return pubSub;
30
+ };
31
+ exports.defaultPubSub = defaultPubSub;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/subscription/index.ts"],"names":[],"mappings":";;;AACA,iEAA+C;AAC/C,sCAAsD;AAKtD,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,uCAA0B,CAAA;IAC1B,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,yCAA4B,CAAA;AAC9B,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AACM,MAAM,eAAe,GAAG,CAAM,IAAe,EAAE,QAAoB,EAAE,IAAmB,EAAU,EAAE;IACzG,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE;QACtE,OAAO,GAAG,IAAI,GAAG,cAAc,EAAE,CAAC;KACnC;IACD,OAAO,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;AAC9B,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,SAAS,CAAC;AAAtC,QAAA,WAAW,eAA2B;AAEnD,IAAI,MAAqB,CAAC;AACnB,MAAM,aAAa,GAAG,GAAkB,EAAE;IAC/C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
@@ -0,0 +1,6 @@
1
+ export interface GraphQLPubSub {
2
+ publish(triggerName: string, payload: any): Promise<void>;
3
+ subscribe(triggerName: string, onMessage: Function, options: Object): Promise<number>;
4
+ unsubscribe(subId: number): any;
5
+ asyncIterator<T>(triggers: string | string[]): AsyncIterator<T>;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=pub-sub.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pub-sub.interface.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/subscription/pub-sub.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { Filter, Class } from '@ptc-org/nestjs-query-core';
2
+ export interface AggregateArgsType<DTO> {
3
+ filter?: Filter<DTO>;
4
+ }
5
+ /**
6
+ * The args type for aggregate queries
7
+ * @param DTOClass - The class the aggregate is for. This will be used to create FilterType.
8
+ */
9
+ export declare function AggregateArgsType<DTO>(DTOClass: Class<DTO>): Class<AggregateArgsType<DTO>>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateArgsType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const class_validator_1 = require("class-validator");
7
+ const class_transformer_1 = require("class-transformer");
8
+ const query_1 = require("../query");
9
+ /**
10
+ * The args type for aggregate queries
11
+ * @param DTOClass - The class the aggregate is for. This will be used to create FilterType.
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
14
+ function AggregateArgsType(DTOClass) {
15
+ const F = (0, query_1.AggregateFilterType)(DTOClass);
16
+ let AggregateArgs = class AggregateArgs {
17
+ };
18
+ (0, tslib_1.__decorate)([
19
+ (0, class_transformer_1.Type)(() => F),
20
+ (0, class_validator_1.ValidateNested)(),
21
+ (0, graphql_1.Field)(() => F, { nullable: true, description: 'Filter to find records to aggregate on' }),
22
+ (0, tslib_1.__metadata)("design:type", Object)
23
+ ], AggregateArgs.prototype, "filter", void 0);
24
+ AggregateArgs = (0, tslib_1.__decorate)([
25
+ (0, graphql_1.ArgsType)()
26
+ ], AggregateArgs);
27
+ return AggregateArgs;
28
+ }
29
+ exports.AggregateArgsType = AggregateArgsType;
30
+ //# sourceMappingURL=aggregate-args.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-args.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/aggregate-args.type.ts"],"names":[],"mappings":";;;;AACA,6CAAkD;AAClD,qDAAiD;AACjD,yDAAyC;AACzC,oCAA+C;AAM/C;;;GAGG;AACH,0EAA0E;AAC1E,SAAgB,iBAAiB,CAAM,QAAoB;IACzD,MAAM,CAAC,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAC;IAExC,IAAM,aAAa,GAAnB,MAAM,aAAa;KAKlB,CAAA;IADC;QAHC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACb,IAAA,gCAAc,GAAE;QAChB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;;iDACrE;IAJjB,aAAa;QADlB,IAAA,kBAAQ,GAAE;OACL,aAAa,CAKlB;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAVD,8CAUC"}
@@ -0,0 +1,5 @@
1
+ import { AggregateResponse, Class } from '@ptc-org/nestjs-query-core';
2
+ export declare type AggregateResponseOpts = {
3
+ prefix: string;
4
+ };
5
+ export declare function AggregateResponseType<DTO>(DTOClass: Class<DTO>, opts?: AggregateResponseOpts): Class<AggregateResponse<DTO>>;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateResponseType = 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 decorators_1 = require("../../decorators");
8
+ const common_1 = require("../../common");
9
+ const reflector = new nestjs_query_core_1.MapReflector('nestjs-query:aggregate-response-type');
10
+ function NumberAggregatedType(name, fields, NumberType) {
11
+ const fieldNames = fields.map((f) => f.propertyName);
12
+ let Aggregated = class Aggregated {
13
+ };
14
+ Aggregated = (0, tslib_1.__decorate)([
15
+ (0, graphql_1.ObjectType)(name)
16
+ ], Aggregated);
17
+ fieldNames.forEach((propertyName) => {
18
+ (0, graphql_1.Field)(() => NumberType, { nullable: true })(Aggregated.prototype, propertyName);
19
+ });
20
+ return Aggregated;
21
+ }
22
+ function AggregateGroupByType(name, fields) {
23
+ let Aggregated = class Aggregated {
24
+ };
25
+ Aggregated = (0, tslib_1.__decorate)([
26
+ (0, graphql_1.ObjectType)(name)
27
+ ], Aggregated);
28
+ fields.forEach(({ propertyName, target, returnTypeFunc }) => {
29
+ const rt = returnTypeFunc ? returnTypeFunc() : target;
30
+ (0, graphql_1.Field)(() => rt, { nullable: true })(Aggregated.prototype, propertyName);
31
+ });
32
+ return Aggregated;
33
+ }
34
+ function AggregatedType(name, fields) {
35
+ let Aggregated = class Aggregated {
36
+ };
37
+ Aggregated = (0, tslib_1.__decorate)([
38
+ (0, graphql_1.ObjectType)(name)
39
+ ], Aggregated);
40
+ fields.forEach(({ propertyName, target, returnTypeFunc }) => {
41
+ const rt = returnTypeFunc ? returnTypeFunc() : target;
42
+ (0, graphql_1.Field)(() => rt, { nullable: true })(Aggregated.prototype, propertyName);
43
+ });
44
+ return Aggregated;
45
+ }
46
+ function AggregateResponseType(DTOClass, opts) {
47
+ const objName = (0, common_1.getGraphqlObjectName)(DTOClass, 'Unable to make AggregationResponseType.');
48
+ const prefix = opts?.prefix ?? objName;
49
+ const aggName = `${prefix}AggregateResponse`;
50
+ return reflector.memoize(DTOClass, aggName, () => {
51
+ const fields = (0, decorators_1.getFilterableFields)(DTOClass);
52
+ if (!fields.length) {
53
+ throw new Error(`No fields found to create AggregationResponseType for ${DTOClass.name}. Ensure fields are annotated with @FilterableField`);
54
+ }
55
+ const numberFields = fields.filter(({ target }) => target === Number);
56
+ const minMaxFields = fields.filter(({ target }) => target !== Boolean);
57
+ const GroupType = AggregateGroupByType(`${prefix}AggregateGroupBy`, fields);
58
+ const CountType = NumberAggregatedType(`${prefix}CountAggregate`, fields, graphql_1.Int);
59
+ const SumType = NumberAggregatedType(`${prefix}SumAggregate`, numberFields, graphql_1.Float);
60
+ const AvgType = NumberAggregatedType(`${prefix}AvgAggregate`, numberFields, graphql_1.Float);
61
+ const MinType = AggregatedType(`${prefix}MinAggregate`, minMaxFields);
62
+ const MaxType = AggregatedType(`${prefix}MaxAggregate`, minMaxFields);
63
+ let AggResponse = class AggResponse {
64
+ };
65
+ (0, tslib_1.__decorate)([
66
+ (0, graphql_1.Field)(() => GroupType, { nullable: true }),
67
+ (0, tslib_1.__metadata)("design:type", Object)
68
+ ], AggResponse.prototype, "groupBy", void 0);
69
+ (0, tslib_1.__decorate)([
70
+ (0, graphql_1.Field)(() => CountType, { nullable: true }),
71
+ (0, tslib_1.__metadata)("design:type", Object)
72
+ ], AggResponse.prototype, "count", void 0);
73
+ (0, tslib_1.__decorate)([
74
+ (0, decorators_1.SkipIf)(() => numberFields.length === 0, (0, graphql_1.Field)(() => SumType, { nullable: true })),
75
+ (0, tslib_1.__metadata)("design:type", Object)
76
+ ], AggResponse.prototype, "sum", void 0);
77
+ (0, tslib_1.__decorate)([
78
+ (0, decorators_1.SkipIf)(() => numberFields.length === 0, (0, graphql_1.Field)(() => AvgType, { nullable: true })),
79
+ (0, tslib_1.__metadata)("design:type", Object)
80
+ ], AggResponse.prototype, "avg", void 0);
81
+ (0, tslib_1.__decorate)([
82
+ (0, decorators_1.SkipIf)(() => minMaxFields.length === 0, (0, graphql_1.Field)(() => MinType, { nullable: true })),
83
+ (0, tslib_1.__metadata)("design:type", Object)
84
+ ], AggResponse.prototype, "min", void 0);
85
+ (0, tslib_1.__decorate)([
86
+ (0, decorators_1.SkipIf)(() => minMaxFields.length === 0, (0, graphql_1.Field)(() => MaxType, { nullable: true })),
87
+ (0, tslib_1.__metadata)("design:type", Object)
88
+ ], AggResponse.prototype, "max", void 0);
89
+ AggResponse = (0, tslib_1.__decorate)([
90
+ (0, graphql_1.ObjectType)(aggName)
91
+ ], AggResponse);
92
+ return AggResponse;
93
+ });
94
+ }
95
+ exports.AggregateResponseType = AggregateResponseType;
96
+ //# sourceMappingURL=aggregate-response.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-response.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/aggregate-response.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { AggregateResponseType, AggregateResponseOpts } from './aggregate-response.type';
2
+ export { AggregateArgsType } from './aggregate-args.type';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateArgsType = exports.AggregateResponseType = void 0;
4
+ var aggregate_response_type_1 = require("./aggregate-response.type");
5
+ Object.defineProperty(exports, "AggregateResponseType", { enumerable: true, get: function () { return aggregate_response_type_1.AggregateResponseType; } });
6
+ var aggregate_args_type_1 = require("./aggregate-args.type");
7
+ Object.defineProperty(exports, "AggregateArgsType", { enumerable: true, get: function () { return aggregate_args_type_1.AggregateArgsType; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/index.ts"],"names":[],"mappings":";;;AAAA,qEAAyF;AAAhF,gIAAA,qBAAqB,OAAA;AAC9B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ import { PagingStrategies } from '../query';
3
+ import { StaticConnectionType } from './interfaces';
4
+ export declare function getOrCreateArrayConnectionType<DTO>(TItemClass: Class<DTO>): StaticConnectionType<DTO, PagingStrategies.NONE>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateArrayConnectionType = void 0;
4
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
5
+ const reflector = new nestjs_query_core_1.ValueReflector('nestjs-query:array-connection-type');
6
+ function getOrCreateArrayConnectionType(TItemClass) {
7
+ return reflector.memoize(TItemClass, () => {
8
+ class AbstractConnection extends Array {
9
+ static async createFromPromise(queryMany, query) {
10
+ // remove paging from the query because the ArrayConnection does not support paging.
11
+ const { paging, ...rest } = query;
12
+ return queryMany(rest);
13
+ }
14
+ }
15
+ AbstractConnection.resolveType = [TItemClass];
16
+ return AbstractConnection;
17
+ });
18
+ }
19
+ exports.getOrCreateArrayConnectionType = getOrCreateArrayConnectionType;
20
+ //# sourceMappingURL=array-connection.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-connection.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/connection/array-connection.type.ts"],"names":[],"mappings":";;;AAAA,kEAA0E;AAI1E,MAAM,SAAS,GAAG,IAAI,kCAAc,CAAC,oCAAoC,CAAC,CAAC;AAE3E,SAAgB,8BAA8B,CAC5C,UAAsB;IAEtB,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE;QACxC,MAAM,kBAAmB,SAAQ,KAAU;YAGzC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,SAA4B,EAC5B,KAAQ;gBAER,oFAAoF;gBACpF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBAClC,OAAO,SAAS,CAAC,IAAS,CAAC,CAAC;YAC9B,CAAC;;QATM,8BAAW,GAAG,CAAC,UAAU,CAAC,CAAC;QAWpC,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,wEAkBC"}
@@ -0,0 +1,4 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ import { PagingStrategies } from '../../query';
3
+ import { CursorConnectionOptions, StaticConnectionType } from '../interfaces';
4
+ export declare function getOrCreateCursorConnectionType<DTO>(TItemClass: Class<DTO>, maybeOpts?: CursorConnectionOptions): StaticConnectionType<DTO, PagingStrategies.CURSOR>;