@pvh-afl/core 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 (154) hide show
  1. package/README.md +97 -0
  2. package/dist/cache/cache.module.d.ts +3 -0
  3. package/dist/cache/cache.module.d.ts.map +1 -0
  4. package/dist/cache/cache.module.js +17 -0
  5. package/dist/cache/cache.module.js.map +1 -0
  6. package/dist/cache/cache.service.d.ts +38 -0
  7. package/dist/cache/cache.service.d.ts.map +1 -0
  8. package/dist/cache/cache.service.js +173 -0
  9. package/dist/cache/cache.service.js.map +1 -0
  10. package/dist/cache/index.d.ts +3 -0
  11. package/dist/cache/index.d.ts.map +1 -0
  12. package/dist/cache/index.js +6 -0
  13. package/dist/cache/index.js.map +1 -0
  14. package/dist/common/guards/tenant.guard.d.ts +8 -0
  15. package/dist/common/guards/tenant.guard.d.ts.map +1 -0
  16. package/dist/common/guards/tenant.guard.js +44 -0
  17. package/dist/common/guards/tenant.guard.js.map +1 -0
  18. package/dist/common/index.d.ts +3 -0
  19. package/dist/common/index.d.ts.map +1 -0
  20. package/dist/common/index.js +6 -0
  21. package/dist/common/index.js.map +1 -0
  22. package/dist/common/logger.d.ts +7 -0
  23. package/dist/common/logger.d.ts.map +1 -0
  24. package/dist/common/logger.js +28 -0
  25. package/dist/common/logger.js.map +1 -0
  26. package/dist/config/config.module.d.ts +3 -0
  27. package/dist/config/config.module.d.ts.map +1 -0
  28. package/dist/config/config.module.js +17 -0
  29. package/dist/config/config.module.js.map +1 -0
  30. package/dist/config/config.service.d.ts +55 -0
  31. package/dist/config/config.service.d.ts.map +1 -0
  32. package/dist/config/config.service.js +212 -0
  33. package/dist/config/config.service.js.map +1 -0
  34. package/dist/config/index.d.ts +3 -0
  35. package/dist/config/index.d.ts.map +1 -0
  36. package/dist/config/index.js +6 -0
  37. package/dist/config/index.js.map +1 -0
  38. package/dist/index.d.ts +12 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +21 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/integrations/base-integration.service.d.ts +59 -0
  43. package/dist/integrations/base-integration.service.d.ts.map +1 -0
  44. package/dist/integrations/base-integration.service.js +227 -0
  45. package/dist/integrations/base-integration.service.js.map +1 -0
  46. package/dist/integrations/commerce/commerce.types.d.ts +301 -0
  47. package/dist/integrations/commerce/commerce.types.d.ts.map +1 -0
  48. package/dist/integrations/commerce/commerce.types.js +9 -0
  49. package/dist/integrations/commerce/commerce.types.js.map +1 -0
  50. package/dist/integrations/commerce/index.d.ts +4 -0
  51. package/dist/integrations/commerce/index.d.ts.map +1 -0
  52. package/dist/integrations/commerce/index.js +7 -0
  53. package/dist/integrations/commerce/index.js.map +1 -0
  54. package/dist/integrations/commerce/shopify-admin.service.d.ts +35 -0
  55. package/dist/integrations/commerce/shopify-admin.service.d.ts.map +1 -0
  56. package/dist/integrations/commerce/shopify-admin.service.js +269 -0
  57. package/dist/integrations/commerce/shopify-admin.service.js.map +1 -0
  58. package/dist/integrations/commerce/shopify.service.d.ts +43 -0
  59. package/dist/integrations/commerce/shopify.service.d.ts.map +1 -0
  60. package/dist/integrations/commerce/shopify.service.js +735 -0
  61. package/dist/integrations/commerce/shopify.service.js.map +1 -0
  62. package/dist/integrations/index.d.ts +9 -0
  63. package/dist/integrations/index.d.ts.map +1 -0
  64. package/dist/integrations/index.js +18 -0
  65. package/dist/integrations/index.js.map +1 -0
  66. package/dist/integrations/integration.factory.d.ts +23 -0
  67. package/dist/integrations/integration.factory.d.ts.map +1 -0
  68. package/dist/integrations/integration.factory.js +119 -0
  69. package/dist/integrations/integration.factory.js.map +1 -0
  70. package/dist/integrations/integration.types.d.ts +80 -0
  71. package/dist/integrations/integration.types.d.ts.map +1 -0
  72. package/dist/integrations/integration.types.js +9 -0
  73. package/dist/integrations/integration.types.js.map +1 -0
  74. package/dist/integrations/integrations.module.d.ts +3 -0
  75. package/dist/integrations/integrations.module.d.ts.map +1 -0
  76. package/dist/integrations/integrations.module.js +46 -0
  77. package/dist/integrations/integrations.module.js.map +1 -0
  78. package/dist/integrations/loyalty/capillary-auth.service.d.ts +30 -0
  79. package/dist/integrations/loyalty/capillary-auth.service.d.ts.map +1 -0
  80. package/dist/integrations/loyalty/capillary-auth.service.js +112 -0
  81. package/dist/integrations/loyalty/capillary-auth.service.js.map +1 -0
  82. package/dist/integrations/loyalty/capillary-coupon.service.d.ts +24 -0
  83. package/dist/integrations/loyalty/capillary-coupon.service.d.ts.map +1 -0
  84. package/dist/integrations/loyalty/capillary-coupon.service.js +383 -0
  85. package/dist/integrations/loyalty/capillary-coupon.service.js.map +1 -0
  86. package/dist/integrations/loyalty/capillary.types.d.ts +218 -0
  87. package/dist/integrations/loyalty/capillary.types.d.ts.map +1 -0
  88. package/dist/integrations/loyalty/capillary.types.js +21 -0
  89. package/dist/integrations/loyalty/capillary.types.js.map +1 -0
  90. package/dist/integrations/loyalty/index.d.ts +4 -0
  91. package/dist/integrations/loyalty/index.d.ts.map +1 -0
  92. package/dist/integrations/loyalty/index.js +7 -0
  93. package/dist/integrations/loyalty/index.js.map +1 -0
  94. package/dist/integrations/oms/index.d.ts +4 -0
  95. package/dist/integrations/oms/index.d.ts.map +1 -0
  96. package/dist/integrations/oms/index.js +7 -0
  97. package/dist/integrations/oms/index.js.map +1 -0
  98. package/dist/integrations/oms/omuni-auth.service.d.ts +29 -0
  99. package/dist/integrations/oms/omuni-auth.service.d.ts.map +1 -0
  100. package/dist/integrations/oms/omuni-auth.service.js +164 -0
  101. package/dist/integrations/oms/omuni-auth.service.js.map +1 -0
  102. package/dist/integrations/oms/omuni.service.d.ts +17 -0
  103. package/dist/integrations/oms/omuni.service.d.ts.map +1 -0
  104. package/dist/integrations/oms/omuni.service.js +128 -0
  105. package/dist/integrations/oms/omuni.service.js.map +1 -0
  106. package/dist/integrations/oms/omuni.types.d.ts +65 -0
  107. package/dist/integrations/oms/omuni.types.d.ts.map +1 -0
  108. package/dist/integrations/oms/omuni.types.js +3 -0
  109. package/dist/integrations/oms/omuni.types.js.map +1 -0
  110. package/dist/integrations/shopify-theme/index.d.ts +3 -0
  111. package/dist/integrations/shopify-theme/index.d.ts.map +1 -0
  112. package/dist/integrations/shopify-theme/index.js +6 -0
  113. package/dist/integrations/shopify-theme/index.js.map +1 -0
  114. package/dist/integrations/shopify-theme/shopify-theme.module.d.ts +3 -0
  115. package/dist/integrations/shopify-theme/shopify-theme.module.d.ts.map +1 -0
  116. package/dist/integrations/shopify-theme/shopify-theme.module.js +16 -0
  117. package/dist/integrations/shopify-theme/shopify-theme.module.js.map +1 -0
  118. package/dist/integrations/shopify-theme/shopify-theme.service.d.ts +35 -0
  119. package/dist/integrations/shopify-theme/shopify-theme.service.d.ts.map +1 -0
  120. package/dist/integrations/shopify-theme/shopify-theme.service.js +155 -0
  121. package/dist/integrations/shopify-theme/shopify-theme.service.js.map +1 -0
  122. package/dist/queue/index.d.ts +3 -0
  123. package/dist/queue/index.d.ts.map +1 -0
  124. package/dist/queue/index.js +8 -0
  125. package/dist/queue/index.js.map +1 -0
  126. package/dist/queue/queue.module.d.ts +3 -0
  127. package/dist/queue/queue.module.d.ts.map +1 -0
  128. package/dist/queue/queue.module.js +17 -0
  129. package/dist/queue/queue.module.js.map +1 -0
  130. package/dist/queue/queue.service.d.ts +20 -0
  131. package/dist/queue/queue.service.d.ts.map +1 -0
  132. package/dist/queue/queue.service.js +119 -0
  133. package/dist/queue/queue.service.js.map +1 -0
  134. package/dist/theme/header-content.service.d.ts +142 -0
  135. package/dist/theme/header-content.service.d.ts.map +1 -0
  136. package/dist/theme/header-content.service.js +626 -0
  137. package/dist/theme/header-content.service.js.map +1 -0
  138. package/dist/theme/index.d.ts +5 -0
  139. package/dist/theme/index.d.ts.map +1 -0
  140. package/dist/theme/index.js +17 -0
  141. package/dist/theme/index.js.map +1 -0
  142. package/dist/theme/theme-content.interfaces.d.ts +79 -0
  143. package/dist/theme/theme-content.interfaces.d.ts.map +1 -0
  144. package/dist/theme/theme-content.interfaces.js +14 -0
  145. package/dist/theme/theme-content.interfaces.js.map +1 -0
  146. package/dist/theme/theme-content.service.d.ts +125 -0
  147. package/dist/theme/theme-content.service.d.ts.map +1 -0
  148. package/dist/theme/theme-content.service.js +738 -0
  149. package/dist/theme/theme-content.service.js.map +1 -0
  150. package/dist/theme/theme.module.d.ts +46 -0
  151. package/dist/theme/theme.module.d.ts.map +1 -0
  152. package/dist/theme/theme.module.js +76 -0
  153. package/dist/theme/theme.module.js.map +1 -0
  154. package/package.json +62 -0
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CapillaryCouponService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const capillary_auth_service_1 = require("./capillary-auth.service");
7
+ const logger_1 = require("../../common/logger");
8
+ const capillary_types_1 = require("./capillary.types");
9
+ /**
10
+ * Capillary Coupon Service
11
+ *
12
+ * Handles coupon operations with Capillary APIs.
13
+ */
14
+ let CapillaryCouponService = class CapillaryCouponService {
15
+ authService;
16
+ COUPON_PREFIX = 'CAP_';
17
+ API_TIMEOUT = 5000;
18
+ constructor(authService) {
19
+ this.authService = authService;
20
+ }
21
+ isCapillaryCoupon(code) {
22
+ return code.startsWith(this.COUPON_PREFIX);
23
+ }
24
+ extractCapillaryCode(shopifyCode) {
25
+ if (!this.isCapillaryCoupon(shopifyCode)) {
26
+ return null;
27
+ }
28
+ const withoutPrefix = shopifyCode.substring(this.COUPON_PREFIX.length);
29
+ const lastUnderscoreIndex = withoutPrefix.lastIndexOf('_');
30
+ if (lastUnderscoreIndex === -1) {
31
+ return this.COUPON_PREFIX + withoutPrefix;
32
+ }
33
+ return this.COUPON_PREFIX + withoutPrefix.substring(0, lastUnderscoreIndex);
34
+ }
35
+ async validateCoupon(brand, couponCode, mobile) {
36
+ const config = this.authService.getCapillaryConfig(brand);
37
+ const token = await this.authService.getValidAccessToken(brand);
38
+ const codeForApi = couponCode.startsWith(this.COUPON_PREFIX)
39
+ ? couponCode.substring(this.COUPON_PREFIX.length)
40
+ : couponCode;
41
+ const url = new URL(`${config.baseUrl}/v1.1/coupon/isredeemable`);
42
+ url.searchParams.set('mobile', mobile);
43
+ url.searchParams.set('code', codeForApi);
44
+ url.searchParams.set('details', 'extended');
45
+ logger_1.logger.info('Validating Capillary coupon', { brand, couponCode, mobile: mobile.slice(-4) });
46
+ try {
47
+ const response = await this.fetchWithTimeout(url.toString(), {
48
+ method: 'GET',
49
+ headers: this.getHeaders(token, config),
50
+ });
51
+ if (!response.ok) {
52
+ const errorText = await response.text();
53
+ logger_1.logger.error('Capillary IsRedeemable API error', { brand, status: response.status, error: errorText });
54
+ return {
55
+ valid: false,
56
+ couponCode,
57
+ errorCode: 'API_ERROR',
58
+ errorMessage: `Capillary API error: ${response.status}`,
59
+ };
60
+ }
61
+ const data = (await response.json());
62
+ return this.parseValidationResponse(data, couponCode, config.returnPolicyDays);
63
+ }
64
+ catch (error) {
65
+ logger_1.logger.error('Capillary coupon validation failed', {
66
+ brand,
67
+ couponCode,
68
+ error: error instanceof Error ? error.message : 'Unknown',
69
+ });
70
+ return {
71
+ valid: false,
72
+ couponCode,
73
+ errorCode: 'VALIDATION_FAILED',
74
+ errorMessage: error instanceof Error ? error.message : 'Coupon validation failed',
75
+ };
76
+ }
77
+ }
78
+ async createTransaction(brand, request) {
79
+ const config = this.authService.getCapillaryConfig(brand);
80
+ const token = await this.authService.getValidAccessToken(brand);
81
+ const url = new URL(`${config.baseUrl}/v2/transactions`);
82
+ url.searchParams.set('source', 'INSTORE');
83
+ url.searchParams.set('identifierName', 'mobile');
84
+ url.searchParams.set('identifierValue', request.mobile);
85
+ const body = {
86
+ billAmount: request.billAmount,
87
+ billNumber: request.billNumber,
88
+ billingDate: request.billingDate,
89
+ type: request.type ?? 'REGULAR',
90
+ ...(request.returnType && { returnType: request.returnType }),
91
+ ...(request.redemptionIds?.length && {
92
+ redemptions: {
93
+ couponRedemptions: request.redemptionIds.map((id) => ({ redemptionId: id })),
94
+ },
95
+ }),
96
+ lineItemsV2: request.lineItems.map((item) => ({
97
+ itemCode: item.itemCode,
98
+ qty: item.quantity,
99
+ rate: item.rate,
100
+ amount: item.amount,
101
+ description: item.description,
102
+ type: item.type ?? 'REGULAR',
103
+ })),
104
+ paymentModes: request.paymentModes,
105
+ };
106
+ logger_1.logger.info('Creating Capillary transaction', {
107
+ brand,
108
+ billNumber: request.billNumber,
109
+ type: request.type ?? 'REGULAR',
110
+ });
111
+ try {
112
+ const response = await this.fetchWithTimeout(url.toString(), {
113
+ method: 'POST',
114
+ headers: this.getHeaders(token, config),
115
+ body: JSON.stringify(body),
116
+ });
117
+ if (!response.ok) {
118
+ const errorText = await response.text();
119
+ logger_1.logger.error('Capillary Transaction API error', { brand, status: response.status, error: errorText });
120
+ return {
121
+ transactionId: 0,
122
+ billNumber: request.billNumber,
123
+ errorCode: response.status,
124
+ errorMessage: `Transaction creation failed: ${response.status}`,
125
+ };
126
+ }
127
+ const data = (await response.json());
128
+ const txn = data.response?.transactions?.transaction?.[0];
129
+ if (!txn) {
130
+ return {
131
+ transactionId: 0,
132
+ billNumber: request.billNumber,
133
+ errorCode: 500,
134
+ errorMessage: 'No transaction in response',
135
+ };
136
+ }
137
+ logger_1.logger.info('Capillary transaction created', {
138
+ brand,
139
+ billNumber: request.billNumber,
140
+ transactionId: txn.id,
141
+ });
142
+ return {
143
+ transactionId: txn.id,
144
+ billNumber: txn.billNumber,
145
+ pointsEarned: txn.pointsEarned,
146
+ };
147
+ }
148
+ catch (error) {
149
+ logger_1.logger.error('Capillary transaction creation failed', {
150
+ brand,
151
+ billNumber: request.billNumber,
152
+ error: error instanceof Error ? error.message : 'Unknown',
153
+ });
154
+ return {
155
+ transactionId: 0,
156
+ billNumber: request.billNumber,
157
+ errorCode: 500,
158
+ errorMessage: error instanceof Error ? error.message : 'Transaction creation failed',
159
+ };
160
+ }
161
+ }
162
+ async getCouponsByTransaction(brand, mobile, transactionNumber) {
163
+ const config = this.authService.getCapillaryConfig(brand);
164
+ const token = await this.authService.getValidAccessToken(brand);
165
+ const url = new URL(`${config.baseUrl}/v2/customers/coupons`);
166
+ url.searchParams.set('identifierName', 'mobile');
167
+ url.searchParams.set('identifierValue', mobile);
168
+ url.searchParams.set('transactionNumber', transactionNumber);
169
+ logger_1.logger.info('Getting coupons by transaction', { brand, transactionNumber });
170
+ try {
171
+ const response = await this.fetchWithTimeout(url.toString(), {
172
+ method: 'GET',
173
+ headers: this.getHeaders(token, config),
174
+ });
175
+ if (!response.ok) {
176
+ logger_1.logger.error('Capillary Get Coupons API error', { brand, status: response.status });
177
+ return [];
178
+ }
179
+ const data = (await response.json());
180
+ const coupons = data.response?.customers?.customer?.[0]?.coupons?.coupon ?? [];
181
+ return coupons.map((c) => ({
182
+ couponCode: c.code,
183
+ seriesId: c.seriesId,
184
+ redemptionId: c.redemptions?.[0]?.id,
185
+ status: c.status,
186
+ issuedAt: c.issuedDate,
187
+ validTill: c.validTill,
188
+ discountType: c.discountType,
189
+ discountValue: c.discountValue,
190
+ earnedOnTransaction: c.transactionNumber === transactionNumber,
191
+ }));
192
+ }
193
+ catch (error) {
194
+ logger_1.logger.error('Failed to get coupons by transaction', {
195
+ brand,
196
+ transactionNumber,
197
+ error: error instanceof Error ? error.message : 'Unknown',
198
+ });
199
+ return [];
200
+ }
201
+ }
202
+ async reactivateCoupons(brand, redemptionIds) {
203
+ if (redemptionIds.length === 0) {
204
+ return { success: true, reactivatedCount: 0 };
205
+ }
206
+ const config = this.authService.getCapillaryConfig(brand);
207
+ const token = await this.authService.getValidAccessToken(brand);
208
+ const url = `${config.baseUrl}/v2/coupon/reactivate`;
209
+ const body = { redemptionIds };
210
+ logger_1.logger.info('Reactivating coupons', { brand, redemptionIds });
211
+ try {
212
+ const response = await this.fetchWithTimeout(url, {
213
+ method: 'POST',
214
+ headers: this.getHeaders(token, config),
215
+ body: JSON.stringify(body),
216
+ });
217
+ if (!response.ok) {
218
+ const errorText = await response.text();
219
+ logger_1.logger.error('Capillary Reactivate API error', { brand, status: response.status, error: errorText });
220
+ return {
221
+ success: false,
222
+ reactivatedCount: 0,
223
+ errorCode: response.status,
224
+ errorMessage: `Reactivation failed: ${response.status}`,
225
+ };
226
+ }
227
+ const data = (await response.json());
228
+ const success = data.response?.status?.success ?? false;
229
+ logger_1.logger.info('Coupons reactivated', { brand, redemptionIds, success });
230
+ return {
231
+ success,
232
+ reactivatedCount: success ? redemptionIds.length : 0,
233
+ };
234
+ }
235
+ catch (error) {
236
+ logger_1.logger.error('Coupon reactivation failed', {
237
+ brand,
238
+ redemptionIds,
239
+ error: error instanceof Error ? error.message : 'Unknown',
240
+ });
241
+ return {
242
+ success: false,
243
+ reactivatedCount: 0,
244
+ errorCode: 500,
245
+ errorMessage: error instanceof Error ? error.message : 'Reactivation failed',
246
+ };
247
+ }
248
+ }
249
+ async revokeCoupons(brand, couponSeriesId, couponCodes) {
250
+ if (couponCodes.length === 0) {
251
+ return { success: true, revokedCount: 0 };
252
+ }
253
+ const config = this.authService.getCapillaryConfig(brand);
254
+ const token = await this.authService.getValidAccessToken(brand);
255
+ const url = `${config.baseUrl}/v2/coupon/revoke`;
256
+ const body = { couponSeriesId, couponCodes };
257
+ logger_1.logger.info('Revoking coupons', { brand, couponSeriesId, couponCodes });
258
+ try {
259
+ const response = await this.fetchWithTimeout(url, {
260
+ method: 'POST',
261
+ headers: this.getHeaders(token, config),
262
+ body: JSON.stringify(body),
263
+ });
264
+ if (!response.ok) {
265
+ const errorText = await response.text();
266
+ logger_1.logger.error('Capillary Revoke API error', { brand, status: response.status, error: errorText });
267
+ return {
268
+ success: false,
269
+ revokedCount: 0,
270
+ errorCode: response.status,
271
+ errorMessage: `Revocation failed: ${response.status}`,
272
+ };
273
+ }
274
+ const data = (await response.json());
275
+ const success = data.response?.status?.success ?? false;
276
+ logger_1.logger.info('Coupons revoked', { brand, couponSeriesId, couponCodes, success });
277
+ return {
278
+ success,
279
+ revokedCount: success ? couponCodes.length : 0,
280
+ };
281
+ }
282
+ catch (error) {
283
+ logger_1.logger.error('Coupon revocation failed', {
284
+ brand,
285
+ couponSeriesId,
286
+ couponCodes,
287
+ error: error instanceof Error ? error.message : 'Unknown',
288
+ });
289
+ return {
290
+ success: false,
291
+ revokedCount: 0,
292
+ errorCode: 500,
293
+ errorMessage: error instanceof Error ? error.message : 'Revocation failed',
294
+ };
295
+ }
296
+ }
297
+ parseValidationResponse(data, originalCode, returnPolicyDays) {
298
+ const coupon = data.response?.coupons?.redeemable;
299
+ if (!coupon) {
300
+ return {
301
+ valid: false,
302
+ couponCode: originalCode,
303
+ errorCode: 'NOT_FOUND',
304
+ errorMessage: 'Coupon not found',
305
+ };
306
+ }
307
+ const isRedeemable = coupon.is_redeemable === 'true';
308
+ if (!isRedeemable) {
309
+ const itemStatus = coupon.item_status;
310
+ return {
311
+ valid: false,
312
+ couponCode: originalCode,
313
+ errorCode: itemStatus?.code?.toString() ?? 'INVALID',
314
+ errorMessage: itemStatus?.message ?? 'Coupon is not redeemable',
315
+ };
316
+ }
317
+ // Check cool-off period
318
+ const createdDate = coupon.series_info?.created;
319
+ if (createdDate) {
320
+ const issuedAt = new Date(createdDate);
321
+ const usableFromDate = new Date(issuedAt);
322
+ usableFromDate.setDate(usableFromDate.getDate() + returnPolicyDays);
323
+ const now = new Date();
324
+ if (now < usableFromDate) {
325
+ const formattedDate = usableFromDate.toLocaleDateString('en-IN', {
326
+ year: 'numeric',
327
+ month: 'long',
328
+ day: 'numeric',
329
+ });
330
+ return {
331
+ valid: false,
332
+ couponCode: originalCode,
333
+ issuedAt: createdDate,
334
+ usableFromDate: usableFromDate.toISOString(),
335
+ errorCode: capillary_types_1.COUPON_COOLOFF_ERROR.errorCode,
336
+ errorMessage: capillary_types_1.COUPON_COOLOFF_ERROR.errorMessage(formattedDate),
337
+ };
338
+ }
339
+ }
340
+ const seriesInfo = coupon.series_info;
341
+ return {
342
+ valid: true,
343
+ couponCode: originalCode,
344
+ discountType: (seriesInfo?.discount_type ?? 'ABS'),
345
+ discountValue: seriesInfo?.discount_value ?? parseFloat(coupon.coupon_value ?? '0'),
346
+ discountUpto: seriesInfo?.discount_upto,
347
+ minBillAmount: seriesInfo?.min_bill_amount,
348
+ validTill: seriesInfo?.valid_till_date,
349
+ issuedAt: seriesInfo?.created,
350
+ seriesId: seriesInfo?.id,
351
+ };
352
+ }
353
+ getHeaders(token, config) {
354
+ return {
355
+ 'Content-Type': 'application/json',
356
+ 'X-CAP-API-OAUTH-TOKEN': token,
357
+ 'X-CAP-API-ATTRIBUTION-ENTITY-TYPE': 'TILL',
358
+ 'X-CAP-API-ATTRIBUTION-ENTITY-CODE': config.tillId,
359
+ };
360
+ }
361
+ async fetchWithTimeout(url, options) {
362
+ const controller = new AbortController();
363
+ const timeoutId = setTimeout(() => controller.abort(), this.API_TIMEOUT);
364
+ try {
365
+ const response = await fetch(url, {
366
+ ...options,
367
+ signal: controller.signal,
368
+ });
369
+ clearTimeout(timeoutId);
370
+ return response;
371
+ }
372
+ catch (error) {
373
+ clearTimeout(timeoutId);
374
+ throw error;
375
+ }
376
+ }
377
+ };
378
+ exports.CapillaryCouponService = CapillaryCouponService;
379
+ exports.CapillaryCouponService = CapillaryCouponService = tslib_1.__decorate([
380
+ (0, common_1.Injectable)(),
381
+ tslib_1.__metadata("design:paramtypes", [capillary_auth_service_1.CapillaryAuthService])
382
+ ], CapillaryCouponService);
383
+ //# sourceMappingURL=capillary-coupon.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capillary-coupon.service.js","sourceRoot":"","sources":["../../../src/integrations/loyalty/capillary-coupon.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Capillary Coupon Integration Types
3
+ */
4
+ export interface CouponValidationRequest {
5
+ mobile: string;
6
+ couponCode: string;
7
+ }
8
+ export interface CouponValidationResponse {
9
+ valid: boolean;
10
+ couponCode: string;
11
+ discountType: 'ABS' | 'PERC';
12
+ discountValue: number;
13
+ discountUpto?: number;
14
+ minBillAmount?: number;
15
+ validTill?: string;
16
+ redemptionsLeft?: number;
17
+ applicableSKUs?: string[];
18
+ issuedAt?: string;
19
+ seriesId?: number;
20
+ errorCode?: string;
21
+ errorMessage?: string;
22
+ }
23
+ export interface CouponValidationResult {
24
+ valid: boolean;
25
+ couponCode: string;
26
+ discountType?: 'ABS' | 'PERC';
27
+ discountValue?: number;
28
+ discountUpto?: number;
29
+ minBillAmount?: number;
30
+ validTill?: string;
31
+ issuedAt?: string;
32
+ usableFromDate?: string;
33
+ errorCode?: string;
34
+ errorMessage?: string;
35
+ seriesId?: number;
36
+ }
37
+ export interface CouponRedemptionRequest {
38
+ couponCode: string;
39
+ mobile: string;
40
+ orderNumber: string;
41
+ }
42
+ export interface CouponRedemptionResponse {
43
+ redemptionId: number;
44
+ couponCode: string;
45
+ status: 'REDEEMED' | 'FAILED';
46
+ errorCode?: number;
47
+ errorMessage?: string;
48
+ }
49
+ export interface TransactionRequest {
50
+ mobile: string;
51
+ billNumber: string;
52
+ billAmount: number;
53
+ billingDate: string;
54
+ redemptionIds?: number[];
55
+ lineItems: TransactionLineItem[];
56
+ paymentModes: TransactionPaymentMode[];
57
+ type?: 'REGULAR' | 'RETURN';
58
+ returnType?: 'LINE_ITEM' | 'FULL';
59
+ }
60
+ export interface TransactionLineItem {
61
+ itemCode: string;
62
+ quantity: number;
63
+ rate: number;
64
+ amount: number;
65
+ description?: string;
66
+ type?: 'REGULAR' | 'RETURN';
67
+ }
68
+ export interface TransactionPaymentMode {
69
+ mode: string;
70
+ value: number;
71
+ }
72
+ export interface TransactionResponse {
73
+ transactionId: number;
74
+ billNumber: string;
75
+ pointsEarned?: number;
76
+ errorCode?: number;
77
+ errorMessage?: string;
78
+ }
79
+ export interface CouponReactivateRequest {
80
+ redemptionIds: number[];
81
+ }
82
+ export interface CouponReactivateResponse {
83
+ success: boolean;
84
+ reactivatedCount: number;
85
+ errorCode?: number;
86
+ errorMessage?: string;
87
+ }
88
+ export interface CouponRevokeRequest {
89
+ couponSeriesId: number;
90
+ couponCodes: string[];
91
+ }
92
+ export interface CouponRevokeResponse {
93
+ success: boolean;
94
+ revokedCount: number;
95
+ errorCode?: number;
96
+ errorMessage?: string;
97
+ }
98
+ export interface TransactionCouponsResponse {
99
+ coupons: TransactionCoupon[];
100
+ }
101
+ export interface TransactionCoupon {
102
+ couponCode: string;
103
+ seriesId: number;
104
+ redemptionId?: number;
105
+ status: 'ACTIVE' | 'REDEEMED' | 'EXPIRED' | 'REVOKED';
106
+ issuedAt: string;
107
+ validTill: string;
108
+ discountType: 'ABS' | 'PERC';
109
+ discountValue: number;
110
+ earnedOnTransaction?: boolean;
111
+ }
112
+ export interface CapillaryIsRedeemableResponse {
113
+ response?: {
114
+ status?: {
115
+ success: string;
116
+ code: number;
117
+ message: string;
118
+ };
119
+ coupons?: {
120
+ redeemable?: {
121
+ mobile: string;
122
+ code: string;
123
+ is_redeemable: string;
124
+ redemptions_left?: number;
125
+ no_of_redemptions_by_user?: number;
126
+ coupon_value?: string;
127
+ series_info?: {
128
+ id: number;
129
+ description: string;
130
+ discount_type: string;
131
+ discount_value: number;
132
+ discount_upto?: number;
133
+ min_bill_amount?: number;
134
+ valid_till_date?: string;
135
+ created?: string;
136
+ };
137
+ item_status?: {
138
+ success: string;
139
+ code: number;
140
+ message: string;
141
+ };
142
+ };
143
+ };
144
+ };
145
+ }
146
+ export interface CapillaryRedeemResponse {
147
+ response?: {
148
+ status?: {
149
+ success: boolean;
150
+ code: number;
151
+ message: string;
152
+ };
153
+ redemption?: Array<{
154
+ id: number;
155
+ code: string;
156
+ status: string;
157
+ errorCode?: number;
158
+ errorMessage?: string;
159
+ }>;
160
+ };
161
+ }
162
+ export interface CapillaryTransactionResponse {
163
+ response?: {
164
+ status?: {
165
+ success: boolean;
166
+ code: number;
167
+ message: string;
168
+ };
169
+ transactions?: {
170
+ transaction?: Array<{
171
+ id: number;
172
+ billNumber: string;
173
+ pointsEarned?: number;
174
+ }>;
175
+ };
176
+ };
177
+ }
178
+ export interface CapillaryCouponsResponse {
179
+ response?: {
180
+ status?: {
181
+ success: boolean;
182
+ code: number;
183
+ message: string;
184
+ };
185
+ customers?: {
186
+ customer?: Array<{
187
+ coupons?: {
188
+ coupon?: Array<{
189
+ code: string;
190
+ seriesId: number;
191
+ redemptions?: Array<{
192
+ id: number;
193
+ }>;
194
+ status: string;
195
+ issuedDate: string;
196
+ validTill: string;
197
+ discountType: string;
198
+ discountValue: number;
199
+ transactionNumber?: string;
200
+ }>;
201
+ };
202
+ }>;
203
+ };
204
+ };
205
+ }
206
+ export declare const CAPILLARY_ERROR_CODES: {
207
+ readonly COUPON_INVALID: 702;
208
+ readonly COUPON_EXPIRED: 710;
209
+ readonly USAGE_LIMIT_EXCEEDED: 696;
210
+ readonly CUSTOMER_INELIGIBLE: 703;
211
+ readonly MIN_BILL_NOT_MET: 714;
212
+ readonly SKU_NOT_APPLICABLE: 715;
213
+ };
214
+ export declare const COUPON_COOLOFF_ERROR: {
215
+ readonly errorCode: "COUPON_IN_COOLOFF_PERIOD";
216
+ readonly errorMessage: (usableFromDate: string) => string;
217
+ };
218
+ //# sourceMappingURL=capillary.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capillary.types.d.ts","sourceRoot":"","sources":["../../../src/integrations/loyalty/capillary.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Capillary Coupon Integration Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.COUPON_COOLOFF_ERROR = exports.CAPILLARY_ERROR_CODES = void 0;
7
+ // Error Codes
8
+ exports.CAPILLARY_ERROR_CODES = {
9
+ COUPON_INVALID: 702,
10
+ COUPON_EXPIRED: 710,
11
+ USAGE_LIMIT_EXCEEDED: 696,
12
+ CUSTOMER_INELIGIBLE: 703,
13
+ MIN_BILL_NOT_MET: 714,
14
+ SKU_NOT_APPLICABLE: 715,
15
+ };
16
+ // Cool-off Period Error
17
+ exports.COUPON_COOLOFF_ERROR = {
18
+ errorCode: 'COUPON_IN_COOLOFF_PERIOD',
19
+ errorMessage: (usableFromDate) => `This coupon will be usable from ${usableFromDate}`,
20
+ };
21
+ //# sourceMappingURL=capillary.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capillary.types.js","sourceRoot":"","sources":["../../../src/integrations/loyalty/capillary.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqOH,cAAc;AACD,QAAA,qBAAqB,GAAG;IACnC,cAAc,EAAE,GAAG;IACnB,cAAc,EAAE,GAAG;IACnB,oBAAoB,EAAE,GAAG;IACzB,mBAAmB,EAAE,GAAG;IACxB,gBAAgB,EAAE,GAAG;IACrB,kBAAkB,EAAE,GAAG;CACf,CAAC;AAEX,wBAAwB;AACX,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,0BAA0B;IACrC,YAAY,EAAE,CAAC,cAAsB,EAAE,EAAE,CACvC,mCAAmC,cAAc,EAAE;CAC7C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './capillary.types';
2
+ export * from './capillary-auth.service';
3
+ export * from './capillary-coupon.service';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/loyalty/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}