@vendure/core 2.0.0-next.0 → 2.0.0-next.3

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 (316) hide show
  1. package/dist/api/common/configurable-operation-codec.js +2 -2
  2. package/dist/api/common/configurable-operation-codec.js.map +1 -1
  3. package/dist/api/config/configure-graphql-module.js +2 -0
  4. package/dist/api/config/configure-graphql-module.js.map +1 -1
  5. package/dist/api/config/generate-permissions.js +29 -4
  6. package/dist/api/config/generate-permissions.js.map +1 -1
  7. package/dist/api/decorators/relations.decorator.d.ts +102 -0
  8. package/dist/api/decorators/relations.decorator.js +185 -0
  9. package/dist/api/decorators/relations.decorator.js.map +1 -0
  10. package/dist/api/decorators/request-context.decorator.js +9 -2
  11. package/dist/api/decorators/request-context.decorator.js.map +1 -1
  12. package/dist/api/index.d.ts +1 -0
  13. package/dist/api/index.js +1 -0
  14. package/dist/api/index.js.map +1 -1
  15. package/dist/api/middleware/transaction-interceptor.d.ts +9 -0
  16. package/dist/api/middleware/transaction-interceptor.js +16 -1
  17. package/dist/api/middleware/transaction-interceptor.js.map +1 -1
  18. package/dist/api/resolvers/admin/administrator.resolver.d.ts +3 -2
  19. package/dist/api/resolvers/admin/administrator.resolver.js +10 -6
  20. package/dist/api/resolvers/admin/administrator.resolver.js.map +1 -1
  21. package/dist/api/resolvers/admin/asset.resolver.d.ts +3 -2
  22. package/dist/api/resolvers/admin/asset.resolver.js +10 -6
  23. package/dist/api/resolvers/admin/asset.resolver.js.map +1 -1
  24. package/dist/api/resolvers/admin/collection.resolver.d.ts +5 -3
  25. package/dist/api/resolvers/admin/collection.resolver.js +25 -7
  26. package/dist/api/resolvers/admin/collection.resolver.js.map +1 -1
  27. package/dist/api/resolvers/admin/country.resolver.d.ts +3 -2
  28. package/dist/api/resolvers/admin/country.resolver.js +10 -6
  29. package/dist/api/resolvers/admin/country.resolver.js.map +1 -1
  30. package/dist/api/resolvers/admin/customer-group.resolver.d.ts +3 -2
  31. package/dist/api/resolvers/admin/customer-group.resolver.js +8 -4
  32. package/dist/api/resolvers/admin/customer-group.resolver.js.map +1 -1
  33. package/dist/api/resolvers/admin/customer.resolver.d.ts +3 -2
  34. package/dist/api/resolvers/admin/customer.resolver.js +10 -6
  35. package/dist/api/resolvers/admin/customer.resolver.js.map +1 -1
  36. package/dist/api/resolvers/admin/facet.resolver.d.ts +3 -2
  37. package/dist/api/resolvers/admin/facet.resolver.js +10 -6
  38. package/dist/api/resolvers/admin/facet.resolver.js.map +1 -1
  39. package/dist/api/resolvers/admin/global-settings.resolver.js +1 -1
  40. package/dist/api/resolvers/admin/global-settings.resolver.js.map +1 -1
  41. package/dist/api/resolvers/admin/order.resolver.d.ts +3 -2
  42. package/dist/api/resolvers/admin/order.resolver.js +10 -6
  43. package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
  44. package/dist/api/resolvers/admin/payment-method.resolver.d.ts +3 -2
  45. package/dist/api/resolvers/admin/payment-method.resolver.js +10 -6
  46. package/dist/api/resolvers/admin/payment-method.resolver.js.map +1 -1
  47. package/dist/api/resolvers/admin/product-option.resolver.d.ts +3 -2
  48. package/dist/api/resolvers/admin/product-option.resolver.js +8 -4
  49. package/dist/api/resolvers/admin/product-option.resolver.js.map +1 -1
  50. package/dist/api/resolvers/admin/product.resolver.d.ts +4 -3
  51. package/dist/api/resolvers/admin/product.resolver.js +16 -10
  52. package/dist/api/resolvers/admin/product.resolver.js.map +1 -1
  53. package/dist/api/resolvers/admin/promotion.resolver.d.ts +3 -2
  54. package/dist/api/resolvers/admin/promotion.resolver.js +9 -6
  55. package/dist/api/resolvers/admin/promotion.resolver.js.map +1 -1
  56. package/dist/api/resolvers/admin/role.resolver.d.ts +3 -2
  57. package/dist/api/resolvers/admin/role.resolver.js +10 -6
  58. package/dist/api/resolvers/admin/role.resolver.js.map +1 -1
  59. package/dist/api/resolvers/admin/shipping-method.resolver.d.ts +3 -2
  60. package/dist/api/resolvers/admin/shipping-method.resolver.js +10 -6
  61. package/dist/api/resolvers/admin/shipping-method.resolver.js.map +1 -1
  62. package/dist/api/resolvers/admin/tax-rate.resolver.d.ts +3 -2
  63. package/dist/api/resolvers/admin/tax-rate.resolver.js +10 -6
  64. package/dist/api/resolvers/admin/tax-rate.resolver.js.map +1 -1
  65. package/dist/api/resolvers/entity/collection-entity.resolver.d.ts +2 -1
  66. package/dist/api/resolvers/entity/collection-entity.resolver.js +5 -3
  67. package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
  68. package/dist/api/resolvers/entity/customer-entity.resolver.d.ts +2 -1
  69. package/dist/api/resolvers/entity/customer-entity.resolver.js +5 -3
  70. package/dist/api/resolvers/entity/customer-entity.resolver.js.map +1 -1
  71. package/dist/api/resolvers/entity/order-line-entity.resolver.d.ts +6 -3
  72. package/dist/api/resolvers/entity/order-line-entity.resolver.js +19 -2
  73. package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
  74. package/dist/api/resolvers/entity/product-entity.resolver.d.ts +3 -2
  75. package/dist/api/resolvers/entity/product-entity.resolver.js +10 -6
  76. package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
  77. package/dist/api/resolvers/shop/shop-order.resolver.d.ts +4 -3
  78. package/dist/api/resolvers/shop/shop-order.resolver.js +16 -8
  79. package/dist/api/resolvers/shop/shop-order.resolver.js.map +1 -1
  80. package/dist/api/resolvers/shop/shop-products.resolver.d.ts +8 -8
  81. package/dist/api/resolvers/shop/shop-products.resolver.js +32 -21
  82. package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
  83. package/dist/api/schema/admin-api/collection-admin.type.graphql +1 -0
  84. package/dist/api/schema/admin-api/collection.api.graphql +9 -0
  85. package/dist/api/schema/admin-api/order.api.graphql +4 -0
  86. package/dist/api/schema/common/common-error-results.graphql +22 -0
  87. package/dist/api/schema/shop-api/shop-error-results.graphql +0 -29
  88. package/dist/bootstrap.js +8 -3
  89. package/dist/bootstrap.js.map +1 -1
  90. package/dist/common/calculated-decorator.d.ts +16 -3
  91. package/dist/common/calculated-decorator.js +3 -0
  92. package/dist/common/calculated-decorator.js.map +1 -1
  93. package/dist/common/constants.d.ts +1 -0
  94. package/dist/common/constants.js +2 -1
  95. package/dist/common/constants.js.map +1 -1
  96. package/dist/common/error/generated-graphql-admin-errors.d.ts +29 -0
  97. package/dist/common/error/generated-graphql-admin-errors.js +33 -2
  98. package/dist/common/error/generated-graphql-admin-errors.js.map +1 -1
  99. package/dist/common/finite-state-machine/finite-state-machine.js +2 -1
  100. package/dist/common/finite-state-machine/finite-state-machine.js.map +1 -1
  101. package/dist/common/types/entity-relation-paths.d.ts +1 -1
  102. package/dist/config/catalog/collection-filter.d.ts +32 -0
  103. package/dist/config/catalog/collection-filter.js +32 -0
  104. package/dist/config/catalog/collection-filter.js.map +1 -1
  105. package/dist/config/catalog/default-collection-filters.d.ts +42 -0
  106. package/dist/config/catalog/default-collection-filters.js +41 -8
  107. package/dist/config/catalog/default-collection-filters.js.map +1 -1
  108. package/dist/config/default-config.js +2 -0
  109. package/dist/config/default-config.js.map +1 -1
  110. package/dist/config/entity-metadata/add-foreign-key-indices.d.ts +12 -0
  111. package/dist/config/entity-metadata/add-foreign-key-indices.js +33 -0
  112. package/dist/config/entity-metadata/add-foreign-key-indices.js.map +1 -0
  113. package/dist/config/entity-metadata/entity-metadata-modifier.d.ts +55 -0
  114. package/dist/config/entity-metadata/entity-metadata-modifier.js +3 -0
  115. package/dist/config/entity-metadata/entity-metadata-modifier.js.map +1 -0
  116. package/dist/config/index.d.ts +2 -0
  117. package/dist/config/index.js +2 -0
  118. package/dist/config/index.js.map +1 -1
  119. package/dist/config/promotion/index.d.ts +4 -0
  120. package/dist/config/promotion/index.js +4 -0
  121. package/dist/config/promotion/index.js.map +1 -1
  122. package/dist/config/shipping-method/shipping-calculator.d.ts +3 -3
  123. package/dist/config/shipping-method/shipping-calculator.js +2 -2
  124. package/dist/config/shipping-method/shipping-calculator.js.map +1 -1
  125. package/dist/config/shipping-method/shipping-eligibility-checker.d.ts +4 -4
  126. package/dist/config/shipping-method/shipping-eligibility-checker.js +5 -5
  127. package/dist/config/shipping-method/shipping-eligibility-checker.js.map +1 -1
  128. package/dist/config/vendure-config.d.ts +34 -0
  129. package/dist/connection/transaction-wrapper.d.ts +5 -1
  130. package/dist/connection/transaction-wrapper.js +9 -3
  131. package/dist/connection/transaction-wrapper.js.map +1 -1
  132. package/dist/connection/transactional-connection.d.ts +7 -3
  133. package/dist/connection/transactional-connection.js +8 -3
  134. package/dist/connection/transactional-connection.js.map +1 -1
  135. package/dist/data-import/providers/importer/importer.d.ts +3 -2
  136. package/dist/data-import/providers/importer/importer.js +13 -7
  137. package/dist/data-import/providers/importer/importer.js.map +1 -1
  138. package/dist/entity/address/address.entity.js +2 -0
  139. package/dist/entity/address/address.entity.js.map +1 -1
  140. package/dist/entity/asset/orderable-asset.entity.js +1 -0
  141. package/dist/entity/asset/orderable-asset.entity.js.map +1 -1
  142. package/dist/entity/authentication-method/authentication-method.entity.js +1 -0
  143. package/dist/entity/authentication-method/authentication-method.entity.js.map +1 -1
  144. package/dist/entity/channel/channel.entity.js +2 -0
  145. package/dist/entity/channel/channel.entity.js.map +1 -1
  146. package/dist/entity/collection/collection-translation.entity.js +1 -0
  147. package/dist/entity/collection/collection-translation.entity.js.map +1 -1
  148. package/dist/entity/collection/collection.entity.d.ts +4 -0
  149. package/dist/entity/collection/collection.entity.js +14 -20
  150. package/dist/entity/collection/collection.entity.js.map +1 -1
  151. package/dist/entity/country/country-translation.entity.js +1 -0
  152. package/dist/entity/country/country-translation.entity.js.map +1 -1
  153. package/dist/entity/facet/facet-translation.entity.js +1 -0
  154. package/dist/entity/facet/facet-translation.entity.js.map +1 -1
  155. package/dist/entity/facet-value/facet-value-translation.entity.js +1 -0
  156. package/dist/entity/facet-value/facet-value-translation.entity.js.map +1 -1
  157. package/dist/entity/facet-value/facet-value.entity.js +1 -0
  158. package/dist/entity/facet-value/facet-value.entity.js.map +1 -1
  159. package/dist/entity/history-entry/customer-history-entry.entity.js +1 -0
  160. package/dist/entity/history-entry/customer-history-entry.entity.js.map +1 -1
  161. package/dist/entity/history-entry/history-entry.entity.js +1 -0
  162. package/dist/entity/history-entry/history-entry.entity.js.map +1 -1
  163. package/dist/entity/history-entry/order-history-entry.entity.js +1 -0
  164. package/dist/entity/history-entry/order-history-entry.entity.js.map +1 -1
  165. package/dist/entity/order/order.entity.js +5 -2
  166. package/dist/entity/order/order.entity.js.map +1 -1
  167. package/dist/entity/order-item/order-item.entity.js +2 -0
  168. package/dist/entity/order-item/order-item.entity.js.map +1 -1
  169. package/dist/entity/order-line/order-line.entity.js +4 -0
  170. package/dist/entity/order-line/order-line.entity.js.map +1 -1
  171. package/dist/entity/order-modification/order-modification.entity.js +1 -0
  172. package/dist/entity/order-modification/order-modification.entity.js.map +1 -1
  173. package/dist/entity/payment/payment.entity.js +1 -0
  174. package/dist/entity/payment/payment.entity.js.map +1 -1
  175. package/dist/entity/product/product-translation.entity.js +1 -0
  176. package/dist/entity/product/product-translation.entity.js.map +1 -1
  177. package/dist/entity/product/product.entity.js +1 -0
  178. package/dist/entity/product/product.entity.js.map +1 -1
  179. package/dist/entity/product-option/product-option-translation.entity.js +1 -0
  180. package/dist/entity/product-option/product-option-translation.entity.js.map +1 -1
  181. package/dist/entity/product-option/product-option.entity.js +1 -0
  182. package/dist/entity/product-option/product-option.entity.js.map +1 -1
  183. package/dist/entity/product-option-group/product-option-group-translation.entity.js +1 -0
  184. package/dist/entity/product-option-group/product-option-group-translation.entity.js.map +1 -1
  185. package/dist/entity/product-option-group/product-option-group.entity.js +1 -0
  186. package/dist/entity/product-option-group/product-option-group.entity.js.map +1 -1
  187. package/dist/entity/product-variant/product-variant-price.entity.js +1 -0
  188. package/dist/entity/product-variant/product-variant-price.entity.js.map +1 -1
  189. package/dist/entity/product-variant/product-variant-translation.entity.js +1 -0
  190. package/dist/entity/product-variant/product-variant-translation.entity.js.map +1 -1
  191. package/dist/entity/product-variant/product-variant.entity.js +3 -0
  192. package/dist/entity/product-variant/product-variant.entity.js.map +1 -1
  193. package/dist/entity/refund/refund.entity.js +1 -0
  194. package/dist/entity/refund/refund.entity.js.map +1 -1
  195. package/dist/entity/run-entity-metadata-modifiers.d.ts +2 -0
  196. package/dist/entity/run-entity-metadata-modifiers.js +15 -0
  197. package/dist/entity/run-entity-metadata-modifiers.js.map +1 -0
  198. package/dist/entity/session/authenticated-session.entity.js +1 -0
  199. package/dist/entity/session/authenticated-session.entity.js.map +1 -1
  200. package/dist/entity/session/session.entity.js +2 -0
  201. package/dist/entity/session/session.entity.js.map +1 -1
  202. package/dist/entity/shipping-line/shipping-line.entity.js +2 -0
  203. package/dist/entity/shipping-line/shipping-line.entity.js.map +1 -1
  204. package/dist/entity/shipping-method/shipping-method-translation.entity.js +1 -0
  205. package/dist/entity/shipping-method/shipping-method-translation.entity.js.map +1 -1
  206. package/dist/entity/shipping-method/shipping-method.entity.js +2 -2
  207. package/dist/entity/shipping-method/shipping-method.entity.js.map +1 -1
  208. package/dist/entity/stock-movement/allocation.entity.js +1 -0
  209. package/dist/entity/stock-movement/allocation.entity.js.map +1 -1
  210. package/dist/entity/stock-movement/cancellation.entity.js.map +1 -1
  211. package/dist/entity/stock-movement/release.entity.js +1 -0
  212. package/dist/entity/stock-movement/release.entity.js.map +1 -1
  213. package/dist/entity/stock-movement/sale.entity.js.map +1 -1
  214. package/dist/entity/stock-movement/stock-movement.entity.js +1 -0
  215. package/dist/entity/stock-movement/stock-movement.entity.js.map +1 -1
  216. package/dist/entity/surcharge/surcharge.entity.js +2 -0
  217. package/dist/entity/surcharge/surcharge.entity.js.map +1 -1
  218. package/dist/entity/tax-rate/tax-rate.entity.js +3 -0
  219. package/dist/entity/tax-rate/tax-rate.entity.js.map +1 -1
  220. package/dist/event-bus/event-bus.js +12 -3
  221. package/dist/event-bus/event-bus.js.map +1 -1
  222. package/dist/plugin/default-search-plugin/default-search-plugin.d.ts +9 -3
  223. package/dist/plugin/default-search-plugin/default-search-plugin.js +25 -2
  224. package/dist/plugin/default-search-plugin/default-search-plugin.js.map +1 -1
  225. package/dist/plugin/default-search-plugin/fulltext-search.service.d.ts +3 -1
  226. package/dist/plugin/default-search-plugin/fulltext-search.service.js +27 -19
  227. package/dist/plugin/default-search-plugin/fulltext-search.service.js.map +1 -1
  228. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.d.ts +4 -4
  229. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +7 -3
  230. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js.map +1 -1
  231. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.d.ts +4 -4
  232. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +7 -3
  233. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js.map +1 -1
  234. package/dist/plugin/default-search-plugin/search-strategy/search-strategy.d.ts +2 -1
  235. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.d.ts +4 -4
  236. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +7 -3
  237. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
  238. package/dist/plugin/default-search-plugin/types.d.ts +84 -0
  239. package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +29 -1
  240. package/dist/service/helpers/list-query-builder/list-query-builder.js +116 -17
  241. package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
  242. package/dist/service/helpers/list-query-builder/parse-channel-param.d.ts +1 -1
  243. package/dist/service/helpers/list-query-builder/parse-channel-param.js +2 -2
  244. package/dist/service/helpers/list-query-builder/parse-channel-param.js.map +1 -1
  245. package/dist/service/helpers/list-query-builder/parse-filter-params.d.ts +1 -1
  246. package/dist/service/helpers/list-query-builder/parse-filter-params.js +3 -2
  247. package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
  248. package/dist/service/helpers/list-query-builder/parse-sort-params.d.ts +1 -1
  249. package/dist/service/helpers/list-query-builder/parse-sort-params.js +4 -3
  250. package/dist/service/helpers/list-query-builder/parse-sort-params.js.map +1 -1
  251. package/dist/service/helpers/order-calculator/prorate.js +1 -1
  252. package/dist/service/helpers/order-calculator/prorate.js.map +1 -1
  253. package/dist/service/helpers/order-modifier/order-modifier.d.ts +8 -1
  254. package/dist/service/helpers/order-modifier/order-modifier.js +80 -3
  255. package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
  256. package/dist/service/helpers/slug-validator/slug-validator.js +15 -6
  257. package/dist/service/helpers/slug-validator/slug-validator.js.map +1 -1
  258. package/dist/service/helpers/utils/order-utils.js +1 -1
  259. package/dist/service/helpers/utils/order-utils.js.map +1 -1
  260. package/dist/service/helpers/utils/translate-entity.js +1 -2
  261. package/dist/service/helpers/utils/translate-entity.js.map +1 -1
  262. package/dist/service/index.d.ts +1 -0
  263. package/dist/service/index.js +1 -0
  264. package/dist/service/index.js.map +1 -1
  265. package/dist/service/services/administrator.service.d.ts +4 -3
  266. package/dist/service/services/administrator.service.js +6 -5
  267. package/dist/service/services/administrator.service.js.map +1 -1
  268. package/dist/service/services/asset.service.d.ts +3 -2
  269. package/dist/service/services/asset.service.js +6 -4
  270. package/dist/service/services/asset.service.js.map +1 -1
  271. package/dist/service/services/collection.service.d.ts +13 -5
  272. package/dist/service/services/collection.service.js +55 -12
  273. package/dist/service/services/collection.service.js.map +1 -1
  274. package/dist/service/services/country.service.d.ts +3 -2
  275. package/dist/service/services/country.service.js +4 -4
  276. package/dist/service/services/country.service.js.map +1 -1
  277. package/dist/service/services/customer-group.service.d.ts +6 -3
  278. package/dist/service/services/customer-group.service.js +12 -7
  279. package/dist/service/services/customer-group.service.js.map +1 -1
  280. package/dist/service/services/customer.service.d.ts +3 -2
  281. package/dist/service/services/customer.service.js +3 -3
  282. package/dist/service/services/customer.service.js.map +1 -1
  283. package/dist/service/services/facet.service.d.ts +3 -2
  284. package/dist/service/services/facet.service.js +10 -6
  285. package/dist/service/services/facet.service.js.map +1 -1
  286. package/dist/service/services/order.service.d.ts +20 -4
  287. package/dist/service/services/order.service.js +107 -59
  288. package/dist/service/services/order.service.js.map +1 -1
  289. package/dist/service/services/payment-method.service.d.ts +3 -2
  290. package/dist/service/services/payment-method.service.js +6 -4
  291. package/dist/service/services/payment-method.service.js.map +1 -1
  292. package/dist/service/services/product-option-group.service.d.ts +3 -2
  293. package/dist/service/services/product-option-group.service.js +4 -4
  294. package/dist/service/services/product-option-group.service.js.map +1 -1
  295. package/dist/service/services/product-variant.service.d.ts +11 -3
  296. package/dist/service/services/product-variant.service.js +53 -40
  297. package/dist/service/services/product-variant.service.js.map +1 -1
  298. package/dist/service/services/product.service.d.ts +5 -4
  299. package/dist/service/services/product.service.js +18 -8
  300. package/dist/service/services/product.service.js.map +1 -1
  301. package/dist/service/services/promotion.service.d.ts +3 -2
  302. package/dist/service/services/promotion.service.js +6 -4
  303. package/dist/service/services/promotion.service.js.map +1 -1
  304. package/dist/service/services/role.service.d.ts +3 -2
  305. package/dist/service/services/role.service.js +4 -4
  306. package/dist/service/services/role.service.js.map +1 -1
  307. package/dist/service/services/shipping-method.service.d.ts +3 -2
  308. package/dist/service/services/shipping-method.service.js +4 -4
  309. package/dist/service/services/shipping-method.service.js.map +1 -1
  310. package/dist/service/services/tax-rate.service.d.ts +3 -2
  311. package/dist/service/services/tax-rate.service.js +4 -4
  312. package/dist/service/services/tax-rate.service.js.map +1 -1
  313. package/dist/service/services/zone.service.d.ts +2 -2
  314. package/dist/service/services/zone.service.js +2 -2
  315. package/dist/service/services/zone.service.js.map +1 -1
  316. package/package.json +4 -3
