@unchainedshop/api 4.0.0-rc.6 → 4.0.0-rc.7

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 (70) hide show
  1. package/README.md +3 -1
  2. package/lib/errors.d.ts +1 -0
  3. package/lib/errors.d.ts.map +1 -1
  4. package/lib/errors.js +1 -0
  5. package/lib/errors.js.map +1 -1
  6. package/lib/loaders/index.d.ts +5 -0
  7. package/lib/loaders/index.d.ts.map +1 -1
  8. package/lib/loaders/index.js +2 -0
  9. package/lib/loaders/index.js.map +1 -1
  10. package/lib/loaders/productProxiesLoader.d.ts +10 -0
  11. package/lib/loaders/productProxiesLoader.d.ts.map +1 -0
  12. package/lib/loaders/productProxiesLoader.js +30 -0
  13. package/lib/loaders/productProxiesLoader.js.map +1 -0
  14. package/lib/resolvers/mutations/products/createProductBundleItem.d.ts.map +1 -1
  15. package/lib/resolvers/mutations/products/createProductBundleItem.js +7 -2
  16. package/lib/resolvers/mutations/products/createProductBundleItem.js.map +1 -1
  17. package/lib/resolvers/type/index.d.ts +9 -0
  18. package/lib/resolvers/type/index.d.ts.map +1 -1
  19. package/lib/resolvers/type/index.js +2 -0
  20. package/lib/resolvers/type/index.js.map +1 -1
  21. package/lib/resolvers/type/product/product-bundle-types.d.ts +1 -0
  22. package/lib/resolvers/type/product/product-bundle-types.d.ts.map +1 -1
  23. package/lib/resolvers/type/product/product-configurable-or-bundle-product-types.d.ts +5 -0
  24. package/lib/resolvers/type/product/product-configurable-or-bundle-product-types.d.ts.map +1 -0
  25. package/lib/resolvers/type/product/product-configurable-or-bundle-product-types.js +9 -0
  26. package/lib/resolvers/type/product/product-configurable-or-bundle-product-types.js.map +1 -0
  27. package/lib/resolvers/type/product/product-configurable-types.d.ts +1 -0
  28. package/lib/resolvers/type/product/product-configurable-types.d.ts.map +1 -1
  29. package/lib/resolvers/type/product/product-plan-types.d.ts +1 -0
  30. package/lib/resolvers/type/product/product-plan-types.d.ts.map +1 -1
  31. package/lib/resolvers/type/product/product-simple-types.d.ts +1 -0
  32. package/lib/resolvers/type/product/product-simple-types.d.ts.map +1 -1
  33. package/lib/resolvers/type/product/product-tokenized-types.d.ts +1 -0
  34. package/lib/resolvers/type/product/product-tokenized-types.d.ts.map +1 -1
  35. package/lib/resolvers/type/product/product-types.d.ts +1 -0
  36. package/lib/resolvers/type/product/product-types.d.ts.map +1 -1
  37. package/lib/resolvers/type/product/product-types.js +3 -0
  38. package/lib/resolvers/type/product/product-types.js.map +1 -1
  39. package/lib/schema/types/product/bundle-product.d.ts.map +1 -1
  40. package/lib/schema/types/product/bundle-product.js +1 -0
  41. package/lib/schema/types/product/bundle-product.js.map +1 -1
  42. package/lib/schema/types/product/configurable-product.d.ts.map +1 -1
  43. package/lib/schema/types/product/configurable-product.js +1 -0
  44. package/lib/schema/types/product/configurable-product.js.map +1 -1
  45. package/lib/schema/types/product/plan-product.d.ts.map +1 -1
  46. package/lib/schema/types/product/plan-product.js +1 -0
  47. package/lib/schema/types/product/plan-product.js.map +1 -1
  48. package/lib/schema/types/product/product.d.ts.map +1 -1
  49. package/lib/schema/types/product/product.js +3 -0
  50. package/lib/schema/types/product/product.js.map +1 -1
  51. package/lib/schema/types/product/simple-product.d.ts.map +1 -1
  52. package/lib/schema/types/product/simple-product.js +1 -0
  53. package/lib/schema/types/product/simple-product.js.map +1 -1
  54. package/lib/schema/types/product/tokenized-product.d.ts.map +1 -1
  55. package/lib/schema/types/product/tokenized-product.js +1 -0
  56. package/lib/schema/types/product/tokenized-product.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/errors.ts +5 -0
  59. package/src/loaders/index.ts +2 -0
  60. package/src/loaders/productProxiesLoader.ts +37 -0
  61. package/src/resolvers/mutations/products/createProductBundleItem.ts +13 -3
  62. package/src/resolvers/type/index.ts +2 -0
  63. package/src/resolvers/type/product/product-configurable-or-bundle-product-types.ts +10 -0
  64. package/src/resolvers/type/product/product-types.ts +4 -0
  65. package/src/schema/types/product/bundle-product.ts +1 -0
  66. package/src/schema/types/product/configurable-product.ts +1 -0
  67. package/src/schema/types/product/plan-product.ts +1 -0
  68. package/src/schema/types/product/product.ts +3 -0
  69. package/src/schema/types/product/simple-product.ts +1 -0
  70. package/src/schema/types/product/tokenized-product.ts +1 -0
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
1
  # API (Unchained Engine)
2
2
 
3
- This package exposes unchained as a GraphQL Server (Apollo)
3
+ This package exposes API layers for Unchained:
4
+ - GraphQL (Yoga)
5
+ - MCP
package/lib/errors.d.ts CHANGED
@@ -59,6 +59,7 @@ export declare const ProviderConfigurationInvalid: any;
59
59
  export declare const TokenWrongStatusError: any;
60
60
  export declare const TokenNotFoundError: any;
61
61
  export declare const CyclicAssortmentLinkNotSupportedError: any;
62
+ export declare const CyclicProductBundlingNotSupportedError: any;
62
63
  export declare const EmailAlreadyExistsError: any;
63
64
  export declare const UsernameAlreadyExistsError: any;
64
65
  export declare const UsernameOrEmailRequiredError: any;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/lib/errors.js CHANGED
