@pvh-afl/graphql 1.0.0

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 (202) hide show
  1. package/README.md +135 -0
  2. package/dist/cart/cart.hooks.d.ts +66 -0
  3. package/dist/cart/cart.hooks.d.ts.map +1 -0
  4. package/dist/cart/cart.hooks.js +12 -0
  5. package/dist/cart/cart.hooks.js.map +1 -0
  6. package/dist/cart/cart.module.d.ts +25 -0
  7. package/dist/cart/cart.module.d.ts.map +1 -0
  8. package/dist/cart/cart.module.js +44 -0
  9. package/dist/cart/cart.module.js.map +1 -0
  10. package/dist/cart/cart.resolver.d.ts +23 -0
  11. package/dist/cart/cart.resolver.d.ts.map +1 -0
  12. package/dist/cart/cart.resolver.js +153 -0
  13. package/dist/cart/cart.resolver.js.map +1 -0
  14. package/dist/cart/cart.service.d.ts +31 -0
  15. package/dist/cart/cart.service.d.ts.map +1 -0
  16. package/dist/cart/cart.service.js +305 -0
  17. package/dist/cart/cart.service.js.map +1 -0
  18. package/dist/cart/cart.types.d.ts +144 -0
  19. package/dist/cart/cart.types.d.ts.map +1 -0
  20. package/dist/cart/cart.types.js +629 -0
  21. package/dist/cart/cart.types.js.map +1 -0
  22. package/dist/cart/index.d.ts +6 -0
  23. package/dist/cart/index.d.ts.map +1 -0
  24. package/dist/cart/index.js +9 -0
  25. package/dist/cart/index.js.map +1 -0
  26. package/dist/cms/cms.module.d.ts +3 -0
  27. package/dist/cms/cms.module.d.ts.map +1 -0
  28. package/dist/cms/cms.module.js +18 -0
  29. package/dist/cms/cms.module.js.map +1 -0
  30. package/dist/cms/cms.resolver.d.ts +15 -0
  31. package/dist/cms/cms.resolver.d.ts.map +1 -0
  32. package/dist/cms/cms.resolver.js +44 -0
  33. package/dist/cms/cms.resolver.js.map +1 -0
  34. package/dist/cms/cms.service.d.ts +14 -0
  35. package/dist/cms/cms.service.d.ts.map +1 -0
  36. package/dist/cms/cms.service.js +111 -0
  37. package/dist/cms/cms.service.js.map +1 -0
  38. package/dist/cms/cms.types.d.ts +20 -0
  39. package/dist/cms/cms.types.d.ts.map +1 -0
  40. package/dist/cms/cms.types.js +89 -0
  41. package/dist/cms/cms.types.js.map +1 -0
  42. package/dist/cms/index.d.ts +5 -0
  43. package/dist/cms/index.d.ts.map +1 -0
  44. package/dist/cms/index.js +8 -0
  45. package/dist/cms/index.js.map +1 -0
  46. package/dist/collection/collection.module.d.ts +3 -0
  47. package/dist/collection/collection.module.d.ts.map +1 -0
  48. package/dist/collection/collection.module.js +19 -0
  49. package/dist/collection/collection.module.js.map +1 -0
  50. package/dist/collection/collection.resolver.d.ts +15 -0
  51. package/dist/collection/collection.resolver.d.ts.map +1 -0
  52. package/dist/collection/collection.resolver.js +45 -0
  53. package/dist/collection/collection.resolver.js.map +1 -0
  54. package/dist/collection/collection.service.d.ts +19 -0
  55. package/dist/collection/collection.service.d.ts.map +1 -0
  56. package/dist/collection/collection.service.js +132 -0
  57. package/dist/collection/collection.service.js.map +1 -0
  58. package/dist/collection/collection.types.d.ts +18 -0
  59. package/dist/collection/collection.types.d.ts.map +1 -0
  60. package/dist/collection/collection.types.js +75 -0
  61. package/dist/collection/collection.types.js.map +1 -0
  62. package/dist/collection/index.d.ts +5 -0
  63. package/dist/collection/index.d.ts.map +1 -0
  64. package/dist/collection/index.js +8 -0
  65. package/dist/collection/index.js.map +1 -0
  66. package/dist/common/index.d.ts +8 -0
  67. package/dist/common/index.d.ts.map +1 -0
  68. package/dist/common/index.js +16 -0
  69. package/dist/common/index.js.map +1 -0
  70. package/dist/graphql.module.d.ts +3 -0
  71. package/dist/graphql.module.d.ts.map +1 -0
  72. package/dist/graphql.module.js +46 -0
  73. package/dist/graphql.module.js.map +1 -0
  74. package/dist/header/header.module.d.ts +9 -0
  75. package/dist/header/header.module.d.ts.map +1 -0
  76. package/dist/header/header.module.js +21 -0
  77. package/dist/header/header.module.js.map +1 -0
  78. package/dist/header/header.resolver.d.ts +18 -0
  79. package/dist/header/header.resolver.d.ts.map +1 -0
  80. package/dist/header/header.resolver.js +42 -0
  81. package/dist/header/header.resolver.js.map +1 -0
  82. package/dist/header/index.d.ts +4 -0
  83. package/dist/header/index.d.ts.map +1 -0
  84. package/dist/header/index.js +7 -0
  85. package/dist/header/index.js.map +1 -0
  86. package/dist/header/types/header.types.d.ts +36 -0
  87. package/dist/header/types/header.types.d.ts.map +1 -0
  88. package/dist/header/types/header.types.js +154 -0
  89. package/dist/header/types/header.types.js.map +1 -0
  90. package/dist/header/types/index.d.ts +3 -0
  91. package/dist/header/types/index.d.ts.map +1 -0
  92. package/dist/header/types/index.js +6 -0
  93. package/dist/header/types/index.js.map +1 -0
  94. package/dist/header/types/response.types.d.ts +13 -0
  95. package/dist/header/types/response.types.d.ts.map +1 -0
  96. package/dist/header/types/response.types.js +54 -0
  97. package/dist/header/types/response.types.js.map +1 -0
  98. package/dist/index.d.ts +16 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +29 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/page-content/index.d.ts +5 -0
  103. package/dist/page-content/index.d.ts.map +1 -0
  104. package/dist/page-content/index.js +8 -0
  105. package/dist/page-content/index.js.map +1 -0
  106. package/dist/page-content/page-content.module.d.ts +9 -0
  107. package/dist/page-content/page-content.module.d.ts.map +1 -0
  108. package/dist/page-content/page-content.module.js +25 -0
  109. package/dist/page-content/page-content.module.js.map +1 -0
  110. package/dist/page-content/page-content.resolver.d.ts +18 -0
  111. package/dist/page-content/page-content.resolver.d.ts.map +1 -0
  112. package/dist/page-content/page-content.resolver.js +42 -0
  113. package/dist/page-content/page-content.resolver.js.map +1 -0
  114. package/dist/page-content/page-content.service.d.ts +59 -0
  115. package/dist/page-content/page-content.service.d.ts.map +1 -0
  116. package/dist/page-content/page-content.service.js +253 -0
  117. package/dist/page-content/page-content.service.js.map +1 -0
  118. package/dist/page-content/types/common.types.d.ts +49 -0
  119. package/dist/page-content/types/common.types.d.ts.map +1 -0
  120. package/dist/page-content/types/common.types.js +217 -0
  121. package/dist/page-content/types/common.types.js.map +1 -0
  122. package/dist/page-content/types/index.d.ts +4 -0
  123. package/dist/page-content/types/index.d.ts.map +1 -0
  124. package/dist/page-content/types/index.js +7 -0
  125. package/dist/page-content/types/index.js.map +1 -0
  126. package/dist/page-content/types/response.types.d.ts +8 -0
  127. package/dist/page-content/types/response.types.d.ts.map +1 -0
  128. package/dist/page-content/types/response.types.js +29 -0
  129. package/dist/page-content/types/response.types.js.map +1 -0
  130. package/dist/page-content/types/section.types.d.ts +276 -0
  131. package/dist/page-content/types/section.types.d.ts.map +1 -0
  132. package/dist/page-content/types/section.types.js +1252 -0
  133. package/dist/page-content/types/section.types.js.map +1 -0
  134. package/dist/product/index.d.ts +5 -0
  135. package/dist/product/index.d.ts.map +1 -0
  136. package/dist/product/index.js +8 -0
  137. package/dist/product/index.js.map +1 -0
  138. package/dist/product/product.module.d.ts +3 -0
  139. package/dist/product/product.module.d.ts.map +1 -0
  140. package/dist/product/product.module.js +19 -0
  141. package/dist/product/product.module.js.map +1 -0
  142. package/dist/product/product.resolver.d.ts +15 -0
  143. package/dist/product/product.resolver.d.ts.map +1 -0
  144. package/dist/product/product.resolver.js +45 -0
  145. package/dist/product/product.resolver.js.map +1 -0
  146. package/dist/product/product.service.d.ts +38 -0
  147. package/dist/product/product.service.d.ts.map +1 -0
  148. package/dist/product/product.service.js +337 -0
  149. package/dist/product/product.service.js.map +1 -0
  150. package/dist/product/product.types.d.ts +63 -0
  151. package/dist/product/product.types.d.ts.map +1 -0
  152. package/dist/product/product.types.js +276 -0
  153. package/dist/product/product.types.js.map +1 -0
  154. package/dist/product-content/index.d.ts +5 -0
  155. package/dist/product-content/index.d.ts.map +1 -0
  156. package/dist/product-content/index.js +8 -0
  157. package/dist/product-content/index.js.map +1 -0
  158. package/dist/product-content/product-content.module.d.ts +3 -0
  159. package/dist/product-content/product-content.module.d.ts.map +1 -0
  160. package/dist/product-content/product-content.module.js +27 -0
  161. package/dist/product-content/product-content.module.js.map +1 -0
  162. package/dist/product-content/product-content.resolver.d.ts +20 -0
  163. package/dist/product-content/product-content.resolver.d.ts.map +1 -0
  164. package/dist/product-content/product-content.resolver.js +44 -0
  165. package/dist/product-content/product-content.resolver.js.map +1 -0
  166. package/dist/product-content/product-content.service.d.ts +40 -0
  167. package/dist/product-content/product-content.service.d.ts.map +1 -0
  168. package/dist/product-content/product-content.service.js +239 -0
  169. package/dist/product-content/product-content.service.js.map +1 -0
  170. package/dist/product-content/types/common.types.d.ts +85 -0
  171. package/dist/product-content/types/common.types.d.ts.map +1 -0
  172. package/dist/product-content/types/common.types.js +384 -0
  173. package/dist/product-content/types/common.types.js.map +1 -0
  174. package/dist/product-content/types/index.d.ts +3 -0
  175. package/dist/product-content/types/index.d.ts.map +1 -0
  176. package/dist/product-content/types/index.js +6 -0
  177. package/dist/product-content/types/index.js.map +1 -0
  178. package/dist/product-content/types/response.types.d.ts +10 -0
  179. package/dist/product-content/types/response.types.d.ts.map +1 -0
  180. package/dist/product-content/types/response.types.js +39 -0
  181. package/dist/product-content/types/response.types.js.map +1 -0
  182. package/dist/serviceability/index.d.ts +5 -0
  183. package/dist/serviceability/index.d.ts.map +1 -0
  184. package/dist/serviceability/index.js +8 -0
  185. package/dist/serviceability/index.js.map +1 -0
  186. package/dist/serviceability/serviceability.module.d.ts +3 -0
  187. package/dist/serviceability/serviceability.module.d.ts.map +1 -0
  188. package/dist/serviceability/serviceability.module.js +18 -0
  189. package/dist/serviceability/serviceability.module.js.map +1 -0
  190. package/dist/serviceability/serviceability.resolver.d.ts +19 -0
  191. package/dist/serviceability/serviceability.resolver.d.ts.map +1 -0
  192. package/dist/serviceability/serviceability.resolver.js +40 -0
  193. package/dist/serviceability/serviceability.resolver.js.map +1 -0
  194. package/dist/serviceability/serviceability.service.d.ts +42 -0
  195. package/dist/serviceability/serviceability.service.d.ts.map +1 -0
  196. package/dist/serviceability/serviceability.service.js +169 -0
  197. package/dist/serviceability/serviceability.service.js.map +1 -0
  198. package/dist/serviceability/serviceability.types.d.ts +42 -0
  199. package/dist/serviceability/serviceability.types.d.ts.map +1 -0
  200. package/dist/serviceability/serviceability.types.js +184 -0
  201. package/dist/serviceability/serviceability.types.js.map +1 -0
  202. package/package.json +67 -0
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@pvh-afl/core");
7
+ const cart_hooks_1 = require("./cart.hooks");
8
+ let CartService = class CartService {
9
+ integrationFactory;
10
+ hooks;
11
+ constructor(integrationFactory, hooks) {
12
+ this.integrationFactory = integrationFactory;
13
+ this.hooks = hooks;
14
+ }
15
+ getCommerceService(brand) {
16
+ const commerce = this.integrationFactory.get(brand, 'commerce');
17
+ if (!commerce) {
18
+ throw new Error(`Commerce integration not configured for brand: ${brand}`);
19
+ }
20
+ return commerce;
21
+ }
22
+ async createCart(brand) {
23
+ const commerce = this.getCommerceService(brand);
24
+ const response = await commerce.createCart();
25
+ if (!response.success || !response.data) {
26
+ throw new Error(response.error?.message ?? 'Failed to create cart');
27
+ }
28
+ return this.mapCart(response.data);
29
+ }
30
+ async getCart(brand, cartId) {
31
+ const commerce = this.getCommerceService(brand);
32
+ const response = await commerce.getCart(cartId);
33
+ if (!response.success) {
34
+ throw new Error(response.error?.message ?? 'Failed to fetch cart');
35
+ }
36
+ if (!response.data)
37
+ return null;
38
+ // Get extra data from hooks if available
39
+ let extraData;
40
+ if (this.hooks?.getExtraCartData) {
41
+ extraData = await this.hooks.getExtraCartData(brand, cartId);
42
+ }
43
+ return this.mapCart(response.data, extraData);
44
+ }
45
+ async addLines(brand, cartId, lines) {
46
+ const commerce = this.getCommerceService(brand);
47
+ const response = await commerce.addToCart(cartId, lines);
48
+ if (!response.success || !response.data) {
49
+ throw new Error(response.error?.message ?? 'Failed to add to cart');
50
+ }
51
+ return this.mapCart(response.data);
52
+ }
53
+ async updateLines(brand, cartId, lines) {
54
+ const commerce = this.getCommerceService(brand);
55
+ const response = await commerce.updateCartLines(cartId, lines);
56
+ if (!response.success || !response.data) {
57
+ throw new Error(response.error?.message ?? 'Failed to update cart lines');
58
+ }
59
+ return this.mapCart(response.data);
60
+ }
61
+ async removeLines(brand, cartId, lineIds) {
62
+ const commerce = this.getCommerceService(brand);
63
+ const response = await commerce.removeCartLines(cartId, lineIds);
64
+ if (!response.success || !response.data) {
65
+ throw new Error(response.error?.message ?? 'Failed to remove cart lines');
66
+ }
67
+ return this.mapCart(response.data);
68
+ }
69
+ /**
70
+ * Update discount codes on cart.
71
+ *
72
+ * Flow:
73
+ * 1. If forceCapillaryValidation=true: Skip Shopify, validate with Capillary, sync to Shopify, apply
74
+ * 2. If forceCapillaryValidation=false (default):
75
+ * - Apply to Shopify directly
76
+ * - If any code is not applicable, check if hooks can handle it
77
+ * - If yes, validate with Capillary, sync to Shopify, apply again
78
+ */
79
+ async updateDiscountCodes(brand, cartId, discountCodes, mobile, forceCapillaryValidation) {
80
+ const commerce = this.getCommerceService(brand);
81
+ const options = { mobile, forceCapillaryValidation };
82
+ // If no codes, just clear discounts
83
+ if (discountCodes.length === 0) {
84
+ const response = await commerce.updateCartDiscountCodes(cartId, []);
85
+ if (!response.success || !response.data) {
86
+ throw new Error(response.error?.message ?? 'Failed to update discount codes');
87
+ }
88
+ return this.mapCart(response.data);
89
+ }
90
+ // Flow 1: Force Capillary validation - skip Shopify, go directly to loyalty
91
+ if (forceCapillaryValidation && this.hooks?.processDiscountCodes) {
92
+ core_1.logger.info('Force Capillary validation enabled, skipping initial Shopify apply', {
93
+ brand,
94
+ cartId,
95
+ codes: discountCodes,
96
+ });
97
+ const result = await this.hooks.processDiscountCodes(brand, cartId, discountCodes, options);
98
+ // Apply the processed codes (Shopify codes) to cart
99
+ const response = await commerce.updateCartDiscountCodes(cartId, result.codes);
100
+ if (!response.success || !response.data) {
101
+ throw new Error(response.error?.message ?? 'Failed to update discount codes');
102
+ }
103
+ return this.mapCart(response.data, result.extraData);
104
+ }
105
+ // Flow 2: Default - Try Shopify first, then fallback to Capillary if needed
106
+ core_1.logger.info('Applying discount codes to Shopify', {
107
+ brand,
108
+ cartId,
109
+ codes: discountCodes,
110
+ });
111
+ // Step 1: Apply codes directly to Shopify
112
+ const initialResponse = await commerce.updateCartDiscountCodes(cartId, discountCodes);
113
+ if (!initialResponse.success || !initialResponse.data) {
114
+ throw new Error(initialResponse.error?.message ?? 'Failed to update discount codes');
115
+ }
116
+ // Step 2: Check if any codes are not applicable
117
+ const appliedCodes = initialResponse.data.discountCodes ?? [];
118
+ const failedCodes = appliedCodes
119
+ .filter((dc) => !dc.applicable)
120
+ .map((dc) => dc.code);
121
+ // If all codes applied successfully, return
122
+ if (failedCodes.length === 0) {
123
+ core_1.logger.info('All discount codes applied successfully in Shopify', {
124
+ brand,
125
+ cartId,
126
+ codes: discountCodes,
127
+ });
128
+ return this.mapCart(initialResponse.data);
129
+ }
130
+ // Step 3: Check if hooks can handle the failed codes
131
+ if (!this.hooks?.processDiscountCodes || !this.hooks?.canHandleDiscountCode) {
132
+ // No hooks available, return with failed codes as-is
133
+ core_1.logger.warn('Discount codes not applicable and no hooks to handle them', {
134
+ brand,
135
+ cartId,
136
+ failedCodes,
137
+ });
138
+ return this.mapCart(initialResponse.data);
139
+ }
140
+ // Find codes that hooks can handle
141
+ const handlableCodes = failedCodes.filter((code) => this.hooks.canHandleDiscountCode(code));
142
+ if (handlableCodes.length === 0) {
143
+ // Hooks can't handle any of the failed codes
144
+ core_1.logger.warn('No hooks available to handle failed discount codes', {
145
+ brand,
146
+ cartId,
147
+ failedCodes,
148
+ });
149
+ return this.mapCart(initialResponse.data);
150
+ }
151
+ // Step 4: Process failed codes through hooks (validate with Capillary, sync to Shopify)
152
+ core_1.logger.info('Processing failed codes through Capillary hooks', {
153
+ brand,
154
+ cartId,
155
+ handlableCodes,
156
+ });
157
+ const hookResult = await this.hooks.processDiscountCodes(brand, cartId, handlableCodes, options);
158
+ // Step 5: Build final codes list (successful Shopify codes + processed Capillary codes)
159
+ const successfulCodes = appliedCodes
160
+ .filter((dc) => dc.applicable)
161
+ .map((dc) => dc.code);
162
+ const finalCodes = [...successfulCodes, ...hookResult.codes];
163
+ // Step 6: Apply final codes to Shopify
164
+ core_1.logger.info('Applying final codes to Shopify after Capillary sync', {
165
+ brand,
166
+ cartId,
167
+ finalCodes,
168
+ });
169
+ const finalResponse = await commerce.updateCartDiscountCodes(cartId, finalCodes);
170
+ if (!finalResponse.success || !finalResponse.data) {
171
+ throw new Error(finalResponse.error?.message ?? 'Failed to update discount codes');
172
+ }
173
+ return this.mapCart(finalResponse.data, hookResult.extraData);
174
+ }
175
+ async updateBuyerIdentity(brand, cartId, buyerIdentity) {
176
+ const commerce = this.getCommerceService(brand);
177
+ // Map GraphQL input to commerce input
178
+ const commerceBuyerIdentity = {
179
+ email: buyerIdentity.email,
180
+ phone: buyerIdentity.phone,
181
+ countryCode: buyerIdentity.countryCode,
182
+ customerAccessToken: buyerIdentity.customerAccessToken,
183
+ deliveryAddressPreferences: buyerIdentity.deliveryAddressPreferences?.map((pref) => ({
184
+ deliveryAddress: {
185
+ address1: pref.deliveryAddress.address1,
186
+ address2: pref.deliveryAddress.address2,
187
+ city: pref.deliveryAddress.city,
188
+ company: pref.deliveryAddress.company,
189
+ country: pref.deliveryAddress.country,
190
+ firstName: pref.deliveryAddress.firstName,
191
+ lastName: pref.deliveryAddress.lastName,
192
+ phone: pref.deliveryAddress.phone,
193
+ province: pref.deliveryAddress.province,
194
+ zip: pref.deliveryAddress.zip,
195
+ },
196
+ })),
197
+ };
198
+ const response = await commerce.updateCartBuyerIdentity(cartId, commerceBuyerIdentity);
199
+ if (!response.success || !response.data) {
200
+ throw new Error(response.error?.message ?? 'Failed to update buyer identity');
201
+ }
202
+ return this.mapCart(response.data);
203
+ }
204
+ async updateNote(brand, cartId, note) {
205
+ const commerce = this.getCommerceService(brand);
206
+ const response = await commerce.updateCartNote(cartId, note);
207
+ if (!response.success || !response.data) {
208
+ throw new Error(response.error?.message ?? 'Failed to update cart note');
209
+ }
210
+ return this.mapCart(response.data);
211
+ }
212
+ async updateAttributes(brand, cartId, attributes) {
213
+ const commerce = this.getCommerceService(brand);
214
+ // Map to commerce input format
215
+ const commerceAttributes = attributes.map((attr) => ({
216
+ key: attr.key,
217
+ value: attr.value,
218
+ }));
219
+ const response = await commerce.updateCartAttributes(cartId, commerceAttributes);
220
+ if (!response.success || !response.data) {
221
+ throw new Error(response.error?.message ?? 'Failed to update cart attributes');
222
+ }
223
+ return this.mapCart(response.data);
224
+ }
225
+ async updateGiftCardCodes(brand, cartId, giftCardCodes) {
226
+ const commerce = this.getCommerceService(brand);
227
+ const response = await commerce.updateCartGiftCardCodes(cartId, giftCardCodes);
228
+ if (!response.success || !response.data) {
229
+ throw new Error(response.error?.message ?? 'Failed to update gift card codes');
230
+ }
231
+ return this.mapCart(response.data);
232
+ }
233
+ mapCart(commerce, extraData) {
234
+ const cart = {
235
+ id: commerce.id,
236
+ checkoutUrl: commerce.checkoutUrl,
237
+ totalQuantity: commerce.totalQuantity,
238
+ lines: commerce.lines.edges.map((e) => ({
239
+ id: e.node.id,
240
+ quantity: e.node.quantity,
241
+ merchandise: {
242
+ id: e.node.merchandise.id,
243
+ title: e.node.merchandise.title,
244
+ selectedOptions: e.node.merchandise.selectedOptions,
245
+ product: e.node.merchandise.product,
246
+ image: e.node.merchandise.image,
247
+ price: e.node.merchandise.price,
248
+ },
249
+ cost: e.node.cost,
250
+ discountAllocations: e.node.discountAllocations ?? [],
251
+ })),
252
+ cost: commerce.cost,
253
+ discountCodes: commerce.discountCodes ?? [],
254
+ discountAllocations: commerce.discountAllocations ?? [],
255
+ buyerIdentity: commerce.buyerIdentity
256
+ ? {
257
+ email: commerce.buyerIdentity.email,
258
+ phone: commerce.buyerIdentity.phone,
259
+ countryCode: commerce.buyerIdentity.countryCode,
260
+ customer: commerce.buyerIdentity.customer,
261
+ deliveryAddressPreferences: commerce.buyerIdentity.deliveryAddressPreferences?.map((pref) => ({
262
+ // Shopify returns MailingAddress fields directly on pref (union type with inline fragment)
263
+ deliveryAddress: {
264
+ address1: pref.address1,
265
+ address2: pref.address2,
266
+ city: pref.city,
267
+ company: pref.company,
268
+ country: pref.country,
269
+ countryCodeV2: pref.countryCodeV2,
270
+ firstName: pref.firstName,
271
+ lastName: pref.lastName,
272
+ phone: pref.phone,
273
+ province: pref.province,
274
+ provinceCode: pref.provinceCode,
275
+ zip: pref.zip,
276
+ },
277
+ })) ?? [],
278
+ }
279
+ : null,
280
+ note: commerce.note ?? null,
281
+ attributes: commerce.attributes ?? [],
282
+ appliedGiftCards: commerce.appliedGiftCards ?? [],
283
+ deliveryGroups: commerce.deliveryGroups?.edges?.map((e) => ({
284
+ id: e.node.id,
285
+ deliveryAddress: e.node.deliveryAddress,
286
+ deliveryOptions: e.node.deliveryOptions ?? [],
287
+ selectedDeliveryOption: e.node.selectedDeliveryOption ?? null,
288
+ })) ?? [],
289
+ };
290
+ // Spread extra data from hooks (e.g., capillaryCoupon)
291
+ // This allows brands to add custom fields to the cart response
292
+ if (extraData) {
293
+ Object.assign(cart, extraData);
294
+ }
295
+ return cart;
296
+ }
297
+ };
298
+ exports.CartService = CartService;
299
+ exports.CartService = CartService = tslib_1.__decorate([
300
+ (0, common_1.Injectable)(),
301
+ tslib_1.__param(1, (0, common_1.Optional)()),
302
+ tslib_1.__param(1, (0, common_1.Inject)(cart_hooks_1.CART_HOOKS)),
303
+ tslib_1.__metadata("design:paramtypes", [core_1.IntegrationFactory, Object])
304
+ ], CartService);
305
+ //# sourceMappingURL=cart.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.service.js","sourceRoot":"","sources":["../../src/cart/cart.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { Image, Money, SelectedOption, ProductOption } from '../product/product.types';
2
+ export declare class CartProduct {
3
+ id: string;
4
+ title: string;
5
+ handle: string;
6
+ options: ProductOption[];
7
+ }
8
+ export declare class CartMerchandise {
9
+ id: string;
10
+ title: string;
11
+ selectedOptions: SelectedOption[];
12
+ product: CartProduct;
13
+ image: Image | null;
14
+ price: Money;
15
+ }
16
+ export declare class CartLineCost {
17
+ totalAmount: Money;
18
+ }
19
+ export declare class CartLine {
20
+ id: string;
21
+ quantity: number;
22
+ merchandise: CartMerchandise;
23
+ cost: CartLineCost;
24
+ discountAllocations: CartDiscountAllocation[];
25
+ }
26
+ export declare class CartCost {
27
+ subtotalAmount: Money;
28
+ totalAmount: Money;
29
+ totalTaxAmount: Money | null;
30
+ }
31
+ export declare class CartDiscountCode {
32
+ code: string;
33
+ applicable: boolean;
34
+ }
35
+ export declare class CartDiscountAllocation {
36
+ discountedAmount: Money;
37
+ title?: string | null;
38
+ code?: string | null;
39
+ }
40
+ export declare class MailingAddress {
41
+ address1: string | null;
42
+ address2: string | null;
43
+ city: string | null;
44
+ company: string | null;
45
+ country: string | null;
46
+ countryCodeV2: string | null;
47
+ firstName: string | null;
48
+ lastName: string | null;
49
+ phone: string | null;
50
+ province: string | null;
51
+ provinceCode: string | null;
52
+ zip: string | null;
53
+ }
54
+ export declare class DeliveryAddressPreference {
55
+ deliveryAddress: MailingAddress;
56
+ }
57
+ export declare class CartCustomer {
58
+ id: string;
59
+ email: string | null;
60
+ firstName: string | null;
61
+ lastName: string | null;
62
+ phone: string | null;
63
+ displayName: string;
64
+ }
65
+ export declare class CartBuyerIdentity {
66
+ email: string | null;
67
+ phone: string | null;
68
+ countryCode: string | null;
69
+ customer: CartCustomer | null;
70
+ deliveryAddressPreferences: DeliveryAddressPreference[];
71
+ }
72
+ export declare class CartAttribute {
73
+ key: string;
74
+ value: string | null;
75
+ }
76
+ export declare class AppliedGiftCard {
77
+ id: string;
78
+ lastCharacters: string;
79
+ amountUsed: Money;
80
+ balance: Money;
81
+ }
82
+ export declare class CartDeliveryOption {
83
+ code: string | null;
84
+ deliveryMethodType: string;
85
+ description: string | null;
86
+ estimatedCost: Money;
87
+ handle: string;
88
+ title: string;
89
+ }
90
+ export declare class CartDeliveryGroup {
91
+ id: string;
92
+ deliveryAddress: MailingAddress | null;
93
+ deliveryOptions: CartDeliveryOption[];
94
+ selectedDeliveryOption: CartDeliveryOption | null;
95
+ }
96
+ export declare class Cart {
97
+ id: string;
98
+ checkoutUrl: string;
99
+ totalQuantity: number;
100
+ lines: CartLine[];
101
+ cost: CartCost;
102
+ discountCodes: CartDiscountCode[];
103
+ discountAllocations: CartDiscountAllocation[];
104
+ buyerIdentity: CartBuyerIdentity | null;
105
+ note: string | null;
106
+ attributes: CartAttribute[];
107
+ appliedGiftCards: AppliedGiftCard[];
108
+ deliveryGroups: CartDeliveryGroup[];
109
+ }
110
+ export declare class CartLineInput {
111
+ merchandiseId: string;
112
+ quantity: number;
113
+ }
114
+ export declare class CartLineUpdateInput {
115
+ id: string;
116
+ quantity: number;
117
+ }
118
+ export declare class MailingAddressInput {
119
+ address1?: string;
120
+ address2?: string;
121
+ city?: string;
122
+ company?: string;
123
+ country?: string;
124
+ firstName?: string;
125
+ lastName?: string;
126
+ phone?: string;
127
+ province?: string;
128
+ zip?: string;
129
+ }
130
+ export declare class DeliveryAddressPreferenceInput {
131
+ deliveryAddress: MailingAddressInput;
132
+ }
133
+ export declare class CartBuyerIdentityInput {
134
+ email?: string;
135
+ phone?: string;
136
+ countryCode?: string;
137
+ customerAccessToken?: string;
138
+ deliveryAddressPreferences?: DeliveryAddressPreferenceInput[];
139
+ }
140
+ export declare class CartAttributeInput {
141
+ key: string;
142
+ value: string;
143
+ }
144
+ //# sourceMappingURL=cart.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.types.d.ts","sourceRoot":"","sources":["../../src/cart/cart.types.ts"],"names":[],"mappings":"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"}