@@ -35,7 +35,7 @@ let ConfigurableOperationCodec = class ConfigurableOperationCodec {
35
35
  }
36
36
  for (const arg of operationInput.arguments) {
37
37
  const argDef = def.args[arg.name];
38
- if (argDef.type === 'ID' && arg.value) {
38
+ if (argDef && argDef.type === 'ID' && arg.value) {
39
39
  if (argDef.list === true) {
40
40
  const ids = JSON.parse(arg.value);
41
41
  const decodedIds = ids.map(id => this.idCodecService.decode(id));
@@ -62,7 +62,7 @@ let ConfigurableOperationCodec = class ConfigurableOperationCodec {
62
62
  }
63
63
  for (const arg of operationInput.args) {
64
64
  const argDef = def.args[arg.name];
65
- if (argDef.type === 'ID' && arg.value) {
65
+ if (argDef && argDef.type === 'ID' && arg.value) {
66
66
  if (argDef.list === true) {
67
67
  const ids = JSON.parse(arg.value);
68
68
  const encodedIds = ids.map(id => this.idCodecService.encode(id));
@@ -1 +1 @@
1
- {"version":3,"file":"configurable-operation-codec.js","sourceRoot":"","sources":["../../../src/api/common/configurable-operation-codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configurable-operation-codec.js","sourceRoot":"","sources":["../../../src/api/common/configurable-operation-codec.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAK5C,sDAAgE;AAChE,yCAMsB;AACtB,8EAA0E;AAC1E,gEAA4D;AAC5D,gHAA0G;AAC1G,wFAAmF;AAEnF,yDAAoD;AAGpD,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IACnC,YAAoB,aAA4B,EAAU,cAA8B;QAApE,kBAAa,GAAb,aAAa,CAAe;QAAU,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE5F;;OAEG;IACH,8BAA8B,CAC1B,OAA4C,EAC5C,KAAmC;QAEnC,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE;YAChC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG,EAAE;gBACN,SAAS;aACZ;YACD,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE;gBACxC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;oBAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;wBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAa,CAAC;wBAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;qBAC1C;yBAAM;wBACH,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;qBACzC;iBACJ;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,8BAA8B,CAC1B,OAA4C,EAC5C,KAA8B;QAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE;YAChC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG,EAAE;gBACN,SAAS;aACZ;YACD,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE;gBACnC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;oBAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;wBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAa,CAAC;wBAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;qBAC1C;yBAAM;wBACH,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;qBACzC;iBACJ;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sBAAsB,CAAC,OAAuC;QAC1D,QAAQ,OAAO,EAAE;YACb,KAAK,oCAAgB;gBACjB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC;YAC/D,KAAK,6CAAoB;gBACrB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACnE,KAAK,oEAA+B;gBAChC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,gCAAgC,IAAI,EAAE,CAAC;YACpF,KAAK,4BAAmB,CAAC;YACzB,KAAK,6BAAoB;gBACrB,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACtE,KAAK,2BAAkB;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,mBAAmB,IAAI,EAAE,CAAC;YACzE,KAAK,mCAA0B;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,2BAA2B,IAAI,EAAE,CAAC;YAChF,KAAK,2BAAkB;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,mBAAmB,IAAI,EAAE,CAAC;YACxE;gBACI,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,EAAE;oBAC7E,IAAI,EAAE,OAAO,CAAC,IAAI;iBACrB,CAAC,CAAC;SACV;IACL,CAAC;CACJ,CAAA;AAtFY,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAE0B,8BAAa,EAA0B,iCAAc;GAD/E,0BAA0B,CAsFtC;AAtFY,gEAA0B"}
@@ -49,6 +49,7 @@ function configureGraphQLModule(getOptions) {
49
49
  }
50
50
  exports.configureGraphQLModule = configureGraphQLModule;
51
51
  async function createGraphQLOptions(i18nService, configService, idCodecService, typesLoader, customFieldRelationResolverService, options) {
52
+ var _a;
52
53
  const builtSchema = await buildSchemaForApi(options.apiType);
53
54
  const resolvers = (0, generate_resolvers_1.generateResolvers)(configService, customFieldRelationResolverService, options.apiType, builtSchema);
54
55
  return {
@@ -73,6 +74,7 @@ async function createGraphQLOptions(i18nService, configService, idCodecService,
73
74
  ...configService.apiOptions.apolloServerPlugins,
74
75
  ],
75
76
  validationRules: options.validationRules,
77
+ introspection: (_a = configService.apiOptions.introspection) !== null && _a !== void 0 ? _a : true,
76
78
  };
77
79
  /**
78
80
  * Generates the server's GraphQL schema by combining:
@@ -1 +1 @@
1
- {"version":3,"file":"configure-graphql-module.js","sourceRoot":"","sources":["../../../src/api/config/configure-graphql-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-graphql-module.js","sourceRoot":"","sources":["../../../src/api/config/configure-graphql-module.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,35 @@ exports.generatePermissionEnum = void 0;
4
4
  const stitch_1 = require("@graphql-tools/stitch");
5
5
  const graphql_1 = require("graphql");
6
6
  const constants_1 = require("../../common/constants");
7
- const PERMISSION_DESCRIPTION = `@description
8
- Permissions for administrators and customers. Used to control access to
9
- GraphQL resolvers via the {@link Allow} decorator.
10
-
7
+ const PERMISSION_DESCRIPTION = `@description
8
+ Permissions for administrators and customers. Used to control access to
9
+ GraphQL resolvers via the {@link Allow} decorator.
10
+
11
+ ## Understanding Permission.Owner
12
+
13
+ \`Permission.Owner\` is a special permission which is used in some of the Vendure resolvers to indicate that that resolver should only
14
+ be accessible to the "owner" of that resource.
15
+
16
+ For example, the Shop API \`activeCustomer\` query resolver should only return the Customer object for the "owner" of that Customer, i.e.
17
+ based on the activeUserId of the current session. As a result, the resolver code looks like this:
18
+
19
+ @example
20
+ \`\`\`TypeScript
21
+ \\@Query()
22
+ \\@Allow(Permission.Owner)
23
+ async activeCustomer(\\@Ctx() ctx: RequestContext): Promise<Customer | undefined> {
24
+ const userId = ctx.activeUserId;
25
+ if (userId) {
26
+ return this.customerService.findOneByUserId(ctx, userId);
27
+ }
28
+ }
29
+ \`\`\`
30
+
31
+ Here we can see that the "ownership" must be enforced by custom logic inside the resolver. Since "ownership" cannot be defined generally
32
+ nor statically encoded at build-time, any resolvers using \`Permission.Owner\` **must** include logic to enforce that only the owner
33
+ of the resource has access. If not, then it is the equivalent of using \`Permission.Public\`.
34
+
35
+
11
36
  @docsCategory common`;
12
37
  /**
13
38
  * Generates the `Permission` GraphQL enum based on the default & custom permission definitions.
@@ -1 +1 @@
1
- {"version":3,"file":"generate-permissions.js","sourceRoot":"","sources":["../../../src/api/config/generate-permissions.ts"],"names":[],"mappings":";;;AAAA,kDAAuE;AACvE,qCAAyD;AAGzD,sDAAmE;AAGnE,MAAM,sBAAsB,GAAG;;;;qBAIV,CAAC;AAEtB;;GAEG;AACH,SAAgB,sBAAsB,CAClC,MAAqB,EACrB,iBAAyC;IAEzC,MAAM,sBAAsB,GAAG,IAAA,qCAAyB,EAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC;QACF,CAAC,EAAE,CAAC;KACP;IAED,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sBAAsB;QACnC,MAAM;KACT,CAAC,CAAC;IAEH,OAAO,IAAA,sBAAa,EAAC;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,eAAe,CAAC;QACxB,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,wBAAe,CAAC,GAAG,EAAE,EAAE;KACvF,CAAC,CAAC;AACP,CAAC;AA1BD,wDA0BC"}
1
+ {"version":3,"file":"generate-permissions.js","sourceRoot":"","sources":["../../../src/api/config/generate-permissions.ts"],"names":[],"mappings":";;;AAAA,kDAAuE;AACvE,qCAAyD;AAGzD,sDAAmE;AAGnE,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6BV,CAAC;AAEtB;;GAEG;AACH,SAAgB,sBAAsB,CAClC,MAAqB,EACrB,iBAAyC;IAEzC,MAAM,sBAAsB,GAAG,IAAA,qCAAyB,EAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC;QACF,CAAC,EAAE,CAAC;KACP;IAED,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sBAAsB;QACnC,MAAM;KACT,CAAC,CAAC;IAEH,OAAO,IAAA,sBAAa,EAAC;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,eAAe,CAAC;QACxB,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,wBAAe,CAAC,GAAG,EAAE,EAAE;KACvF,CAAC,CAAC;AACP,CAAC;AA1BD,wDA0BC"}
@@ -0,0 +1,102 @@
1
+ import { Type } from '@vendure/common/lib/shared-types';
2
+ import { EntityRelationPaths } from '../../common/index';
3
+ import { VendureEntity } from '../../entity/index';
4
+ export declare type RelationPaths<T extends VendureEntity> = Array<EntityRelationPaths<T>>;
5
+ export declare type FieldsDecoratorConfig = Type<VendureEntity> | {
6
+ entity: Type<VendureEntity>;
7
+ depth: number;
8
+ };
9
+ /**
10
+ * @description
11
+ * Resolver param decorator which returns an array of relation paths which can be passed through
12
+ * to the TypeORM data layer in order to join only the required relations. This works by inspecting
13
+ * the GraphQL `info` object, examining the field selection, and then comparing this with information
14
+ * about the return type's relations.
15
+ *
16
+ * In addition to analyzing the field selection, this decorator also checks for any `@Calculated()`
17
+ * properties on the entity, and additionally includes relations from the `relations` array of the calculated
18
+ * metadata, if defined.
19
+ *
20
+ * So if, for example, the query only selects the `id` field of an Order, then no other relations need
21
+ * be joined in the resulting SQL query. This can massively speed up execution time for queries which do
22
+ * not include many deep nested relations.
23
+ *
24
+ * @example
25
+ * ```TypeScript
26
+ * \@Query()
27
+ * \@Allow(Permission.ReadOrder)
28
+ * orders(
29
+ * \@Ctx() ctx: RequestContext,
30
+ * \@Args() args: QueryOrdersArgs,
31
+ * \@Relations(Order) relations: RelationPaths<Order>,
32
+ * ): Promise<PaginatedList<Order>> {
33
+ * return this.orderService.findAll(ctx, args.options || undefined, relations);
34
+ * }
35
+ * ```
36
+ *
37
+ * In the above example, given the following query:
38
+ *
39
+ * @example
40
+ * ```GraphQL
41
+ * {
42
+ * orders(options: { take: 10 }) {
43
+ * items {
44
+ * id
45
+ * customer {
46
+ * id
47
+ * firstName
48
+ * lastName
49
+ * }
50
+ * totalQuantity
51
+ * totalWithTax
52
+ * }
53
+ * }
54
+ * }
55
+ * ```
56
+ * then the value of `relations` will be
57
+ *
58
+ * ```
59
+ * ['customer', 'lines', 'lines.items']
60
+ * ```
61
+ * The `'customer'` comes from the fact that the query is nesting the "customer" object, and the `'lines'` & `'lines.items'` are taken
62
+ * from the `Order` entity's `totalQuantity` property, which uses {@link Calculated} decorator and defines those relations as dependencies
63
+ * for deriving the calculated value.
64
+ *
65
+ * ## Depth
66
+ *
67
+ * By default, when inspecting the GraphQL query, the Relations decorator will look 3 levels deep in any nested fields. So, e.g. if
68
+ * the above `orders` query were changed to:
69
+ *
70
+ * @example
71
+ * ```GraphQL
72
+ * {
73
+ * orders(options: { take: 10 }) {
74
+ * items {
75
+ * id
76
+ * lines {
77
+ * productVariant {
78
+ * product {
79
+ * featuredAsset {
80
+ * preview
81
+ * }
82
+ * }
83
+ * }
84
+ * }
85
+ * }
86
+ * }
87
+ * }
88
+ * ```
89
+ * then the `relations` array would include `'lines'`, `'lines.productVariant'`, & `'lines.productVariant.product'` - 3 levels deep - but it would
90
+ * _not_ include `'lines.productVariant.product.featuredAsset'` since that exceeds the default depth. To specify a custom depth, you would
91
+ * use the decorator like this:
92
+ *
93
+ * @example
94
+ * ```TypeScript
95
+ * \@Relations({ entity: Order, depth: 2 }) relations: RelationPaths<Order>,
96
+ * ```
97
+ *
98
+ * @docsCategory request
99
+ * @docsPage Api Decorator
100
+ * @since 1.6.0
101
+ */
102
+ export declare const Relations: (...dataOrPipes: (FieldsDecoratorConfig | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Relations = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const unique_1 = require("@vendure/common/lib/unique");
6
+ const graphql_1 = require("graphql");
7
+ const typeorm_1 = require("typeorm");
8
+ const calculated_decorator_1 = require("../../common/calculated-decorator");
9
+ const index_1 = require("../../common/index");
10
+ // tslint:disable-next-line:no-var-requires
11
+ const graphqlFields = require('graphql-fields');
12
+ const DEFAULT_DEPTH = 3;
13
+ const cache = new index_1.TtlCache({ cacheSize: 500, ttl: 5 * 60 * 1000 });
14
+ /**
15
+ * @description
16
+ * Resolver param decorator which returns an array of relation paths which can be passed through
17
+ * to the TypeORM data layer in order to join only the required relations. This works by inspecting
18
+ * the GraphQL `info` object, examining the field selection, and then comparing this with information
19
+ * about the return type's relations.
20
+ *
21
+ * In addition to analyzing the field selection, this decorator also checks for any `@Calculated()`
22
+ * properties on the entity, and additionally includes relations from the `relations` array of the calculated
23
+ * metadata, if defined.
24
+ *
25
+ * So if, for example, the query only selects the `id` field of an Order, then no other relations need
26
+ * be joined in the resulting SQL query. This can massively speed up execution time for queries which do
27
+ * not include many deep nested relations.
28
+ *
29
+ * @example
30
+ * ```TypeScript
31
+ * \@Query()
32
+ * \@Allow(Permission.ReadOrder)
33
+ * orders(
34
+ * \@Ctx() ctx: RequestContext,
35
+ * \@Args() args: QueryOrdersArgs,
36
+ * \@Relations(Order) relations: RelationPaths<Order>,
37
+ * ): Promise<PaginatedList<Order>> {
38
+ * return this.orderService.findAll(ctx, args.options || undefined, relations);
39
+ * }
40
+ * ```
41
+ *
42
+ * In the above example, given the following query:
43
+ *
44
+ * @example
45
+ * ```GraphQL
46
+ * {
47
+ * orders(options: { take: 10 }) {
48
+ * items {
49
+ * id
50
+ * customer {
51
+ * id
52
+ * firstName
53
+ * lastName
54
+ * }
55
+ * totalQuantity
56
+ * totalWithTax
57
+ * }
58
+ * }
59
+ * }
60
+ * ```
61
+ * then the value of `relations` will be
62
+ *
63
+ * ```
64
+ * ['customer', 'lines', 'lines.items']
65
+ * ```
66
+ * The `'customer'` comes from the fact that the query is nesting the "customer" object, and the `'lines'` & `'lines.items'` are taken
67
+ * from the `Order` entity's `totalQuantity` property, which uses {@link Calculated} decorator and defines those relations as dependencies
68
+ * for deriving the calculated value.
69
+ *
70
+ * ## Depth
71
+ *
72
+ * By default, when inspecting the GraphQL query, the Relations decorator will look 3 levels deep in any nested fields. So, e.g. if
73
+ * the above `orders` query were changed to:
74
+ *
75
+ * @example
76
+ * ```GraphQL
77
+ * {
78
+ * orders(options: { take: 10 }) {
79
+ * items {
80
+ * id
81
+ * lines {
82
+ * productVariant {
83
+ * product {
84
+ * featuredAsset {
85
+ * preview
86
+ * }
87
+ * }
88
+ * }
89
+ * }
90
+ * }
91
+ * }
92
+ * }
93
+ * ```
94
+ * then the `relations` array would include `'lines'`, `'lines.productVariant'`, & `'lines.productVariant.product'` - 3 levels deep - but it would
95
+ * _not_ include `'lines.productVariant.product.featuredAsset'` since that exceeds the default depth. To specify a custom depth, you would
96
+ * use the decorator like this:
97
+ *
98
+ * @example
99
+ * ```TypeScript
100
+ * \@Relations({ entity: Order, depth: 2 }) relations: RelationPaths<Order>,
101
+ * ```
102
+ *
103
+ * @docsCategory request
104
+ * @docsPage Api Decorator
105
+ * @since 1.6.0
106
+ */
107
+ exports.Relations = (0, common_1.createParamDecorator)((data, ctx) => {
108
+ var _a;
109
+ const info = ctx.getArgByIndex(3);
110
+ if (data == null) {
111
+ throw new index_1.InternalServerError(`The @Relations() decorator requires an entity type argument`);
112
+ }
113
+ if (!isGraphQLResolveInfo(info)) {
114
+ return [];
115
+ }
116
+ const cacheKey = info.fieldName + '__' + ctx.getArgByIndex(2).req.body.query;
117
+ const cachedResult = cache.get(cacheKey);
118
+ if (cachedResult) {
119
+ return cachedResult;
120
+ }
121
+ const fields = graphqlFields(info);
122
+ const targetFields = isPaginatedListQuery(info) ? (_a = fields.items) !== null && _a !== void 0 ? _a : {} : fields;
123
+ const entity = typeof data === 'function' ? data : data.entity;
124
+ const maxDepth = typeof data === 'function' ? DEFAULT_DEPTH : data.depth;
125
+ const relationFields = getRelationPaths(targetFields, entity, maxDepth);
126
+ const result = (0, unique_1.unique)(relationFields);
127
+ cache.set(cacheKey, result);
128
+ return result;
129
+ });
130
+ function getRelationPaths(fields, entity, maxDepth, depth = 1) {
131
+ var _a, _b;
132
+ const relations = (0, typeorm_1.getMetadataArgsStorage)().filterRelations(entity);
133
+ const metadata = (0, typeorm_1.getMetadataArgsStorage)();
134
+ const relationPaths = [];
135
+ for (const [property, value] of Object.entries(fields)) {
136
+ if (property === 'customFields') {
137
+ const customFieldEntity = (_a = metadata
138
+ .filterEmbeddeds(entity)
139
+ .find(e => e.propertyName === 'customFields')) === null || _a === void 0 ? void 0 : _a.type();
140
+ if (customFieldEntity) {
141
+ if (depth < maxDepth) {
142
+ depth++;
143
+ const subPaths = getRelationPaths(value, customFieldEntity, maxDepth, depth);
144
+ depth--;
145
+ for (const subPath of subPaths) {
146
+ relationPaths.push([property, subPath].join('.'));
147
+ }
148
+ }
149
+ }
150
+ }
151
+ else {
152
+ const relationMetadata = relations.find(r => r.propertyName === property);
153
+ if (relationMetadata) {
154
+ relationPaths.push(property);
155
+ const relatedEntity = typeof relationMetadata.type === 'function'
156
+ ? relationMetadata.type()
157
+ : relationMetadata.type;
158
+ if (depth < maxDepth) {
159
+ depth++;
160
+ const subPaths = getRelationPaths(value, relatedEntity, maxDepth, depth);
161
+ depth--;
162
+ for (const subPath of subPaths) {
163
+ relationPaths.push([property, subPath].join('.'));
164
+ }
165
+ }
166
+ }
167
+ const calculatedProperties = (_b = Object.getPrototypeOf(new entity())[calculated_decorator_1.CALCULATED_PROPERTIES]) !== null && _b !== void 0 ? _b : [];
168
+ const selectedFields = new Set(Object.keys(fields));
169
+ const dependencyRelations = calculatedProperties
170
+ .filter(p => { var _a, _b; return selectedFields.has(p.name) && ((_b = (_a = p.listQuery) === null || _a === void 0 ? void 0 : _a.relations) === null || _b === void 0 ? void 0 : _b.length); })
171
+ .map(p => { var _a, _b; return (_b = (_a = p.listQuery) === null || _a === void 0 ? void 0 : _a.relations) !== null && _b !== void 0 ? _b : []; })
172
+ .flat();
173
+ relationPaths.push(...dependencyRelations);
174
+ }
175
+ }
176
+ return relationPaths;
177
+ }
178
+ function isGraphQLResolveInfo(input) {
179
+ return !!(input && typeof input === 'object' && input.schema instanceof graphql_1.GraphQLSchema);
180
+ }
181
+ function isPaginatedListQuery(info) {
182
+ const returnType = (0, graphql_1.getNamedType)(info.returnType);
183
+ return (0, graphql_1.isObjectType)(returnType) && !!returnType.getInterfaces().find(i => i.name === 'PaginatedList');
184
+ }
185
+ //# sourceMappingURL=relations.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.decorator.js","sourceRoot":"","sources":["../../../src/api/decorators/relations.decorator.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,20 @@ const constants_1 = require("../../common/constants");
20
20
  * @docsPage Ctx Decorator
21
21
  */
22
22
  exports.Ctx = (0, common_1.createParamDecorator)((data, ctx) => {
23
+ const getContext = (req) => {
24
+ const map = req[constants_1.REQUEST_CONTEXT_MAP_KEY];
25
+ // If a map contains associated transactional context with this handler
26
+ // we have to use it. It means that this handler was wrapped with @Transaction decorator.
27
+ // Otherwise use default context.
28
+ return (map === null || map === void 0 ? void 0 : map.get(ctx.getHandler())) || req[constants_1.REQUEST_CONTEXT_KEY];
29
+ };
23
30
  if (ctx.getType() === 'graphql') {
24
31
  // GraphQL request
25
- return ctx.getArgByIndex(2).req[constants_1.REQUEST_CONTEXT_KEY];
32
+ return getContext(ctx.getArgByIndex(2).req);
26
33
  }
27
34
  else {
28
35
  // REST request
29
- return ctx.switchToHttp().getRequest()[constants_1.REQUEST_CONTEXT_KEY];
36
+ return getContext(ctx.switchToHttp().getRequest());
30
37
  }
31
38
  });
32
39
  //# sourceMappingURL=request-context.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.decorator.js","sourceRoot":"","sources":["../../../src/api/decorators/request-context.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAqF;AAErF,sDAA6D;AAE7D;;;;;;;;;;;;;;;GAeG;AACU,QAAA,GAAG,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAI,EAAE,GAAqB,EAAE,EAAE;IACpE,IAAI,GAAG,CAAC,OAAO,EAA2B,KAAK,SAAS,EAAE;QACtD,kBAAkB;QAClB,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,+BAAmB,CAAC,CAAC;KACxD;SAAM;QACH,eAAe;QACf,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,+BAAmB,CAAC,CAAC;KAC/D;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"request-context.decorator.js","sourceRoot":"","sources":["../../../src/api/decorators/request-context.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAqF;AAErF,sDAAsF;AAEtF;;;;;;;;;;;;;;;GAeG;AACU,QAAA,GAAG,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAI,EAAE,GAAqB,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAmC,GAAG,CAAC,mCAAuB,CAAC,CAAC;QAEzE,uEAAuE;QACvE,yFAAyF;QACzF,iCAAiC;QACjC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,KAAI,GAAG,CAAC,+BAAmB,CAAC,CAAC;IAClE,CAAC,CAAA;IAED,IAAI,GAAG,CAAC,OAAO,EAA2B,KAAK,SAAS,EAAE;QACtD,kBAAkB;QAClB,OAAO,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAC/C;SAAM;QACH,eAAe;QACf,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;KACtD;AACL,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ export * from './common/extract-session-token';
4
4
  export * from './decorators/allow.decorator';
5
5
  export * from './decorators/transaction.decorator';
6
6
  export * from './decorators/api.decorator';
7
+ export * from './decorators/relations.decorator';
7
8
  export * from './decorators/request-context.decorator';
8
9
  export * from './resolvers/admin/search.resolver';
9
10
  export * from './middleware/auth-guard';
package/dist/api/index.js CHANGED
@@ -15,6 +15,7 @@ __exportStar(require("./common/extract-session-token"), exports);
15
15
  __exportStar(require("./decorators/allow.decorator"), exports);
16
16
  __exportStar(require("./decorators/transaction.decorator"), exports);
17
17
  __exportStar(require("./decorators/api.decorator"), exports);
18
+ __exportStar(require("./decorators/relations.decorator"), exports);
18
19
  __exportStar(require("./decorators/request-context.decorator"), exports);
19
20
  __exportStar(require("./resolvers/admin/search.resolver"), exports);
20
21
  __exportStar(require("./middleware/auth-guard"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAyC;AACzC,iEAA+C;AAC/C,+DAA6C;AAC7C,qEAAmD;AACnD,6DAA2C;AAC3C,yEAAuD;AACvD,oEAAkD;AAClD,0DAAwC;AACxC,uEAAqD;AACrD,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAyC;AACzC,iEAA+C;AAC/C,+DAA6C;AAC7C,qEAAmD;AACnD,6DAA2C;AAC3C,mEAAiD;AACjD,yEAAuD;AACvD,oEAAkD;AAClD,0DAAwC;AACxC,uEAAqD;AACrD,8DAA4C"}
@@ -1,6 +1,7 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
3
  import { Observable } from 'rxjs';
4
+ import { RequestContext } from '..';
4
5
  import { TransactionWrapper } from '../../connection/transaction-wrapper';
5
6
  import { TransactionalConnection } from '../../connection/transactional-connection';
6
7
  /**
@@ -14,4 +15,12 @@ export declare class TransactionInterceptor implements NestInterceptor {
14
15
  private reflector;
15
16
  constructor(connection: TransactionalConnection, transactionWrapper: TransactionWrapper, reflector: Reflector);
16
17
  intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
18
+ /**
19
+ * Registers transactional request context associated with execution handler function
20
+ *
21
+ * @param ctx transactional request context
22
+ * @param handler handler function from ExecutionContext
23
+ * @param req Request object
24
+ */
25
+ registerTransactionalContext(ctx: RequestContext, handler: Function, req: any): void;
17
26
  }
@@ -34,12 +34,27 @@ let TransactionInterceptor = class TransactionInterceptor {
34
34
  const ctx = req[constants_1.REQUEST_CONTEXT_KEY];
35
35
  if (ctx) {
36
36
  const transactionMode = this.reflector.get(transaction_decorator_1.TRANSACTION_MODE_METADATA_KEY, context.getHandler());
37
- return (0, rxjs_1.of)(this.transactionWrapper.executeInTransaction(ctx, () => next.handle(), transactionMode, this.connection.rawConnection));
37
+ return (0, rxjs_1.of)(this.transactionWrapper.executeInTransaction(ctx, (ctx) => {
38
+ this.registerTransactionalContext(ctx, context.getHandler(), req);
39
+ return next.handle();
40
+ }, transactionMode, this.connection.rawConnection));
38
41
  }
39
42
  else {
40
43
  return next.handle();
41
44
  }
42
45
  }
46
+ /**
47
+ * Registers transactional request context associated with execution handler function
48
+ *
49
+ * @param ctx transactional request context
50
+ * @param handler handler function from ExecutionContext
51
+ * @param req Request object
52
+ */
53
+ registerTransactionalContext(ctx, handler, req) {
54
+ const map = req[constants_1.REQUEST_CONTEXT_MAP_KEY] || new Map();
55
+ map.set(handler, ctx);
56
+ req[constants_1.REQUEST_CONTEXT_MAP_KEY] = map;
57
+ }
43
58
  };
44
59
  TransactionInterceptor = __decorate([
45
60
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-interceptor.js","sourceRoot":"","sources":["../../../src/api/middleware/transaction-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4F;AAC5F,uCAAyC;AACzC,+BAAsC;AAEtC,sDAA6D;AAC7D,8EAA0E;AAC1E,wFAAoF;AACpF,2DAAuD;AACvD,+EAAqG;AAErG;;;;GAIG;AAEH,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAC/B,YACY,UAAmC,EACnC,kBAAsC,EACtC,SAAoB;QAFpB,eAAU,GAAV,UAAU,CAAyB;QACnC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,cAAS,GAAT,SAAS,CAAW;IAC7B,CAAC;IACJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAI,GAAW,CAAC,+BAAmB,CAAC,CAAC;QAC9C,IAAI,GAAG,EAAE;YACL,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,qDAA6B,EAC7B,OAAO,CAAC,UAAU,EAAE,CACvB,CAAC;YACF,OAAO,IAAA,SAAE,EACL,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CACxC,GAAG,EACH,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EACnB,eAAe,EACf,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC,CACJ,CAAC;SACL;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;SACxB;IACL,CAAC;CACJ,CAAA;AA1BY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAGe,kDAAuB;QACf,wCAAkB;QAC3B,gBAAS;GAJvB,sBAAsB,CA0BlC;AA1BY,wDAAsB"}
1
+ {"version":3,"file":"transaction-interceptor.js","sourceRoot":"","sources":["../../../src/api/middleware/transaction-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4F;AAC5F,uCAAyC;AACzC,+BAAsC;AAGtC,sDAAsF;AACtF,8EAA0E;AAC1E,wFAAoF;AACpF,2DAAuD;AACvD,+EAAqG;AAErG;;;;GAIG;AAEH,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAC/B,YACY,UAAmC,EACnC,kBAAsC,EACtC,SAAoB;QAFpB,eAAU,GAAV,UAAU,CAAyB;QACnC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,cAAS,GAAT,SAAS,CAAW;IAC7B,CAAC;IAEJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAgC,GAAW,CAAC,+BAAmB,CAAC,CAAC;QAE1E,IAAI,GAAG,EAAE;YACL,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,qDAA6B,EAC7B,OAAO,CAAC,UAAU,EAAE,CACvB,CAAC;YAEF,OAAO,IAAA,SAAE,EACL,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CACxC,GAAG,EACH,CAAC,GAAG,EAAE,EAAE;gBACJ,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;gBAElE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;YACxB,CAAC,EACD,eAAe,EACf,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC,CACJ,CAAC;SACL;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;SACxB;IACL,CAAC;IAED;;;;;;OAMG;IACH,4BAA4B,CAAC,GAAmB,EAAE,OAAiB,EAAE,GAAQ;QACzE,MAAM,GAAG,GAAkC,GAAG,CAAC,mCAAuB,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrF,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEtB,GAAG,CAAC,mCAAuB,CAAC,GAAG,GAAG,CAAC;IACvC,CAAC;CACJ,CAAA;AA/CY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAGe,kDAAuB;QACf,wCAAkB;QAC3B,gBAAS;GAJvB,sBAAsB,CA+ClC;AA/CY,wDAAsB"}
@@ -3,11 +3,12 @@ import { PaginatedList } from '@vendure/common/lib/shared-types';
3
3
  import { Administrator } from '../../../entity/administrator/administrator.entity';
4
4
  import { AdministratorService } from '../../../service/services/administrator.service';
5
5
  import { RequestContext } from '../../common/request-context';
6
+ import { RelationPaths } from '../../decorators/relations.decorator';
6
7
  export declare class AdministratorResolver {
7
8
  private administratorService;
8
9
  constructor(administratorService: AdministratorService);
9
- administrators(ctx: RequestContext, args: QueryAdministratorsArgs): Promise<PaginatedList<Administrator>>;
10
- administrator(ctx: RequestContext, args: QueryAdministratorArgs): Promise<Administrator | undefined>;
10
+ administrators(ctx: RequestContext, args: QueryAdministratorsArgs, relations: RelationPaths<Administrator>): Promise<PaginatedList<Administrator>>;
11
+ administrator(ctx: RequestContext, args: QueryAdministratorArgs, relations: RelationPaths<Administrator>): Promise<Administrator | undefined>;
11
12
  activeAdministrator(ctx: RequestContext): Promise<Administrator | undefined>;
12
13
  createAdministrator(ctx: RequestContext, args: MutationCreateAdministratorArgs): Promise<Administrator>;
13
14
  updateAdministrator(ctx: RequestContext, args: MutationUpdateAdministratorArgs): Promise<Administrator>;
@@ -15,20 +15,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AdministratorResolver = void 0;
16
16
  const graphql_1 = require("@nestjs/graphql");
17
17
  const generated_types_1 = require("@vendure/common/lib/generated-types");
18
+ const administrator_entity_1 = require("../../../entity/administrator/administrator.entity");
18
19
  const administrator_service_1 = require("../../../service/services/administrator.service");
19
20
  const request_context_1 = require("../../common/request-context");
20
21
  const allow_decorator_1 = require("../../decorators/allow.decorator");
22
+ const relations_decorator_1 = require("../../decorators/relations.decorator");
21
23
  const request_context_decorator_1 = require("../../decorators/request-context.decorator");
22
24
  const transaction_decorator_1 = require("../../decorators/transaction.decorator");
23
25
  let AdministratorResolver = class AdministratorResolver {
24
26
  constructor(administratorService) {
25
27
  this.administratorService = administratorService;
26
28
  }
27
- administrators(ctx, args) {
28
- return this.administratorService.findAll(ctx, args.options || undefined);
29
+ administrators(ctx, args, relations) {
30
+ return this.administratorService.findAll(ctx, args.options || undefined, relations);
29
31
  }
30
- administrator(ctx, args) {
31
- return this.administratorService.findOne(ctx, args.id);
32
+ administrator(ctx, args, relations) {
33
+ return this.administratorService.findOne(ctx, args.id, relations);
32
34
  }
33
35
  async activeAdministrator(ctx) {
34
36
  if (ctx.activeUserId) {
@@ -65,8 +67,9 @@ __decorate([
65
67
  (0, allow_decorator_1.Allow)(generated_types_1.Permission.ReadAdministrator),
66
68
  __param(0, (0, request_context_decorator_1.Ctx)()),
67
69
  __param(1, (0, graphql_1.Args)()),
70
+ __param(2, (0, relations_decorator_1.Relations)(administrator_entity_1.Administrator)),
68
71
  __metadata("design:type", Function),
69
- __metadata("design:paramtypes", [request_context_1.RequestContext, Object]),
72
+ __metadata("design:paramtypes", [request_context_1.RequestContext, Object, Array]),
70
73
  __metadata("design:returntype", Promise)
71
74
  ], AdministratorResolver.prototype, "administrators", null);
72
75
  __decorate([
@@ -74,8 +77,9 @@ __decorate([
74
77
  (0, allow_decorator_1.Allow)(generated_types_1.Permission.ReadAdministrator),
75
78
  __param(0, (0, request_context_decorator_1.Ctx)()),
76
79
  __param(1, (0, graphql_1.Args)()),
80
+ __param(2, (0, relations_decorator_1.Relations)(administrator_entity_1.Administrator)),
77
81
  __metadata("design:type", Function),
78
- __metadata("design:paramtypes", [request_context_1.RequestContext, Object]),
82
+ __metadata("design:paramtypes", [request_context_1.RequestContext, Object, Array]),
79
83
  __metadata("design:returntype", Promise)
80
84
  ], AdministratorResolver.prototype, "administrator", null);
81
85
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"administrator.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/admin/administrator.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"administrator.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/admin/administrator.resolver.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@ import { PaginatedList } from '@vendure/common/lib/shared-types';
3
3
  import { Asset } from '../../../entity/asset/asset.entity';
4
4
  import { AssetService } from '../../../service/services/asset.service';
5
5
  import { RequestContext } from '../../common/request-context';
6
+ import { RelationPaths } from '../../decorators/relations.decorator';
6
7
  export declare class AssetResolver {
7
8
  private assetService;
8
9
  constructor(assetService: AssetService);
9
- asset(ctx: RequestContext, args: QueryAssetArgs): Promise<Asset | undefined>;
10
- assets(ctx: RequestContext, args: QueryAssetsArgs): Promise<PaginatedList<Asset>>;
10
+ asset(ctx: RequestContext, args: QueryAssetArgs, relations: RelationPaths<Asset>): Promise<Asset | undefined>;
11
+ assets(ctx: RequestContext, args: QueryAssetsArgs, relations: RelationPaths<Asset>): Promise<PaginatedList<Asset>>;
11
12
  createAssets(ctx: RequestContext, args: MutationCreateAssetsArgs): Promise<CreateAssetResult[]>;
12
13
  updateAsset(ctx: RequestContext, { input }: MutationUpdateAssetArgs): Promise<Asset>;
13
14
  deleteAsset(ctx: RequestContext, { input: { assetId, force, deleteFromAllChannels } }: MutationDeleteAssetArgs): Promise<import("@vendure/common/lib/generated-types").DeletionResponse>;