@@ -69,6 +69,7 @@ export const ProviderConfigurationInvalid = createError('ProviderConfigurationIn
69
69
  export const TokenWrongStatusError = createError('TokenWrongStatusError', 'The current status of the token does not allow this operation');
70
70
  export const TokenNotFoundError = createError('TokenNotFoundError', 'Token not found');
71
71
  export const CyclicAssortmentLinkNotSupportedError = createError('CyclicAssortmentLinkNotSupported', 'Cyclic assortment link detected, make sure child assortment is not assigned as a parent on the assortment graph');
72
+ export const CyclicProductBundlingNotSupportedError = createError('CyclicBundlingNotSupportedError', 'Cyclic bundling detected, make sure bundled product is not the same as the bundle product itself');
72
73
  export const EmailAlreadyExistsError = createError('EmailAlreadyExists', 'Email already exists or is invalid');
73
74
  export const UsernameAlreadyExistsError = createError('UsernameAlreadyExists', 'Username already exists or is invalid');
74
75
  export const UsernameOrEmailRequiredError = createError('UsernameOrEmailRequired', 'No username or email is provided.');
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAO,EAAE,CAChE,KAAM,SAAQ,YAAY;IACxB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE;QAC/C,KAAK,CAAC,eAAe,IAAI,OAAO,EAAE;YAChC,UAAU,EAAE;gBACV,IAAI;gBACJ,GAAG,IAAI;aACR;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAChD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,qBAAqB,EACrB,kHAAkH,CACnH,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAC7D,sCAAsC,EACtC,oCAAoC,CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,iCAAiC,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,oDAAoD,CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,yDAAyD,CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,+BAA+B,CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAC7D,sCAAsC,EACtC,qCAAqC,CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,qEAAqE,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,iCAAiC,CAClC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,0BAA0B,EAC1B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,wBAAwB,EACxB,sEAAsE,CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,oBAAoB,EACpB,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,mEAAmE,CACpE,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,wBAAwB,EACxB,6HAA6H,CAC9H,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,wDAAwD,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,+BAA+B,GAAG,WAAW,CACxD,iCAAiC,EACjC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,oEAAoE,CACrE,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,CACzD,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,qCAAqC,GAAG,WAAW,CAC9D,kCAAkC,EAClC,iHAAiH,CAClH,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAChD,oBAAoB,EACpB,oCAAoC,CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,uBAAuB,EACvB,uCAAuC,CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,yBAAyB,EACzB,mCAAmC,CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC7C,sBAAsB,EACtB,sDAAsD,CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAG,WAAW,CACjE,qCAAqC,EACrC,iDAAiD,CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,oBAAoB,EAAE,8BAA8B,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;AAExG,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAC3D,oCAAoC,EACpC,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAC7D,iCAAiC,EACjC,sDAAsD,CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC7C,sBAAsB,EACtB,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,qBAAqB,EACrB,8EAA8E,CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,WAAW,CAC5D,gCAAgC,EAChC,kGAAkG,CACnG,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,CACzD,6BAA6B,EAC7B,4GAA4G,CAC7G,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,2BAA2B,EAC3B,4HAA4H,CAC7H,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,0BAA0B,EAC1B,gIAAgI,CACjI,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,CACzD,kCAAkC,EAClC,2FAA2F,CAC5F,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,gDAAgD,CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,0CAA0C,CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAChD,yBAAyB,EACzB,2CAA2C,CAC5C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,11 @@ declare const loaders: (unchainedAPI: UnchainedCore) => {
95
95
  }, import("@unchainedshop/core-products").ProductMedia[], {
96
96
  productId?: string;
97
97
  }>;
98
+ productProxiesLoader: import("dataloader")<{
99
+ productId?: string;
100
+ }, import("@unchainedshop/core-products").Product[], {
101
+ productId?: string;
102
+ }>;
98
103
  fileLoader: import("dataloader")<{
99
104
  fileId: string;
100
105
  }, import("@unchainedshop/core-files").File, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyBpD,QAAA,MAAM,OAAO,GAAI,cAAc,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAEnE,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0BpD,QAAA,MAAM,OAAO,GAAI,cAAc,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAEnE,eAAe,OAAO,CAAC"}
@@ -13,6 +13,7 @@ import productLoaderBySKU from './productLoaderBySKU.js';
13
13
  import productTextLoader from './productTextLoader.js';
14
14
  import productMediaTextLoader from './productMediaTextLoader.js';
15
15
  import productMediasLoader from './productMediasLoader.js';
16
+ import productProxiesLoader from './productProxiesLoader.js';
16
17
  import fileLoader from './fileLoader.js';
17
18
  import userLoader from './userLoader.js';
18
19
  import countryLoader from './countryLoader.js';
@@ -38,6 +39,7 @@ const loaders = (unchainedAPI) => {
38
39
  productTextLoader: productTextLoader(unchainedAPI),
39
40
  productMediaTextLoader: productMediaTextLoader(unchainedAPI),
40
41
  productMediasLoader: productMediasLoader(unchainedAPI),
42
+ productProxiesLoader: productProxiesLoader(unchainedAPI),
41
43
  fileLoader: fileLoader(unchainedAPI),
42
44
  userLoader: userLoader(unchainedAPI),
43
45
  countryLoader: countryLoader(unchainedAPI),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC9C,OAAO;QACL,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAChD,oBAAoB,EAAE,oBAAoB,CAAC,YAAY,CAAC;QACxD,yBAAyB,EAAE,yBAAyB,CAAC,YAAY,CAAC;QAClE,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAC5D,oBAAoB,EAAE,oBAAoB,CAAC,YAAY,CAAC;QACxD,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;QAC1D,uBAAuB,EAAE,uBAAuB,CAAC,YAAY,CAAC;QAC9D,wBAAwB,EAAE,wBAAwB,CAAC,YAAY,CAAC;QAEhE,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC;QACxC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAEhD,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;QAC1C,kBAAkB,EAAE,kBAAkB,CAAC,YAAY,CAAC;QACpD,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC;QAClD,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAC5D,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,CAAC;QAEtD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;QAEpC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;QAEpC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;QAE1C,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC;QAE5C,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC;QAE5C,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAE5D,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;QAE1D,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAIF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC9C,OAAO;QACL,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAChD,oBAAoB,EAAE,oBAAoB,CAAC,YAAY,CAAC;QACxD,yBAAyB,EAAE,yBAAyB,CAAC,YAAY,CAAC;QAClE,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAC5D,oBAAoB,EAAE,oBAAoB,CAAC,YAAY,CAAC;QACxD,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;QAC1D,uBAAuB,EAAE,uBAAuB,CAAC,YAAY,CAAC;QAC9D,wBAAwB,EAAE,wBAAwB,CAAC,YAAY,CAAC;QAEhE,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC;QACxC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAEhD,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;QAC1C,kBAAkB,EAAE,kBAAkB,CAAC,YAAY,CAAC;QACpD,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC;QAClD,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAC5D,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,CAAC;QACtD,oBAAoB,EAAE,oBAAoB,CAAC,YAAY,CAAC;QAExD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;QAEpC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;QAEpC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;QAE1C,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC;QAE5C,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC;QAE5C,sBAAsB,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAE5D,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;QAE1D,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAIF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { UnchainedCore } from '@unchainedshop/core';
2
+ import { Product } from '@unchainedshop/core-products';
3
+ import DataLoader from 'dataloader';
4
+ declare const _default: (unchainedAPI: UnchainedCore) => DataLoader<{
5
+ productId?: string;
6
+ }, Product[], {
7
+ productId?: string;
8
+ }>;
9
+ export default _default;
10
+ //# sourceMappingURL=productProxiesLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productProxiesLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/productProxiesLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,UAAU,MAAM,YAAY,CAAC;yBAEpB,cAAc,aAAa;gBACZ,MAAM;;gBAAN,MAAM;;AADrC,wBAgCK"}
@@ -0,0 +1,30 @@
1
+ import DataLoader from 'dataloader';
2
+ export default (unchainedAPI) => new DataLoader(async (queries) => {
3
+ const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
4
+ const productProxies = await unchainedAPI.modules.products.findProducts({
5
+ includeDrafts: true,
6
+ productSelector: {
7
+ $or: [
8
+ {
9
+ 'bundleItems.productId': { $in: productIds },
10
+ },
11
+ {
12
+ 'proxy.assignments.productId': { $in: productIds },
13
+ },
14
+ ],
15
+ },
16
+ });
17
+ const productProxyMap = {};
18
+ for (const productProxy of productProxies) {
19
+ const bundleItemIds = productProxy.bundleItems?.map((item) => item.productId) || [];
20
+ const proxyAssignmentIds = productProxy.proxy?.assignments?.map((assignment) => assignment.productId) || [];
21
+ for (const productId of [...bundleItemIds, ...proxyAssignmentIds]) {
22
+ if (!productProxyMap[productId]) {
23
+ productProxyMap[productId] = [];
24
+ }
25
+ productProxyMap[productId].push(productProxy);
26
+ }
27
+ }
28
+ return queries.map((q) => productProxyMap[q.productId] || []);
29
+ });
30
+ //# sourceMappingURL=productProxiesLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productProxiesLoader.js","sourceRoot":"","sources":["../../src/loaders/productProxiesLoader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,eAAe,CAAC,YAA2B,EAAE,EAAE,CAC7C,IAAI,UAAU,CAAoC,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjF,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QACtE,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE;YACf,GAAG,EAAE;gBACH;oBACE,uBAAuB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;iBAC7C;gBACD;oBACE,6BAA6B,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;iBACnD;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,kBAAkB,GACtB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEnF,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;YACD,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createProductBundleItem.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/createProductBundleItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,wBAA8B,uBAAuB,CACnD,IAAI,EAAE,KAAK,EACX,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EACnE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,2DAuB7B"}
1
+ {"version":3,"file":"createProductBundleItem.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/createProductBundleItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQjE,wBAA8B,uBAAuB,CACnD,IAAI,EAAE,KAAK,EACX,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EACnE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,2DA4B7B"}
@@ -1,6 +1,6 @@
1
1
  import { log } from '@unchainedshop/logger';
2
2
  import { ProductTypes } from '@unchainedshop/core-products';
3
- import { ProductNotFoundError, InvalidIdError, ProductWrongTypeError } from '../../../errors.js';
3
+ import { ProductNotFoundError, InvalidIdError, ProductWrongTypeError, CyclicProductBundlingNotSupportedError, } from '../../../errors.js';
4
4
  export default async function createProductBundleItem(root, { productId, item }, { modules, userId }) {
5
5
  log(`mutation createProductBundleItem ${productId}`, { userId, item });
6
6
  if (!productId)
@@ -16,8 +16,13 @@ export default async function createProductBundleItem(root, { productId, item },
16
16
  received: product.type,
17
17
  required: ProductTypes.BundleProduct,
18
18
  });
19
- if (!(await modules.products.productExists({ productId: item.productId })))
19
+ const itemProduct = await modules.products.findProduct({ productId: item.productId });
20
+ if (!itemProduct)
20
21
  throw new ProductNotFoundError({ productId: item.productId });
22
+ if (itemProduct._id === product._id)
23
+ throw new CyclicProductBundlingNotSupportedError({
24
+ productId: itemProduct._id,
25
+ });
21
26
  await modules.products.bundleItems.addBundleItem(productId, item);
22
27
  return modules.products.findProduct({ productId });
23
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createProductBundleItem.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/createProductBundleItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uBAAuB,CACnD,IAAW,EACX,EAAE,SAAS,EAAE,IAAI,EAAkD,EACnE,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,oCAAoC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa;QAC7C,MAAM,IAAI,qBAAqB,CAAC;YAC9B,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,IAAI;YACtB,QAAQ,EAAE,YAAY,CAAC,aAAa;SACrC,CAAC,CAAC;IAEL,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhE,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"createProductBundleItem.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/createProductBundleItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,sCAAsC,GACvC,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uBAAuB,CACnD,IAAW,EACX,EAAE,SAAS,EAAE,IAAI,EAAkD,EACnE,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,oCAAoC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa;QAC7C,MAAM,IAAI,qBAAqB,CAAC;YAC9B,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,IAAI;YACtB,QAAQ,EAAE,YAAY,CAAC,aAAa;SACrC,CAAC,CAAC;IAEL,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhF,IAAI,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;QACjC,MAAM,IAAI,sCAAsC,CAAC;YAC/C,SAAS,EAAE,WAAW,CAAC,GAAG;SAC3B,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC"}
@@ -51,6 +51,7 @@ declare const types: {
51
51
  BundleProduct: {
52
52
  bundleItems(product: any): import("@unchainedshop/core-products").ProductBundleItem[];
53
53
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
54
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
54
55
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
55
56
  forceLocale?: string;
56
57
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -127,6 +128,7 @@ declare const types: {
127
128
  useNetPrice: boolean;
128
129
  }, requestContext: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").ProductPriceRange>;
129
130
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
131
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
130
132
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
131
133
  forceLocale?: string;
132
134
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -498,6 +500,7 @@ declare const types: {
498
500
  salesQuantityPerUnit({ commerce }: import("@unchainedshop/core-products").Product): string;
499
501
  defaultOrderQuantity({ commerce }: import("@unchainedshop/core-products").Product): number;
500
502
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
503
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
501
504
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
502
505
  forceLocale?: string;
503
506
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -536,6 +539,7 @@ declare const types: {
536
539
  };
537
540
  Product: {
538
541
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
542
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
539
543
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
540
544
  forceLocale?: string;
541
545
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -604,6 +608,9 @@ declare const types: {
604
608
  filteredByThisFilterSet: Set<string>;
605
609
  }[]>;
606
610
  };
611
+ ConfigurableOrBundleProduct: {
612
+ __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
613
+ };
607
614
  Quotation: {
608
615
  country: (obj: import("@unchainedshop/core-quotations").Quotation, _: never, { loaders }: import("../../context.js").Context) => Promise<import("@unchainedshop/core-countries").Country>;
609
616
  currency: (obj: import("@unchainedshop/core-quotations").Quotation, _: never, { loaders }: import("../../context.js").Context) => Promise<import("@unchainedshop/core-currencies").Currency>;
@@ -664,6 +671,7 @@ declare const types: {
664
671
  salesQuantityPerUnit({ commerce }: import("@unchainedshop/core-products").Product): string;
665
672
  defaultOrderQuantity({ commerce }: import("@unchainedshop/core-products").Product): number;
666
673
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
674
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
667
675
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
668
676
  forceLocale?: string;
669
677
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -727,6 +735,7 @@ declare const types: {
727
735
  salesQuantityPerUnit({ commerce }: import("@unchainedshop/core-products").Product): string;
728
736
  defaultOrderQuantity({ commerce }: import("@unchainedshop/core-products").Product): number;
729
737
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
738
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
730
739
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
731
740
  forceLocale?: string;
732
741
  }, { modules, loaders }: import("../../context.js").Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/index.ts"],"names":[],"mappings":"AAqEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;gBAxC+C,CAAC;;;;uBAW1D,CAAC;;;uBAKO,CAAC;uBAA2B,CAAC;;;mBAC6B,CAAC;;;;;;;;;;;;;;;;;;uBAzCnD,CAAC;;;;;;;;;uBAMgB,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAnC7B,CAAC;;;;;;;;;;wBAcP,CAAC;;oBACjB,CAAC;;;;;;uBApBU,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;;;;;;;wBAlCD,CAAC;;uBAC1B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAhBO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAErB,CAAC;;;;;;;uBACrC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBACsB,CAAC;gBACvB,CAAC;iBAA0B,CAAC;;mBACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAJ0C,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;uBAhB4B,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;;;uBAxCxC,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA1ChD,CAAC;+BAA6C,CAAC;oBAC1C,CAAC;4BAChB,CAAC;;;;;;4BAOV,CAAC;+BAA6C,CAAC;oBAClC,CAAC;;;;;;;;;;;;oBAfqC,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;uBAhB4B,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;4BAlC3B,CAAC;+BAC/B,CAAC;oBAAqC,CAAC;;;;oBAdE,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;uBAhB4B,CAAC;;;;;;;gBAUA,CAAC;;;uBAQG,CAAC;iBAAqB,CAAC;kBAC3C,CAAC;gBAAoB,CAAC;;;uBAK3B,CAAC;;;wBAGiB,CAAC;;;;;;;uBAawC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFzE,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/index.ts"],"names":[],"mappings":"AAsEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;gBAzC+C,CAAC;;;;uBAW1D,CAAC;;;uBAKO,CAAC;uBAA2B,CAAC;;;mBAC6B,CAAC;;;;;;;;;;;;;;;;;;uBAzCnD,CAAC;;;;;;;;;;uBAS+B,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBArCd,CAAC;;;;;;;;;;wBAcP,CAAC;;oBACjB,CAAC;;;;;;;uBAjByB,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;;;;;;;wBApCc,CAAC;;uBAC1B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAhBO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAErB,CAAC;;;;;;;uBACrC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBACsB,CAAC;gBACvB,CAAC;iBAA0B,CAAC;;mBACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAJ0C,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;;uBAb2C,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;;;;uBAvCV,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA5CjC,CAAC;+BAA6C,CAAC;oBAC1C,CAAC;4BAChB,CAAC;;;;;;4BAOV,CAAC;+BAA6C,CAAC;oBAClC,CAAC;;;;;;;;;;;;oBAfqC,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;;uBAb2C,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;4BApCZ,CAAC;+BAC/B,CAAC;oBAAqC,CAAC;;;;oBAdE,CAAC;wBAC3D,CAAC;;;oBAQsB,CAAC;wBACxB,CAAC;uBAA2B,CAAC;yBAA8B,CAAC;;;wBAavD,CAAC;;;;;;;;;;;;uBAb2C,CAAC;;;;;;;gBAUxB,CAAC;;;uBAQxB,CAAC;iBAAsB,CAAA;kBAAsB,CAAC;gBACrC,CAAC;;;uBAI6B,CAAC;;;wBAGc,CAAC;;;;;;;uBAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF1D,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -52,6 +52,7 @@ import { ProductVariation } from './product/product-variation-types.js';
52
52
  import { ProductVariationAssignment } from './product/product-variation-assignment-types.js';
53
53
  import { ProductVariationAssignmentVector } from './product/product-variation-assignment-vector.js';
54
54
  import { ProductVariationOption } from './product/product-variation-option-types.js';
55
+ import { ConfigurableOrBundleProduct } from './product/product-configurable-or-bundle-product-types.js';
55
56
  import { Quotation } from './quotation-types.js';
56
57
  import { Shop } from './shop-types.js';
57
58
  import { SimpleProduct } from './product/product-simple-types.js';
@@ -122,6 +123,7 @@ const types = {
122
123
  ProductVariationAssignmentVector,
123
124
  ProductVariationOption,
124
125
  ProductSearchResult,
126
+ ConfigurableOrBundleProduct,
125
127
  Quotation,
126
128
  Shop,
127
129
  SimpleProduct,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolvers/type/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolvers/type/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ProductBundleItem } from '@unchainedshop/core-products';
2
2
  export declare const BundleProduct: {
3
3
  bundleItems(product: any): ProductBundleItem[];
4
4
  __resolveType: (product: import("@unchainedshop/core-products").Product) => string;
5
+ proxies(product: import("@unchainedshop/core-products").Product, _: never, context: import("../../../context.js").Context): Promise<import("@unchainedshop/core-products").Product[]>;
5
6
  assortmentPaths(product: import("@unchainedshop/core-products").Product, params: {
6
7
  forceLocale?: string;
7
8
  }, { modules, loaders }: import("../../../context.js").Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-bundle-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-bundle-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,eAAO,MAAM,aAAa;+BAGF,iBAAiB,EAAE;;;mBAIgd,CAAC;;;;;;;YAAwoB,CAAC;;;mBAAmiB,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CADzsG,CAAC"}
1
+ {"version":3,"file":"product-bundle-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-bundle-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,eAAO,MAAM,aAAa;+BAGF,iBAAiB,EAAE;;;;mBAIooB,CAAC;;;;;;;YAAwoB,CAAC;;;mBAAmiB,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CAD73G,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Product as ProductType } from '@unchainedshop/core-products';
2
+ export declare const ConfigurableOrBundleProduct: {
3
+ __resolveType: (product: ProductType) => string;
4
+ };
5
+ //# sourceMappingURL=product-configurable-or-bundle-product-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-configurable-or-bundle-product-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-configurable-or-bundle-product-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAItE,eAAO,MAAM,2BAA2B;6BACb,WAAW,KAAG,MAAM;CAI9C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ProductTypes } from '@unchainedshop/core-products';
2
+ import { objectInvert } from '@unchainedshop/utils';
3
+ export const ConfigurableOrBundleProduct = {
4
+ __resolveType: (product) => {
5
+ const invertedProductTypes = objectInvert(ProductTypes);
6
+ return invertedProductTypes[product.type];
7
+ },
8
+ };
9
+ //# sourceMappingURL=product-configurable-or-bundle-product-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-configurable-or-bundle-product-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-configurable-or-bundle-product-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,aAAa,EAAE,CAAC,OAAoB,EAAU,EAAE;QAC9C,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
@@ -29,6 +29,7 @@ export declare const ConfigurableProduct: {
29
29
  useNetPrice: boolean;
30
30
  }, requestContext: Context): Promise<ProductPriceRange>;
31
31
  __resolveType: (product: ProductType) => string;
32
+ proxies(product: ProductType, _: never, context: Context): Promise<ProductType[]>;
32
33
  assortmentPaths(product: ProductType, params: {
33
34
  forceLocale?: string;
34
35
  }, { modules, loaders }: Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-configurable-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-configurable-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,eAAO,MAAM,mBAAmB;yBAInB,WAAW,UACZ;QACN,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;KACzB,EAAE,CACJ;sBAKU,WAAW,iCAIjB;QACD,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC;+BAOnB,WAAW,yDAMjB;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACjC,kBACe,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;wBAYlB,WAAW,sBAIjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,eACY,OAAO,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;iCASnB,WAAW,0FAOjB;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC;KACtB,kBACe,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;;;mBAlE3B,CAAF;;;;;;;YA0BI,CAAC;;;mBA8BD,CAAL;aACM,CAAC;cACD,CAAC;YACW,CAAC;;;mBAU+B,CAAC;;;oBASzC,CAAC;;;;;;;mBAmC0D,CAAC;;CADtE,CAAC"}
1
+ {"version":3,"file":"product-configurable-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-configurable-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,eAAO,MAAM,mBAAmB;yBAInB,WAAW,UACZ;QACN,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;KACzB,EAAE,CACJ;sBAKU,WAAW,iCAIjB;QACD,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC;+BAOnB,WAAW,yDAMjB;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACjC,kBACe,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;wBAYlB,WAAW,sBAIjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,eACY,OAAO,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;iCASnB,WAAW,0FAOjB;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC;KACtB,kBACe,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;;;;mBA3DV,CAAC;;;;;;;YA+BT,CAAC;;;mBAyBN,CAAC;aACL,CAAD;cACe,CAAC;YACT,CAAC;;;mBAUI,CAAC;;;oBAQN,CAAA;;;;;;;mBA6BgP,CAAC;;CAD1P,CAAC"}
@@ -22,6 +22,7 @@ export declare const PlanProduct: {
22
22
  salesQuantityPerUnit({ commerce }: ProductType): string;
23
23
  defaultOrderQuantity({ commerce }: ProductType): number;
24
24
  __resolveType: (product: ProductType) => string;
25
+ proxies(product: ProductType, _: never, context: Context): Promise<ProductType[]>;
25
26
  assortmentPaths(product: ProductType, params: {
26
27
  forceLocale?: string;
27
28
  }, { modules, loaders }: Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-plan-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-plan-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,IAAI,WAAW,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,eAAO,MAAM,WAAW;0BAIX,WAAW,kDAC4B;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,kBAC5E,OAAO,GACtB,OAAO,CAAC,YAAY,CAAC;4BAWb,WAAW,+EAMjB;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;KACxC,kBACe,OAAO,GACtB,OAAO,CAAC,YAAY,CAAC;kCA0Bb,WAAW,wCACkB;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,kBAC/C,OAAO,GACtB,OAAO,CACR;QACE,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,YAAY,CAAC;KACrB,EAAE,CACJ;4BAMuB,WAAW,GAAG,MAAM;uCAGT,WAAW,GAAG,MAAM;uCAGpB,WAAW,GAAG,MAAM;;;mBA1DxC,CAAC;;;;;;;YAyBX,CAAA;;;mBAsB8B,CAAC;aAChC,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBASjD,CAAA;;;oBAKmI,CAAC;;;;;;;mBAAu6B,CAAC;;CAD7iC,CAAC"}
1
+ {"version":3,"file":"product-plan-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-plan-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,IAAI,WAAW,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,eAAO,MAAM,WAAW;0BAIX,WAAW,kDAC4B;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,kBAC5E,OAAO,GACtB,OAAO,CAAC,YAAY,CAAC;4BAWb,WAAW,+EAMjB;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;KACxC,kBACe,OAAO,GACtB,OAAO,CAAC,YAAY,CAAC;kCA0Bb,WAAW,wCACkB;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,kBAC/C,OAAO,GACtB,OAAO,CACR;QACE,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,YAAY,CAAC;KACrB,EAAE,CACJ;4BAMuB,WAAW,GAAG,MAAM;uCAGT,WAAW,GAAG,MAAM;uCAGpB,WAAW,GAAG,MAAM;;;;mBAlDhD,CAAC;;;;;;;YAuBsB,CAAC;;;mBAkBuD,CAAC;aAGlF,CAAC;cAAsB,CAAC;YAC3B,CAAD;;;mBAS8D,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CADjuC,CAAC"}
@@ -52,6 +52,7 @@ export declare const SimpleProduct: {
52
52
  salesQuantityPerUnit({ commerce }: Product): string;
53
53
  defaultOrderQuantity({ commerce }: Product): number;
54
54
  __resolveType: (product: Product) => string;
55
+ proxies(product: Product, _: never, context: Context): Promise<Product[]>;
55
56
  assortmentPaths(product: Product, params: {
56
57
  forceLocale?: string;
57
58
  }, { modules, loaders }: Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-simple-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-simple-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,eAAO,MAAM,aAAa;6BAIjB,OAAO,UACJ;QAAE,aAAa,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,oBAAoB,CAAA;KAAE,kBAC7E,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,gBAAgB,CAAC,EAAE,IAAI,CAAC;KACzB,EAAE,CACJ;yBAWM,OAAO,UACJ;QACN,aAAa,EAAE,IAAI,CAAC;QACpB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,kBACe,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CACJ;;;QAS0B,MAAM;;;QAIX,MAAM;;;QAIJ,aAAa;;gBAxDgB,CAAC;oBAEjD,CAAA;;;gBAiBC,CAAC;oBAA4B,CAAC;mBAC/B,CAAC;qBAEF,CAAH;;;oBAoCgD,CAAC;;;;;;;;;;;mBA1ClD,CAAA;;;;;;;YA0BwB,CAAC;;;mBAyBT,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CADnjD,CAAC"}
1
+ {"version":3,"file":"product-simple-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-simple-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,eAAO,MAAM,aAAa;6BAIjB,OAAO,UACJ;QAAE,aAAa,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,oBAAoB,CAAA;KAAE,kBAC7E,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,gBAAgB,CAAC,EAAE,IAAI,CAAC;KACzB,EAAE,CACJ;yBAWM,OAAO,UACJ;QACN,aAAa,EAAE,IAAI,CAAC;QACpB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,kBACe,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CACJ;;;QAS0B,MAAM;;;QAIX,MAAM;;;QAIJ,aAAa;;gBAxDgB,CAAC;oBAEjD,CAAA;;;gBAiBC,CAAC;oBAA4B,CAAC;mBAC/B,CAAC;qBAEF,CAAH;;;oBAoCgD,CAAC;;;;;;;;;;;;mBArC5C,CAAC;;;;;;;YA+BQ,CAAC;;;mBAeoL,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CADvuD,CAAC"}
@@ -35,6 +35,7 @@ export declare const TokenizedProduct: {
35
35
  salesQuantityPerUnit({ commerce }: Product): string;
36
36
  defaultOrderQuantity({ commerce }: Product): number;
37
37
  __resolveType: (product: Product) => string;
38
+ proxies(product: Product, _: never, context: Context): Promise<Product[]>;
38
39
  assortmentPaths(product: Product, params: {
39
40
  forceLocale?: string;
40
41
  }, { modules, loaders }: Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-tokenized-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-tokenized-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,eAAO,MAAM,gBAAgB;sCAGO,OAAO,GAAG,MAAM;4CAIV,OAAO,GAAG,4BAA4B;uCAS3C,OAAO,GAAG,uBAAuB;yBAK7D,OAAO,UACJ;QACN,aAAa,EAAE,IAAI,CAAC;KACrB,kBACe,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CACJ;oBASqB,OAAO,UAAU,KAAK,kBAAkB,OAAO;;gBA5ClE,CAAC;oBAAsB,CAAC;;;gBAgBzB,CAAH;oBAGe,CAAC;mBAA2B,CAAC;qBACzC,CAAD;;;oBAiCQ,CAAC;;;;;;;;;;;mBAvCN,CAAL;;;;;;;YAyBK,CAAC;;;mBAiBuE,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CAL/mD,CAAC"}
1
+ {"version":3,"file":"product-tokenized-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-tokenized-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,eAAO,MAAM,gBAAgB;sCAGO,OAAO,GAAG,MAAM;4CAIV,OAAO,GAAG,4BAA4B;uCAS3C,OAAO,GAAG,uBAAuB;yBAK7D,OAAO,UACJ;QACN,aAAa,EAAE,IAAI,CAAC;KACrB,kBACe,OAAO,GACtB,OAAO,CACR;QACE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CACJ;oBASqB,OAAO,UAAU,KAAK,kBAAkB,OAAO;;gBA5ClE,CAAC;oBAAsB,CAAC;;;gBAgBzB,CAAH;oBAGe,CAAC;mBAA2B,CAAC;qBACzC,CAAD;;;oBAiCQ,CAAC;;;;;;;;;;;;mBAlCqD,CAAC;;;;;;;YA0BV,CAAC;;;mBAWyM,CAAC;aAAqB,CAAC;cAAsB,CAAC;YAAoB,CAAC;;;mBAA8T,CAAC;;;oBAAuP,CAAC;;;;;;;mBAAu6B,CAAC;;CALnyD,CAAC"}
@@ -7,6 +7,7 @@ import { ProductReview } from '@unchainedshop/core-products';
7
7
  import { Context } from '../../../context.js';
8
8
  export declare const Product: {
9
9
  __resolveType: (product: ProductType) => string;
10
+ proxies(product: ProductType, _: never, context: Context): Promise<ProductType[]>;
10
11
  assortmentPaths(product: ProductType, params: {
11
12
  forceLocale?: string;
12
13
  }, { modules, loaders }: Context): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"product-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAgB,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,eAAO,MAAM,OAAO;6BACO,WAAW,KAAG,MAAM;6BAMlC,WAAW,UACZ;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,wBACqB,OAAO,GAC5B,OAAO,CACR;QACE,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC7B,EAAE,CACJ;mBAmBU,WAAW,UACZ;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,wBACqB,OAAO,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;qBAcf,WAAW,yCAMjB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,eACY,OAAO,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC;0BAUhB,WAAW,UACZ;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,eACY,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;sBAMP,WAAW,UACZ;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC;oBAuBd,WAAW,uBAAkB,OAAO,GAAG,aAAa;mBAKzD,WAAW,oBAGjB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,uBACoB,OAAO,GAC3B,OAAO,CAAC,WAAW,CAAC;CAMxB,CAAC"}
1
+ {"version":3,"file":"product-types.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAgB,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,eAAO,MAAM,OAAO;6BACO,WAAW,KAAG,MAAM;qBAKtB,WAAW,KAAK,KAAK,WAAW,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;6BAK5E,WAAW,UACZ;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,wBACqB,OAAO,GAC5B,OAAO,CACR;QACE,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC7B,EAAE,CACJ;mBAmBU,WAAW,UACZ;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,wBACqB,OAAO,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;qBAcf,WAAW,yCAMjB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,eACY,OAAO,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC;0BAUhB,WAAW,UACZ;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,eACY,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;sBAMP,WAAW,UACZ;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,OAAO,CAAC;KAC1B,eACY,OAAO,GACnB,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC;oBAuBd,WAAW,uBAAkB,OAAO,GAAG,aAAa;mBAKzD,WAAW,oBAGjB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,uBACoB,OAAO,GAC3B,OAAO,CAAC,WAAW,CAAC;CAMxB,CAAC"}
@@ -5,6 +5,9 @@ export const Product = {
5
5
  const invertedProductTypes = objectInvert(ProductTypes);
6
6
  return invertedProductTypes[product.type];
7
7
  },
8
+ async proxies(product, _, context) {
9
+ return context.loaders.productProxiesLoader.load({ productId: product._id });
10
+ },
8
11
  async assortmentPaths(product, params, { modules, loaders }) {
9
12
  return modules.assortments.breadcrumbs({
10
13
  productId: product._id,
@@ -1 +1 @@
1
- {"version":3,"file":"product-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":";AAAA,wBAsCE"}
1
+ {"version":3,"file":"bundle-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":";AAAA,wBAuCE"}
@@ -22,6 +22,7 @@ export default [
22
22
  ): [ProductReview!]!
23
23
  reviewsCount(queryString: String): Int!
24
24
  assortmentPaths: [ProductAssortmentPath!]!
25
+ proxies: [ConfigurableOrBundleProduct!]!
25
26
  siblings(
26
27
  assortmentId: ID
27
28
  limit: Int = 10
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCb;CACF,CAAC"}
1
+ {"version":3,"file":"bundle-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/bundle-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCb;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configurable-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":";AAAA,wBAsHE"}
1
+ {"version":3,"file":"configurable-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":";AAAA,wBAuHE"}
@@ -73,6 +73,7 @@ export default [
73
73
  media(limit: Int = 10, offset: Int = 0, tags: [LowerCaseString!]): [ProductMedia!]!
74
74
  texts(forceLocale: Locale): ProductTexts
75
75
  assortmentPaths: [ProductAssortmentPath!]!
76
+ proxies: [ConfigurableOrBundleProduct!]!
76
77
  siblings(
77
78
  assortmentId: ID
78
79
  limit: Int = 10
@@ -1 +1 @@
1
- {"version":3,"file":"configurable-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoHb;CACF,CAAC"}
1
+ {"version":3,"file":"configurable-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/configurable-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHb;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":";AAAA,wBAwEE"}
1
+ {"version":3,"file":"plan-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":";AAAA,wBAyEE"}
@@ -51,6 +51,7 @@ export default [
51
51
  configuration: [ProductConfigurationParameterInput!]
52
52
  ): Price @cacheControl(scope: PRIVATE)
53
53
  assortmentPaths(forceLocale: Locale): [ProductAssortmentPath!]!
54
+ proxies: [ConfigurableOrBundleProduct!]!
54
55
  siblings(
55
56
  assortmentId: ID
56
57
  limit: Int = 10
@@ -1 +1 @@
1
- {"version":3,"file":"plan-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEb;CACF,CAAC"}
1
+ {"version":3,"file":"plan-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/plan-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEb;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":";AAAA,wBAuIE"}
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":";AAAA,wBA0IE"}
@@ -71,6 +71,7 @@ export default [
71
71
  ): [ProductReview!]!
72
72
  reviewsCount(queryString: String): Int!
73
73
  assortmentPaths: [ProductAssortmentPath!]!
74
+ proxies: [ConfigurableOrBundleProduct!]!
74
75
  siblings(
75
76
  assortmentId: ID
76
77
  limit: Int = 10
@@ -132,6 +133,8 @@ export default [
132
133
  amount: Int!
133
134
  maxQuantity: Int
134
135
  }
136
+
137
+ union ConfigurableOrBundleProduct = BundleProduct | ConfigurableProduct
135
138
  `,
136
139
  ];
137
140
  //# sourceMappingURL=product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqIb;CACF,CAAC"}
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwIb;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":";AAAA,wBAsDE"}
1
+ {"version":3,"file":"simple-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":";AAAA,wBAuDE"}
@@ -31,6 +31,7 @@ export default [
31
31
  referenceDate: Timestamp
32
32
  ): [Stock!] @cacheControl(scope: PRIVATE, maxAge: 10)
33
33
  assortmentPaths: [ProductAssortmentPath!]!
34
+ proxies: [ConfigurableOrBundleProduct!]!
34
35
  siblings(
35
36
  assortmentId: ID
36
37
  limit: Int = 10
@@ -1 +1 @@
1
- {"version":3,"file":"simple-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDb;CACF,CAAC"}
1
+ {"version":3,"file":"simple-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/simple-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDb;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenized-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":";AAAA,wBAgEE"}
1
+ {"version":3,"file":"tokenized-product.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":";AAAA,wBAiEE"}
@@ -42,6 +42,7 @@ export default [
42
42
  ): Price @cacheControl(scope: PRIVATE, maxAge: 10)
43
43
  simulatedStocks(referenceDate: Timestamp): [Stock!] @cacheControl(scope: PRIVATE, maxAge: 10)
44
44
  assortmentPaths(forceLocale: Locale): [ProductAssortmentPath!]!
45
+ proxies: [ConfigurableOrBundleProduct!]!
45
46
  siblings(
46
47
  assortmentId: ID
47
48
  limit: Int = 10
@@ -1 +1 @@
1
- {"version":3,"file":"tokenized-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8Db;CACF,CAAC"}
1
+ {"version":3,"file":"tokenized-product.js","sourceRoot":"","sources":["../../../../src/schema/types/product/tokenized-product.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+Db;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/api",
3
- "version": "4.0.0-rc.6",
3
+ "version": "4.0.0-rc.7",
4
4
  "main": "lib/api-index.js",
5
5
  "types": "lib/api-index.d.ts",
6
6
  "type": "module",
package/src/errors.ts CHANGED
@@ -230,6 +230,11 @@ export const CyclicAssortmentLinkNotSupportedError = createError(
230
230
  'Cyclic assortment link detected, make sure child assortment is not assigned as a parent on the assortment graph',
231
231
  );
232
232
 
233
+ export const CyclicProductBundlingNotSupportedError = createError(
234
+ 'CyclicBundlingNotSupportedError',
235
+ 'Cyclic bundling detected, make sure bundled product is not the same as the bundle product itself',
236
+ );
237
+
233
238
  export const EmailAlreadyExistsError = createError(
234
239
  'EmailAlreadyExists',
235
240
  'Email already exists or is invalid',
@@ -14,6 +14,7 @@ import productLoaderBySKU from './productLoaderBySKU.js';
14
14
  import productTextLoader from './productTextLoader.js';
15
15
  import productMediaTextLoader from './productMediaTextLoader.js';
16
16
  import productMediasLoader from './productMediasLoader.js';
17
+ import productProxiesLoader from './productProxiesLoader.js';
17
18
  import fileLoader from './fileLoader.js';
18
19
  import userLoader from './userLoader.js';
19
20
  import countryLoader from './countryLoader.js';
@@ -42,6 +43,7 @@ const loaders = (unchainedAPI: UnchainedCore) => {
42
43
  productTextLoader: productTextLoader(unchainedAPI),
43
44
  productMediaTextLoader: productMediaTextLoader(unchainedAPI),
44
45
  productMediasLoader: productMediasLoader(unchainedAPI),
46
+ productProxiesLoader: productProxiesLoader(unchainedAPI),
45
47
 
46
48
  fileLoader: fileLoader(unchainedAPI),
47
49
 
@@ -0,0 +1,37 @@
1
+ import { UnchainedCore } from '@unchainedshop/core';
2
+ import { Product } from '@unchainedshop/core-products';
3
+ import DataLoader from 'dataloader';
4
+
5
+ export default (unchainedAPI: UnchainedCore) =>
6
+ new DataLoader<{ productId?: string }, Product[]>(async (queries) => {
7
+ const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
8
+
9
+ const productProxies = await unchainedAPI.modules.products.findProducts({
10
+ includeDrafts: true,
11
+ productSelector: {
12
+ $or: [
13
+ {
14
+ 'bundleItems.productId': { $in: productIds },
15
+ },
16
+ {
17
+ 'proxy.assignments.productId': { $in: productIds },
18
+ },
19
+ ],
20
+ },
21
+ });
22
+
23
+ const productProxyMap = {};
24
+ for (const productProxy of productProxies) {
25
+ const bundleItemIds = productProxy.bundleItems?.map((item) => item.productId) || [];
26
+ const proxyAssignmentIds =
27
+ productProxy.proxy?.assignments?.map((assignment) => assignment.productId) || [];
28
+
29
+ for (const productId of [...bundleItemIds, ...proxyAssignmentIds]) {
30
+ if (!productProxyMap[productId]) {
31
+ productProxyMap[productId] = [];
32
+ }
33
+ productProxyMap[productId].push(productProxy);
34
+ }
35
+ }
36
+ return queries.map((q) => productProxyMap[q.productId] || []);
37
+ });
@@ -2,7 +2,12 @@ import { log } from '@unchainedshop/logger';
2
2
  import { ProductTypes } from '@unchainedshop/core-products';
3
3
  import { Context } from '../../../context.js';
4
4
  import { ProductBundleItem } from '@unchainedshop/core-products';
5
- import { ProductNotFoundError, InvalidIdError, ProductWrongTypeError } from '../../../errors.js';
5
+ import {
6
+ ProductNotFoundError,
7
+ InvalidIdError,
8
+ ProductWrongTypeError,
9
+ CyclicProductBundlingNotSupportedError,
10
+ } from '../../../errors.js';
6
11
 
7
12
  export default async function createProductBundleItem(
8
13
  root: never,
@@ -24,8 +29,13 @@ export default async function createProductBundleItem(
24
29
  required: ProductTypes.BundleProduct,
25
30
  });
26
31
 
27
- if (!(await modules.products.productExists({ productId: item.productId })))
28
- throw new ProductNotFoundError({ productId: item.productId });
32
+ const itemProduct = await modules.products.findProduct({ productId: item.productId });
33
+ if (!itemProduct) throw new ProductNotFoundError({ productId: item.productId });
34
+
35
+ if (itemProduct._id === product._id)
36
+ throw new CyclicProductBundlingNotSupportedError({
37
+ productId: itemProduct._id,
38
+ });
29
39
 
30
40
  await modules.products.bundleItems.addBundleItem(productId, item);
31
41
 
@@ -52,6 +52,7 @@ import { ProductVariation } from './product/product-variation-types.js';
52
52
  import { ProductVariationAssignment } from './product/product-variation-assignment-types.js';
53
53
  import { ProductVariationAssignmentVector } from './product/product-variation-assignment-vector.js';
54
54
  import { ProductVariationOption } from './product/product-variation-option-types.js';
55
+ import { ConfigurableOrBundleProduct } from './product/product-configurable-or-bundle-product-types.js';
55
56
  import { Quotation } from './quotation-types.js';
56
57
  import { Shop } from './shop-types.js';
57
58
  import { SimpleProduct } from './product/product-simple-types.js';
@@ -123,6 +124,7 @@ const types = {
123
124
  ProductVariationAssignmentVector,
124
125
  ProductVariationOption,
125
126
  ProductSearchResult,
127
+ ConfigurableOrBundleProduct,
126
128
  Quotation,
127
129
  Shop,
128
130
  SimpleProduct,
@@ -0,0 +1,10 @@
1
+ import { Product as ProductType } from '@unchainedshop/core-products';
2
+ import { ProductTypes } from '@unchainedshop/core-products';
3
+ import { objectInvert } from '@unchainedshop/utils';
4
+
5
+ export const ConfigurableOrBundleProduct = {
6
+ __resolveType: (product: ProductType): string => {
7
+ const invertedProductTypes = objectInvert(ProductTypes);
8
+ return invertedProductTypes[product.type];
9
+ },
10
+ };
@@ -13,6 +13,10 @@ export const Product = {
13
13
  return invertedProductTypes[product.type];
14
14
  },
15
15
 
16
+ async proxies(product: ProductType, _: never, context: Context): Promise<ProductType[]> {
17
+ return context.loaders.productProxiesLoader.load({ productId: product._id });
18
+ },
19
+
16
20
  async assortmentPaths(
17
21
  product: ProductType,
18
22
  params: {
@@ -22,6 +22,7 @@ export default [
22
22
  ): [ProductReview!]!
23
23
  reviewsCount(queryString: String): Int!
24
24
  assortmentPaths: [ProductAssortmentPath!]!
25
+ proxies: [ConfigurableOrBundleProduct!]!
25
26
  siblings(
26
27
  assortmentId: ID
27
28
  limit: Int = 10
@@ -73,6 +73,7 @@ export default [
73
73
  media(limit: Int = 10, offset: Int = 0, tags: [LowerCaseString!]): [ProductMedia!]!
74
74
  texts(forceLocale: Locale): ProductTexts
75
75
  assortmentPaths: [ProductAssortmentPath!]!
76
+ proxies: [ConfigurableOrBundleProduct!]!
76
77
  siblings(
77
78
  assortmentId: ID
78
79
  limit: Int = 10
@@ -51,6 +51,7 @@ export default [
51
51
  configuration: [ProductConfigurationParameterInput!]
52
52
  ): Price @cacheControl(scope: PRIVATE)
53
53
  assortmentPaths(forceLocale: Locale): [ProductAssortmentPath!]!
54
+ proxies: [ConfigurableOrBundleProduct!]!
54
55
  siblings(
55
56
  assortmentId: ID
56
57
  limit: Int = 10
@@ -71,6 +71,7 @@ export default [
71
71
  ): [ProductReview!]!
72
72
  reviewsCount(queryString: String): Int!
73
73
  assortmentPaths: [ProductAssortmentPath!]!
74
+ proxies: [ConfigurableOrBundleProduct!]!
74
75
  siblings(
75
76
  assortmentId: ID
76
77
  limit: Int = 10
@@ -132,5 +133,7 @@ export default [
132
133
  amount: Int!
133
134
  maxQuantity: Int
134
135
  }
136
+
137
+ union ConfigurableOrBundleProduct = BundleProduct | ConfigurableProduct
135
138
  `,
136
139
  ];
@@ -31,6 +31,7 @@ export default [
31
31
  referenceDate: Timestamp
32
32
  ): [Stock!] @cacheControl(scope: PRIVATE, maxAge: 10)
33
33
  assortmentPaths: [ProductAssortmentPath!]!
34
+ proxies: [ConfigurableOrBundleProduct!]!
34
35
  siblings(
35
36
  assortmentId: ID
36
37
  limit: Int = 10
@@ -42,6 +42,7 @@ export default [
42
42
  ): Price @cacheControl(scope: PRIVATE, maxAge: 10)
43
43
  simulatedStocks(referenceDate: Timestamp): [Stock!] @cacheControl(scope: PRIVATE, maxAge: 10)
44
44
  assortmentPaths(forceLocale: Locale): [ProductAssortmentPath!]!
45
+ proxies: [ConfigurableOrBundleProduct!]!
45
46
  siblings(
46
47
  assortmentId: ID
47
48
  limit: Int = 10