@carlonicora/nestjs-neo4jsonapi 6.9.0 → 7.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 (182) hide show
  1. package/dist/common/decorators/cache-invalidate.decorator.d.ts +2 -1
  2. package/dist/common/decorators/cache-invalidate.decorator.d.ts.map +1 -1
  3. package/dist/common/decorators/cache-invalidate.decorator.js +23 -3
  4. package/dist/common/decorators/cache-invalidate.decorator.js.map +1 -1
  5. package/dist/common/decorators/validate-id.decorator.d.ts +4 -1
  6. package/dist/common/decorators/validate-id.decorator.d.ts.map +1 -1
  7. package/dist/common/decorators/validate-id.decorator.js +22 -2
  8. package/dist/common/decorators/validate-id.decorator.js.map +1 -1
  9. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  10. package/dist/foundations/foundations.modules.js +2 -0
  11. package/dist/foundations/foundations.modules.js.map +1 -1
  12. package/dist/foundations/handbook/controllers/handbook.controller.d.ts +2 -1
  13. package/dist/foundations/handbook/controllers/handbook.controller.d.ts.map +1 -1
  14. package/dist/foundations/handbook/controllers/handbook.controller.js +5 -4
  15. package/dist/foundations/handbook/controllers/handbook.controller.js.map +1 -1
  16. package/dist/foundations/role/controllers/role.controller.d.ts +3 -2
  17. package/dist/foundations/role/controllers/role.controller.d.ts.map +1 -1
  18. package/dist/foundations/role/controllers/role.controller.js +9 -7
  19. package/dist/foundations/role/controllers/role.controller.js.map +1 -1
  20. package/dist/foundations/stripe/index.d.ts +1 -0
  21. package/dist/foundations/stripe/index.d.ts.map +1 -1
  22. package/dist/foundations/stripe/index.js +2 -0
  23. package/dist/foundations/stripe/index.js.map +1 -1
  24. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts +14 -0
  25. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts.map +1 -0
  26. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js +62 -0
  27. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js.map +1 -0
  28. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts +28 -0
  29. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts.map +1 -0
  30. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js +136 -0
  31. package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js.map +1 -0
  32. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts +26 -0
  33. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts.map +1 -0
  34. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js +131 -0
  35. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js.map +1 -0
  36. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts +11 -0
  37. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts.map +1 -0
  38. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js +45 -0
  39. package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js.map +1 -0
  40. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.d.ts +13 -0
  41. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.d.ts.map +1 -0
  42. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.js +55 -0
  43. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.patch.dto.js.map +1 -0
  44. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.d.ts +24 -0
  45. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.d.ts.map +1 -0
  46. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.js +105 -0
  47. package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.post.dto.js.map +1 -0
  48. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.d.ts +8 -0
  49. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.d.ts.map +1 -0
  50. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.js +36 -0
  51. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.dto.js.map +1 -0
  52. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.d.ts +12 -0
  53. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.d.ts.map +1 -0
  54. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.js +51 -0
  55. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.patch.dto.js.map +1 -0
  56. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.d.ts +31 -0
  57. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.d.ts.map +1 -0
  58. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.js +120 -0
  59. package/dist/foundations/stripe-coupon/dtos/stripe-coupon.post.dto.js.map +1 -0
  60. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.d.ts +28 -0
  61. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.d.ts.map +1 -0
  62. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js +35 -0
  63. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js.map +1 -0
  64. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.d.ts +5 -0
  65. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.d.ts.map +1 -0
  66. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.js +12 -0
  67. package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.meta.js.map +1 -0
  68. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts +18 -0
  69. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts.map +1 -0
  70. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.js +21 -0
  71. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.js.map +1 -0
  72. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.d.ts +6 -0
  73. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.d.ts.map +1 -0
  74. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.js +13 -0
  75. package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.meta.js.map +1 -0
  76. package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts +32 -0
  77. package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts.map +1 -0
  78. package/dist/foundations/stripe-coupon/entities/stripe-coupon.js +37 -0
  79. package/dist/foundations/stripe-coupon/entities/stripe-coupon.js.map +1 -0
  80. package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.d.ts +5 -0
  81. package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.d.ts.map +1 -0
  82. package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.js +12 -0
  83. package/dist/foundations/stripe-coupon/entities/stripe-coupon.meta.js.map +1 -0
  84. package/dist/foundations/stripe-coupon/index.d.ts +21 -0
  85. package/dist/foundations/stripe-coupon/index.d.ts.map +1 -0
  86. package/dist/foundations/stripe-coupon/index.js +43 -0
  87. package/dist/foundations/stripe-coupon/index.js.map +1 -0
  88. package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.d.ts +41 -0
  89. package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.d.ts.map +1 -0
  90. package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.js +97 -0
  91. package/dist/foundations/stripe-coupon/repositories/stripe-coupon-code.repository.js.map +1 -0
  92. package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.d.ts +29 -0
  93. package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.d.ts.map +1 -0
  94. package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.js +55 -0
  95. package/dist/foundations/stripe-coupon/repositories/stripe-coupon.repository.js.map +1 -0
  96. package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts +70 -0
  97. package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts.map +1 -0
  98. package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js +172 -0
  99. package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js.map +1 -0
  100. package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.d.ts +81 -0
  101. package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.d.ts.map +1 -0
  102. package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.js +206 -0
  103. package/dist/foundations/stripe-coupon/services/stripe-coupon-code-checkout.service.js.map +1 -0
  104. package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.d.ts +92 -0
  105. package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.d.ts.map +1 -0
  106. package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.js +134 -0
  107. package/dist/foundations/stripe-coupon/services/stripe-coupon-code.service.js.map +1 -0
  108. package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.d.ts +29 -0
  109. package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.d.ts.map +1 -0
  110. package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.js +73 -0
  111. package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.js.map +1 -0
  112. package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts +65 -0
  113. package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts.map +1 -0
  114. package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js +200 -0
  115. package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js.map +1 -0
  116. package/dist/foundations/stripe-coupon/stripe-coupon.module.d.ts +14 -0
  117. package/dist/foundations/stripe-coupon/stripe-coupon.module.d.ts.map +1 -0
  118. package/dist/foundations/stripe-coupon/stripe-coupon.module.js +91 -0
  119. package/dist/foundations/stripe-coupon/stripe-coupon.module.js.map +1 -0
  120. package/dist/foundations/stripe-coupon/utils/places-left.d.ts +19 -0
  121. package/dist/foundations/stripe-coupon/utils/places-left.d.ts.map +1 -0
  122. package/dist/foundations/stripe-coupon/utils/places-left.js +33 -0
  123. package/dist/foundations/stripe-coupon/utils/places-left.js.map +1 -0
  124. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.d.ts +22 -0
  125. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.d.ts.map +1 -0
  126. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.js +48 -0
  127. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-backfill.repository.js.map +1 -0
  128. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.d.ts +51 -0
  129. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.d.ts.map +1 -0
  130. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.js +129 -0
  131. package/dist/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.js.map +1 -0
  132. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts +7 -1
  133. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts.map +1 -1
  134. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js +18 -5
  135. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js.map +1 -1
  136. package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts +30 -0
  137. package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts.map +1 -0
  138. package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.js +57 -0
  139. package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.js.map +1 -0
  140. package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts +7 -0
  141. package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts.map +1 -1
  142. package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.d.ts.map +1 -1
  143. package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js +6 -0
  144. package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js.map +1 -1
  145. package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.d.ts +8 -0
  146. package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.d.ts.map +1 -1
  147. package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.js +9 -1
  148. package/dist/foundations/stripe-subscription/entities/stripe-subscription.meta.js.map +1 -1
  149. package/dist/foundations/stripe-subscription/index.d.ts +3 -2
  150. package/dist/foundations/stripe-subscription/index.d.ts.map +1 -1
  151. package/dist/foundations/stripe-subscription/index.js +5 -1
  152. package/dist/foundations/stripe-subscription/index.js.map +1 -1
  153. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts +14 -0
  154. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
  155. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +32 -0
  156. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
  157. package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.d.ts.map +1 -1
  158. package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js +6 -0
  159. package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js.map +1 -1
  160. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +34 -1
  161. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
  162. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +165 -29
  163. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
  164. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +7 -0
  165. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
  166. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +29 -2
  167. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
  168. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts +27 -0
  169. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts.map +1 -0
  170. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js +62 -0
  171. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js.map +1 -0
  172. package/dist/foundations/stripe-subscription/stripe-subscription.module.d.ts.map +1 -1
  173. package/dist/foundations/stripe-subscription/stripe-subscription.module.js +10 -0
  174. package/dist/foundations/stripe-subscription/stripe-subscription.module.js.map +1 -1
  175. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
  176. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +16 -1
  177. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
  178. package/dist/foundations/two-factor/controllers/passkey.controller.d.ts +1 -1
  179. package/dist/foundations/two-factor/controllers/passkey.controller.d.ts.map +1 -1
  180. package/dist/foundations/two-factor/controllers/passkey.controller.js +6 -5
  181. package/dist/foundations/two-factor/controllers/passkey.controller.js.map +1 -1
  182. package/package.json +1 -1
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.StripeSubscriptionDiscountBackfillService = exports.STRIPE_SUBSCRIPTION_DISCOUNT_BACKFILL_ID = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const nestjs_cls_1 = require("nestjs-cls");
15
+ const logging_service_1 = require("../../../core/logging/services/logging.service");
16
+ const stripe_errors_1 = require("../../stripe/errors/stripe.errors");
17
+ const stripe_service_1 = require("../../stripe/services/stripe.service");
18
+ const stripe_subscription_discount_1 = require("../entities/stripe-subscription.discount");
19
+ const stripe_subscription_repository_1 = require("../repositories/stripe-subscription.repository");
20
+ const stripe_subscription_api_service_1 = require("../services/stripe-subscription-api.service");
21
+ const stripe_subscription_backfill_repository_1 = require("./stripe-subscription-backfill.repository");
22
+ /** Marker id: changing it makes every deployed app run the backfill again. */
23
+ exports.STRIPE_SUBSCRIPTION_DISCOUNT_BACKFILL_ID = "stripe-subscription-discount-20261024";
24
+ /**
25
+ * One-off backfill of the discount fields on every StripeSubscription node.
26
+ *
27
+ * The discount fields are written on create, plan change and Stripe sync only, so a
28
+ * subscription stored before they existed shows no discount until its next change.
29
+ * This reads each subscription from Stripe (with the discount expanded) and writes
30
+ * only the discount fields through {@link StripeSubscriptionRepository.update}.
31
+ *
32
+ * Runs in worker mode at application bootstrap, after the migrator (module init),
33
+ * in the background so a long list never delays the worker. A
34
+ * `(:StripeSubscriptionBackfill)` marker stops later boots from running it again; the
35
+ * marker is written only when no subscription failed for a transient reason, so an
36
+ * outage during the deploy is retried on the next boot. Re-running is harmless: each
37
+ * write is the value Stripe holds now.
38
+ */
39
+ let StripeSubscriptionDiscountBackfillService = class StripeSubscriptionDiscountBackfillService {
40
+ constructor(stripeService, stripeSubscriptionApiService, subscriptionRepository, backfillRepository, cls, logger) {
41
+ this.stripeService = stripeService;
42
+ this.stripeSubscriptionApiService = stripeSubscriptionApiService;
43
+ this.subscriptionRepository = subscriptionRepository;
44
+ this.backfillRepository = backfillRepository;
45
+ this.cls = cls;
46
+ this.logger = logger;
47
+ }
48
+ onApplicationBootstrap() {
49
+ void this.run().catch((error) => {
50
+ this.logger.error("Stripe subscription discount backfill aborted", error);
51
+ });
52
+ }
53
+ /** Repository queries read the request context, so the run gets an empty one. */
54
+ async run() {
55
+ return this.cls.run(() => this.backfill());
56
+ }
57
+ async backfill() {
58
+ const result = {
59
+ skipped: null,
60
+ total: 0,
61
+ updated: 0,
62
+ missing: 0,
63
+ unreadable: 0,
64
+ failed: 0,
65
+ };
66
+ if (!this.stripeService.isConfigured()) {
67
+ return { ...result, skipped: "stripe-not-configured" };
68
+ }
69
+ if (await this.backfillRepository.isCompleted({ id: exports.STRIPE_SUBSCRIPTION_DISCOUNT_BACKFILL_ID })) {
70
+ return { ...result, skipped: "already-completed" };
71
+ }
72
+ const subscriptions = await this.subscriptionRepository.findAll();
73
+ result.total = subscriptions.length;
74
+ this.logger.log(`Stripe subscription discount backfill: ${subscriptions.length} subscriptions`);
75
+ // Sequential on purpose: one Stripe read at a time.
76
+ for (const subscription of subscriptions) {
77
+ try {
78
+ const stripeSubscription = await this.stripeSubscriptionApiService.retrieveSubscription(subscription.stripeSubscriptionId);
79
+ const discount = (0, stripe_subscription_discount_1.discountFromStripeSubscription)(stripeSubscription);
80
+ if (discount === undefined) {
81
+ result.unreadable++;
82
+ this.logger.warn(`Stripe subscription discount backfill: discount of ${subscription.stripeSubscriptionId} is unreadable, left as it is`);
83
+ continue;
84
+ }
85
+ await this.subscriptionRepository.update({ id: subscription.id, discount });
86
+ result.updated++;
87
+ }
88
+ catch (error) {
89
+ if (isMissingInStripe(error)) {
90
+ result.missing++;
91
+ this.logger.warn(`Stripe subscription discount backfill: ${subscription.stripeSubscriptionId} not found in Stripe, left as it is`);
92
+ continue;
93
+ }
94
+ result.failed++;
95
+ this.logger.error(`Stripe subscription discount backfill: ${subscription.stripeSubscriptionId} failed, left as it is`, error);
96
+ }
97
+ }
98
+ const summary = `total=${result.total} updated=${result.updated} missing=${result.missing} unreadable=${result.unreadable} failed=${result.failed}`;
99
+ if (result.failed === 0) {
100
+ await this.backfillRepository.markCompleted({ id: exports.STRIPE_SUBSCRIPTION_DISCOUNT_BACKFILL_ID, summary });
101
+ this.logger.log(`Stripe subscription discount backfill completed: ${summary}`);
102
+ }
103
+ else {
104
+ this.logger.warn(`Stripe subscription discount backfill incomplete, retried on next boot: ${summary}`);
105
+ }
106
+ return result;
107
+ }
108
+ };
109
+ exports.StripeSubscriptionDiscountBackfillService = StripeSubscriptionDiscountBackfillService;
110
+ exports.StripeSubscriptionDiscountBackfillService = StripeSubscriptionDiscountBackfillService = __decorate([
111
+ (0, common_1.Injectable)(),
112
+ __metadata("design:paramtypes", [stripe_service_1.StripeService,
113
+ stripe_subscription_api_service_1.StripeSubscriptionApiService,
114
+ stripe_subscription_repository_1.StripeSubscriptionRepository,
115
+ stripe_subscription_backfill_repository_1.StripeSubscriptionBackfillRepository,
116
+ nestjs_cls_1.ClsService,
117
+ logging_service_1.AppLoggingService])
118
+ ], StripeSubscriptionDiscountBackfillService);
119
+ /**
120
+ * A deleted or unknown subscription: Stripe answers 404 `resource_missing`, which
121
+ * {@link StripeSubscriptionApiService.retrieveSubscription} rethrows as a 400 StripeError.
122
+ */
123
+ function isMissingInStripe(error) {
124
+ if (error instanceof stripe_errors_1.StripeError)
125
+ return error.stripeCode === "resource_missing";
126
+ const raw = error;
127
+ return raw?.code === "resource_missing" || raw?.statusCode === common_1.HttpStatus.NOT_FOUND;
128
+ }
129
+ //# sourceMappingURL=stripe-subscription-discount-backfill.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-subscription-discount-backfill.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/backfills/stripe-subscription-discount-backfill.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAgF;AAChF,2CAAwC;AACxC,oFAAmF;AACnF,qEAAgE;AAChE,yEAAqE;AACrE,2FAA0F;AAC1F,mGAA8F;AAC9F,iGAA2F;AAC3F,uGAAiG;AAEjG,8EAA8E;AACjE,QAAA,wCAAwC,GAAG,uCAAuC,CAAC;AAgBhG;;;;;;;;;;;;;;GAcG;AAEI,IAAM,yCAAyC,GAA/C,MAAM,yCAAyC;IACpD,YACmB,aAA4B,EAC5B,4BAA0D,EAC1D,sBAAoD,EACpD,kBAAwD,EACxD,GAAe,EACf,MAAyB;QALzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,2BAAsB,GAAtB,sBAAsB,CAA8B;QACpD,uBAAkB,GAAlB,kBAAkB,CAAsC;QACxD,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAmB;IACzC,CAAC;IAEJ,sBAAsB;QACpB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,MAAM,GAA6C;YACvD,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC;YACvC,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,gDAAwC,EAAE,CAAC,EAAE,CAAC;YAChG,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,aAAa,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAEhG,oDAAoD;QACpD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,CACrF,YAAY,CAAC,oBAAoB,CAClC,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAA,6DAA8B,EAAC,kBAAkB,CAAC,CAAC;gBAEpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sDAAsD,YAAY,CAAC,oBAAoB,+BAA+B,CACvH,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5E,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0CAA0C,YAAY,CAAC,oBAAoB,qCAAqC,CACjH,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,YAAY,CAAC,oBAAoB,wBAAwB,EACnG,KAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,OAAO,eAAe,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;QACpJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,gDAAwC,EAAE,OAAO,EAAE,CAAC,CAAC;YACvG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,OAAO,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAxFY,8FAAyC;oDAAzC,yCAAyC;IADrD,IAAA,mBAAU,GAAE;qCAGuB,8BAAa;QACE,8DAA4B;QAClC,6DAA4B;QAChC,8EAAoC;QACnD,uBAAU;QACP,mCAAiB;GAPjC,yCAAyC,CAwFrD;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,2BAAW;QAAE,OAAO,KAAK,CAAC,UAAU,KAAK,kBAAkB,CAAC;IACjF,MAAM,GAAG,GAAG,KAAsD,CAAC;IACnE,OAAO,GAAG,EAAE,IAAI,KAAK,kBAAkB,IAAI,GAAG,EAAE,UAAU,KAAK,mBAAU,CAAC,SAAS,CAAC;AACtF,CAAC"}
@@ -3,9 +3,11 @@ import { AuthenticatedRequest } from "../../../common/interfaces/authenticated.r
3
3
  import { StripeSubscriptionCancelDTO, StripeSubscriptionChangePlanDTO, StripeSubscriptionPostDTO } from "../dtos/stripe-subscription.dto";
4
4
  import { StripeSubscriptionStatus } from "../entities/stripe-subscription.entity";
5
5
  import { StripeSubscriptionAdminService } from "../services/stripe-subscription-admin.service";
6
+ import { CacheService } from "../../../core/cache/services/cache.service";
6
7
  export declare class StripeSubscriptionController {
7
8
  private readonly subscriptionService;
8
- constructor(subscriptionService: StripeSubscriptionAdminService);
9
+ private readonly cacheService;
10
+ constructor(subscriptionService: StripeSubscriptionAdminService, cacheService: CacheService);
9
11
  listSubscriptions(req: AuthenticatedRequest, reply: FastifyReply, query: any, status?: StripeSubscriptionStatus): Promise<void>;
10
12
  getSubscription(req: AuthenticatedRequest, reply: FastifyReply, subscriptionId: string): Promise<void>;
11
13
  createSubscription(req: AuthenticatedRequest, reply: FastifyReply, body: StripeSubscriptionPostDTO): Promise<void>;
@@ -14,6 +16,10 @@ export declare class StripeSubscriptionController {
14
16
  resumeSubscription(req: AuthenticatedRequest, reply: FastifyReply, subscriptionId: string): Promise<void>;
15
17
  changePlan(req: AuthenticatedRequest, reply: FastifyReply, subscriptionId: string, body: StripeSubscriptionChangePlanDTO): Promise<void>;
16
18
  previewProration(req: AuthenticatedRequest, reply: FastifyReply, subscriptionId: string, priceId: string): Promise<void>;
19
+ /**
20
+ * Re-reads the subscription from Stripe and stores it. The wizard calls it right after the
21
+ * browser confirmed the first payment, before the webhooks arrive.
22
+ */
17
23
  syncSubscription(req: AuthenticatedRequest, reply: FastifyReply, subscriptionId: string): Promise<void>;
18
24
  }
19
25
  //# sourceMappingURL=stripe-subscription.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/controllers/stripe-subscription.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAI/F,qBAEa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,8BAA8B;IAK1E,iBAAiB,CACd,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACjB,KAAK,EAAE,GAAG,EACF,MAAM,CAAC,EAAE,wBAAwB;IAc9C,eAAe,CACZ,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EAClB,IAAI,EAAE,yBAAyB;IA0BnC,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EACvC,IAAI,EAAE,2BAA2B;IAcrC,iBAAiB,CACd,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,UAAU,CACP,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EACvC,IAAI,EAAE,+BAA+B;IAoBzC,gBAAgB,CACb,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM;IAkB7B,gBAAgB,CACb,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;CA2BlD"}
1
+ {"version":3,"file":"stripe-subscription.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/controllers/stripe-subscription.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAI/F,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE1E,qBAEa,4BAA4B;IAErC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAEpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,mBAAmB,EAAE,8BAA8B,EAEnD,YAAY,EAAE,YAAY;IAMvC,iBAAiB,CACd,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACjB,KAAK,EAAE,GAAG,EACF,MAAM,CAAC,EAAE,wBAAwB;IAc9C,eAAe,CACZ,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EAClB,IAAI,EAAE,yBAAyB;IA0BnC,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EACvC,IAAI,EAAE,2BAA2B;IAcrC,iBAAiB,CACd,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,kBAAkB,CACf,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;IAa3C,UAAU,CACP,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EACvC,IAAI,EAAE,+BAA+B;IAoBzC,gBAAgB,CACb,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM;IAgBnC;;;OAGG;IAOG,gBAAgB,CACb,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,YAAY,EACD,cAAc,EAAE,MAAM;CA0BlD"}
@@ -20,9 +20,14 @@ const stripe_subscription_meta_1 = require("../entities/stripe-subscription.meta
20
20
  const stripe_subscription_admin_service_1 = require("../services/stripe-subscription-admin.service");
21
21
  const module_decorator_1 = require("../../../common/decorators/module.decorator");
22
22
  const core_module_ids_1 = require("../../../common/constants/core-module.ids");
23
+ const cache_invalidate_decorator_1 = require("../../../common/decorators/cache-invalidate.decorator");
24
+ const cache_service_1 = require("../../../core/cache/services/cache.service");
23
25
  let StripeSubscriptionController = class StripeSubscriptionController {
24
- constructor(subscriptionService) {
26
+ constructor(subscriptionService,
27
+ // Read by @CacheInvalidate
28
+ cacheService) {
25
29
  this.subscriptionService = subscriptionService;
30
+ this.cacheService = cacheService;
26
31
  }
27
32
  async listSubscriptions(req, reply, query, status) {
28
33
  const response = await this.subscriptionService.listSubscriptions({
@@ -105,13 +110,18 @@ let StripeSubscriptionController = class StripeSubscriptionController {
105
110
  });
106
111
  reply.send(response);
107
112
  }
113
+ /**
114
+ * Re-reads the subscription from Stripe and stores it. The wizard calls it right after the
115
+ * browser confirmed the first payment, before the webhooks arrive.
116
+ */
117
+ // @Roles sits above @CacheInvalidate, which replaces the method: metadata set
118
+ // below it would land on the discarded original and never be enforced.
108
119
  async syncSubscription(req, reply, subscriptionId) {
109
- // First get the subscription to verify ownership and get stripe ID
120
+ // Ownership: getSubscription answers 404 / 403 for a subscription of another company
110
121
  const subscription = await this.subscriptionService.getSubscription({
111
122
  id: subscriptionId,
112
123
  companyId: req.user.companyId,
113
124
  });
114
- // Extract stripeSubscriptionId from the response
115
125
  const stripeSubscriptionId = subscription.data?.attributes?.stripeSubscriptionId;
116
126
  if (!stripeSubscriptionId) {
117
127
  reply.status(common_1.HttpStatus.BAD_REQUEST).send({ error: "Subscription has no Stripe ID" });
@@ -222,8 +232,10 @@ __decorate([
222
232
  __metadata("design:returntype", Promise)
223
233
  ], StripeSubscriptionController.prototype, "previewProration", null);
224
234
  __decorate([
225
- (0, common_1.Post)(`${stripe_subscription_meta_1.stripeSubscriptionMeta.endpoint}/:subscriptionId/sync`),
235
+ (0, common_1.Post)(`${stripe_subscription_meta_1.stripeSubscriptionMeta.endpoint}/:subscriptionId/${stripe_subscription_meta_1.STRIPE_SUBSCRIPTION_SYNC_SEGMENT}`),
226
236
  (0, common_1.UseGuards)(common_2.JwtAuthGuard),
237
+ (0, common_2.Roles)(common_2.RoleId.CompanyAdministrator),
238
+ (0, cache_invalidate_decorator_1.CacheInvalidate)(stripe_subscription_meta_1.stripeSubscriptionMeta, "subscriptionId"),
227
239
  __param(0, (0, common_1.Req)()),
228
240
  __param(1, (0, common_1.Res)()),
229
241
  __param(2, (0, common_1.Param)("subscriptionId")),
@@ -234,6 +246,7 @@ __decorate([
234
246
  exports.StripeSubscriptionController = StripeSubscriptionController = __decorate([
235
247
  (0, module_decorator_1.ModuleACL)({ module: core_module_ids_1.CoreModuleId.Billing }),
236
248
  (0, common_1.Controller)(),
237
- __metadata("design:paramtypes", [stripe_subscription_admin_service_1.StripeSubscriptionAdminService])
249
+ __metadata("design:paramtypes", [stripe_subscription_admin_service_1.StripeSubscriptionAdminService,
250
+ cache_service_1.CacheService])
238
251
  ], StripeSubscriptionController);
239
252
  //# sourceMappingURL=stripe-subscription.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.controller.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/controllers/stripe-subscription.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-subscription.controller.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/controllers/stripe-subscription.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import Stripe from "stripe";
2
+ import { StripeSubscriptionDiscountDuration } from "./stripe-subscription.entity";
3
+ /**
4
+ * The discount a subscription carries, as written to the StripeSubscription node.
5
+ * Every field is null when the coupon does not set it, so a write clears what an
6
+ * earlier discount left behind.
7
+ */
8
+ export type StripeSubscriptionDiscount = {
9
+ percentOff: number | null;
10
+ amountOff: number | null;
11
+ currency: string | null;
12
+ duration: StripeSubscriptionDiscountDuration;
13
+ durationInMonths: number | null;
14
+ end: Date | null;
15
+ };
16
+ /**
17
+ * The Stripe `expand` path that makes `subscription.discounts` readable by
18
+ * {@link discountFromStripeSubscription}. Without it Stripe returns discount ids only.
19
+ */
20
+ export declare const STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND = "discounts.source.coupon";
21
+ /**
22
+ * Reads the discount of a Stripe subscription (its first subscription-level discount).
23
+ *
24
+ * - `null`: Stripe says the subscription has no discount; the stored one must be cleared.
25
+ * - `undefined`: the discount cannot be read (ids not expanded); leave the stored one as it is.
26
+ */
27
+ export declare function discountFromStripeSubscription(subscription: Pick<Stripe.Subscription, "discounts">): StripeSubscriptionDiscount | null | undefined;
28
+ /** Query parameters for the discount fields; all null when there is no discount. */
29
+ export declare function discountQueryParams(discount: StripeSubscriptionDiscount | null): Record<string, unknown>;
30
+ //# sourceMappingURL=stripe-subscription.discount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-subscription.discount.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.discount.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAE7E;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GACnD,0BAA0B,GAAG,IAAI,GAAG,SAAS,CAsB/C;AAQD,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASxG"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND = void 0;
4
+ exports.discountFromStripeSubscription = discountFromStripeSubscription;
5
+ exports.discountQueryParams = discountQueryParams;
6
+ /**
7
+ * The Stripe `expand` path that makes `subscription.discounts` readable by
8
+ * {@link discountFromStripeSubscription}. Without it Stripe returns discount ids only.
9
+ */
10
+ exports.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND = "discounts.source.coupon";
11
+ /**
12
+ * Reads the discount of a Stripe subscription (its first subscription-level discount).
13
+ *
14
+ * - `null`: Stripe says the subscription has no discount; the stored one must be cleared.
15
+ * - `undefined`: the discount cannot be read (ids not expanded); leave the stored one as it is.
16
+ */
17
+ function discountFromStripeSubscription(subscription) {
18
+ const discounts = subscription.discounts;
19
+ if (!Array.isArray(discounts))
20
+ return undefined;
21
+ if (discounts.length === 0)
22
+ return null;
23
+ const discount = discounts[0];
24
+ if (typeof discount === "string")
25
+ return undefined;
26
+ // API versions before 2025-09-30 put the coupon on the discount itself.
27
+ const coupon = discount.source?.coupon ?? discount.coupon;
28
+ if (!coupon || typeof coupon === "string")
29
+ return undefined;
30
+ // Stripe's type leaves room for durations added later; one we do not know cannot be stored
31
+ if (!isKnownDuration(coupon.duration))
32
+ return undefined;
33
+ return {
34
+ percentOff: coupon.percent_off ?? null,
35
+ amountOff: coupon.amount_off ?? null,
36
+ currency: coupon.currency ?? null,
37
+ duration: coupon.duration,
38
+ durationInMonths: coupon.duration_in_months ?? null,
39
+ end: discount.end ? new Date(discount.end * 1000) : null,
40
+ };
41
+ }
42
+ const KNOWN_DURATIONS = ["forever", "once", "repeating"];
43
+ function isKnownDuration(duration) {
44
+ return KNOWN_DURATIONS.includes(duration);
45
+ }
46
+ /** Query parameters for the discount fields; all null when there is no discount. */
47
+ function discountQueryParams(discount) {
48
+ return {
49
+ discountPercentOff: discount?.percentOff ?? null,
50
+ discountAmountOff: discount?.amountOff ?? null,
51
+ discountCurrency: discount?.currency ?? null,
52
+ discountDuration: discount?.duration ?? null,
53
+ discountDurationInMonths: discount?.durationInMonths ?? null,
54
+ discountEnd: discount?.end?.toISOString() ?? null,
55
+ };
56
+ }
57
+ //# sourceMappingURL=stripe-subscription.discount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-subscription.discount.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.discount.ts"],"names":[],"mappings":";;;AA6BA,wEAwBC;AASD,kDASC;AAtDD;;;GAGG;AACU,QAAA,mCAAmC,GAAG,yBAAyB,CAAC;AAE7E;;;;;GAKG;AACH,SAAgB,8BAA8B,CAC5C,YAAoD;IAEpD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEnD,wEAAwE;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAK,QAA2D,CAAC,MAAM,CAAC;IAC9G,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5D,2FAA2F;IAC3F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAExD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;QACtC,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACnD,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAkD,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAExG,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAQ,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,oFAAoF;AACpF,SAAgB,mBAAmB,CAAC,QAA2C;IAC7E,OAAO;QACL,kBAAkB,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;QAChD,iBAAiB,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI;QAC9C,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC5C,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC5C,wBAAwB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,IAAI;QAC5D,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,IAAI;KAClD,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import { Entity } from "../../../common/abstracts/entity";
2
2
  import { StripeCustomer } from "../../stripe-customer/entities/stripe-customer.entity";
3
3
  import { StripePrice } from "../../stripe-price/entities/stripe-price.entity";
4
4
  export type StripeSubscriptionStatus = "active" | "past_due" | "unpaid" | "canceled" | "incomplete" | "incomplete_expired" | "trialing" | "paused";
5
+ export type StripeSubscriptionDiscountDuration = "forever" | "once" | "repeating";
5
6
  export type StripeSubscription = Entity & {
6
7
  stripeSubscriptionId: string;
7
8
  stripeSubscriptionItemId?: string;
@@ -14,6 +15,12 @@ export type StripeSubscription = Entity & {
14
15
  trialEnd?: Date;
15
16
  pausedAt?: Date;
16
17
  quantity: number;
18
+ discountPercentOff?: number;
19
+ discountAmountOff?: number;
20
+ discountCurrency?: string;
21
+ discountDuration?: StripeSubscriptionDiscountDuration;
22
+ discountDurationInMonths?: number;
23
+ discountEnd?: Date;
17
24
  stripeCustomer: StripeCustomer;
18
25
  stripePrice: StripePrice;
19
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAClC,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9G,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"stripe-subscription.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAClC,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9G,MAAM,MAAM,kCAAkC,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAIjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,kCAAkC,CAAC;IACtD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.map.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,eAAO,MAAM,qBAAqB,GAAI,QAAQ;IAC5C,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,aAAa,CAAC;CAC9B,KAAG,kBAiBH,CAAC"}
1
+ {"version":3,"file":"stripe-subscription.map.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,eAAO,MAAM,qBAAqB,GAAI,QAAQ;IAC5C,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,aAAa,CAAC;CAC9B,KAAG,kBAwBH,CAAC"}
@@ -16,6 +16,12 @@ const mapStripeSubscription = (params) => {
16
16
  trialEnd: params.data.trialEnd ? new Date(params.data.trialEnd) : undefined,
17
17
  pausedAt: params.data.pausedAt ? new Date(params.data.pausedAt) : undefined,
18
18
  quantity: Number(params.data.quantity ?? 1),
19
+ discountPercentOff: params.data.discountPercentOff != null ? Number(params.data.discountPercentOff) : undefined,
20
+ discountAmountOff: params.data.discountAmountOff != null ? Number(params.data.discountAmountOff) : undefined,
21
+ discountCurrency: params.data.discountCurrency ?? undefined,
22
+ discountDuration: params.data.discountDuration ?? undefined,
23
+ discountDurationInMonths: params.data.discountDurationInMonths != null ? Number(params.data.discountDurationInMonths) : undefined,
24
+ discountEnd: params.data.discountEnd ? new Date(params.data.discountEnd) : undefined,
19
25
  stripeCustomer: undefined,
20
26
  stripePrice: undefined,
21
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.map.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.map.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAItD,MAAM,qBAAqB,GAAG,CAAC,MAIrC,EAAsB,EAAE;IACvB,OAAO;QACL,GAAG,IAAA,kBAAS,EAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;QACtD,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB;QAC9D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QAC1G,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QACpG,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI;QACzD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3E,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3E,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC3C,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}
1
+ {"version":3,"file":"stripe-subscription.map.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.map.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAItD,MAAM,qBAAqB,GAAG,CAAC,MAIrC,EAAsB,EAAE;IACvB,OAAO;QACL,GAAG,IAAA,kBAAS,EAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;QACtD,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB;QAC9D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QAC1G,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QACpG,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI;QACzD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3E,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3E,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC3C,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/G,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5G,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS;QAC3D,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS;QAC3D,wBAAwB,EACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS;QACzG,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACpF,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,qBAAqB,yBA4BhC"}
@@ -1,3 +1,11 @@
1
1
  import { DataMeta } from "../../../common/interfaces/datamodel.interface";
2
2
  export declare const stripeSubscriptionMeta: DataMeta;
3
+ /** Route segment of POST stripe-subscriptions/:subscriptionId/sync */
4
+ export declare const STRIPE_SUBSCRIPTION_SYNC_SEGMENT = "sync";
5
+ /**
6
+ * Stripe `cancellation_details.comment` on an unpaid first-payment attempt cancelled
7
+ * because the GM retried. That subscription never granted anything, so its
8
+ * `customer.subscription.deleted` webhook must not take anything away.
9
+ */
10
+ export declare const STRIPE_UNPAID_ATTEMPT_CANCELLATION_COMMENT = "unpaid attempt replaced by a new one";
3
11
  //# sourceMappingURL=stripe-subscription.meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.meta.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,eAAO,MAAM,sBAAsB,EAAE,QAKpC,CAAC"}
1
+ {"version":3,"file":"stripe-subscription.meta.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,eAAO,MAAM,sBAAsB,EAAE,QAKpC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gCAAgC,SAAS,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,yCAAyC,CAAC"}
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripeSubscriptionMeta = void 0;
3
+ exports.STRIPE_UNPAID_ATTEMPT_CANCELLATION_COMMENT = exports.STRIPE_SUBSCRIPTION_SYNC_SEGMENT = exports.stripeSubscriptionMeta = void 0;
4
4
  exports.stripeSubscriptionMeta = {
5
5
  type: "stripe-subscriptions",
6
6
  endpoint: "stripe-subscriptions",
7
7
  nodeName: "stripeSubscription",
8
8
  labelName: "StripeSubscription",
9
9
  };
10
+ /** Route segment of POST stripe-subscriptions/:subscriptionId/sync */
11
+ exports.STRIPE_SUBSCRIPTION_SYNC_SEGMENT = "sync";
12
+ /**
13
+ * Stripe `cancellation_details.comment` on an unpaid first-payment attempt cancelled
14
+ * because the GM retried. That subscription never granted anything, so its
15
+ * `customer.subscription.deleted` webhook must not take anything away.
16
+ */
17
+ exports.STRIPE_UNPAID_ATTEMPT_CANCELLATION_COMMENT = "unpaid attempt replaced by a new one";
10
18
  //# sourceMappingURL=stripe-subscription.meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.meta.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.meta.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAa;IAC9C,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,oBAAoB;CAChC,CAAC"}
1
+ {"version":3,"file":"stripe-subscription.meta.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/entities/stripe-subscription.meta.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAa;IAC9C,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,oBAAoB;CAChC,CAAC;AAEF,sEAAsE;AACzD,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAEvD;;;;GAIG;AACU,QAAA,0CAA0C,GAAG,sCAAsC,CAAC"}
@@ -9,9 +9,10 @@ export { StripeSubscriptionController } from "./controllers/stripe-subscription.
9
9
  export { StripeSubscriptionApiService } from "./services/stripe-subscription-api.service";
10
10
  export { StripeSubscriptionAdminService } from "./services/stripe-subscription-admin.service";
11
11
  export { StripeSubscriptionRepository } from "./repositories/stripe-subscription.repository";
12
- export { StripeSubscription, StripeSubscriptionStatus } from "./entities/stripe-subscription.entity";
12
+ export { StripeSubscription, StripeSubscriptionDiscountDuration, StripeSubscriptionStatus, } from "./entities/stripe-subscription.entity";
13
+ export { STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND, StripeSubscriptionDiscount, discountFromStripeSubscription, } from "./entities/stripe-subscription.discount";
13
14
  export { StripeSubscriptionModel } from "./entities/stripe-subscription.model";
14
- export { stripeSubscriptionMeta } from "./entities/stripe-subscription.meta";
15
+ export { STRIPE_SUBSCRIPTION_SYNC_SEGMENT, stripeSubscriptionMeta } from "./entities/stripe-subscription.meta";
15
16
  export { mapStripeSubscription } from "./entities/stripe-subscription.map";
16
17
  export { StripeSubscriptionDTO, StripeSubscriptionPostDTO, StripeSubscriptionPostDataDTO, StripeSubscriptionPostAttributesDTO, StripeSubscriptionCancelDTO, StripeSubscriptionCancelDataDTO, StripeSubscriptionCancelAttributesDTO, StripeSubscriptionChangePlanDTO, StripeSubscriptionChangePlanDataDTO, StripeSubscriptionChangePlanAttributesDTO, } from "./dtos/stripe-subscription.dto";
17
18
  export { StripeSubscriptionSerialiser } from "./serialisers/stripe-subscription.serialiser";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/stripe-subscription/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAG5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAG9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAG7F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,GAC1C,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/stripe-subscription/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAG5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAG9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAG7F,OAAO,EACL,kBAAkB,EAClB,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,GAC1C,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * Use these exports when importing stripe-subscription functionality from other modules.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.StripeSubscriptionSerialiser = exports.StripeSubscriptionChangePlanAttributesDTO = exports.StripeSubscriptionChangePlanDataDTO = exports.StripeSubscriptionChangePlanDTO = exports.StripeSubscriptionCancelAttributesDTO = exports.StripeSubscriptionCancelDataDTO = exports.StripeSubscriptionCancelDTO = exports.StripeSubscriptionPostAttributesDTO = exports.StripeSubscriptionPostDataDTO = exports.StripeSubscriptionPostDTO = exports.StripeSubscriptionDTO = exports.mapStripeSubscription = exports.stripeSubscriptionMeta = exports.StripeSubscriptionModel = exports.StripeSubscriptionRepository = exports.StripeSubscriptionAdminService = exports.StripeSubscriptionApiService = exports.StripeSubscriptionController = exports.StripeSubscriptionModule = void 0;
9
+ exports.StripeSubscriptionSerialiser = exports.StripeSubscriptionChangePlanAttributesDTO = exports.StripeSubscriptionChangePlanDataDTO = exports.StripeSubscriptionChangePlanDTO = exports.StripeSubscriptionCancelAttributesDTO = exports.StripeSubscriptionCancelDataDTO = exports.StripeSubscriptionCancelDTO = exports.StripeSubscriptionPostAttributesDTO = exports.StripeSubscriptionPostDataDTO = exports.StripeSubscriptionPostDTO = exports.StripeSubscriptionDTO = exports.mapStripeSubscription = exports.stripeSubscriptionMeta = exports.STRIPE_SUBSCRIPTION_SYNC_SEGMENT = exports.StripeSubscriptionModel = exports.discountFromStripeSubscription = exports.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND = exports.StripeSubscriptionRepository = exports.StripeSubscriptionAdminService = exports.StripeSubscriptionApiService = exports.StripeSubscriptionController = exports.StripeSubscriptionModule = void 0;
10
10
  // Module
11
11
  var stripe_subscription_module_1 = require("./stripe-subscription.module");
12
12
  Object.defineProperty(exports, "StripeSubscriptionModule", { enumerable: true, get: function () { return stripe_subscription_module_1.StripeSubscriptionModule; } });
@@ -21,9 +21,13 @@ Object.defineProperty(exports, "StripeSubscriptionAdminService", { enumerable: t
21
21
  // Repositories
22
22
  var stripe_subscription_repository_1 = require("./repositories/stripe-subscription.repository");
23
23
  Object.defineProperty(exports, "StripeSubscriptionRepository", { enumerable: true, get: function () { return stripe_subscription_repository_1.StripeSubscriptionRepository; } });
24
+ var stripe_subscription_discount_1 = require("./entities/stripe-subscription.discount");
25
+ Object.defineProperty(exports, "STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND", { enumerable: true, get: function () { return stripe_subscription_discount_1.STRIPE_SUBSCRIPTION_DISCOUNT_EXPAND; } });
26
+ Object.defineProperty(exports, "discountFromStripeSubscription", { enumerable: true, get: function () { return stripe_subscription_discount_1.discountFromStripeSubscription; } });
24
27
  var stripe_subscription_model_1 = require("./entities/stripe-subscription.model");
25
28
  Object.defineProperty(exports, "StripeSubscriptionModel", { enumerable: true, get: function () { return stripe_subscription_model_1.StripeSubscriptionModel; } });
26
29
  var stripe_subscription_meta_1 = require("./entities/stripe-subscription.meta");
30
+ Object.defineProperty(exports, "STRIPE_SUBSCRIPTION_SYNC_SEGMENT", { enumerable: true, get: function () { return stripe_subscription_meta_1.STRIPE_SUBSCRIPTION_SYNC_SEGMENT; } });
27
31
  Object.defineProperty(exports, "stripeSubscriptionMeta", { enumerable: true, get: function () { return stripe_subscription_meta_1.stripeSubscriptionMeta; } });
28
32
  var stripe_subscription_map_1 = require("./entities/stripe-subscription.map");
29
33
  Object.defineProperty(exports, "mapStripeSubscription", { enumerable: true, get: function () { return stripe_subscription_map_1.mapStripeSubscription; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/stripe-subscription/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAS;AACT,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AAEjC,cAAc;AACd,+FAA4F;AAAnF,8IAAA,4BAA4B,OAAA;AAErC,WAAW;AACX,8FAA0F;AAAjF,+IAAA,4BAA4B,OAAA;AACrC,kGAA8F;AAArF,mJAAA,8BAA8B,OAAA;AAEvC,eAAe;AACf,gGAA6F;AAApF,8IAAA,4BAA4B,OAAA;AAIrC,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAE9B,OAAO;AACP,0EAWwC;AAVtC,gIAAA,qBAAqB,OAAA;AACrB,oIAAA,yBAAyB,OAAA;AACzB,wIAAA,6BAA6B,OAAA;AAC7B,8IAAA,mCAAmC,OAAA;AACnC,sIAAA,2BAA2B,OAAA;AAC3B,0IAAA,+BAA+B,OAAA;AAC/B,gJAAA,qCAAqC,OAAA;AACrC,0IAAA,+BAA+B,OAAA;AAC/B,8IAAA,mCAAmC,OAAA;AACnC,oJAAA,yCAAyC,OAAA;AAG3C,cAAc;AACd,+FAA4F;AAAnF,8IAAA,4BAA4B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/stripe-subscription/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAS;AACT,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AAEjC,cAAc;AACd,+FAA4F;AAAnF,8IAAA,4BAA4B,OAAA;AAErC,WAAW;AACX,8FAA0F;AAAjF,+IAAA,4BAA4B,OAAA;AACrC,kGAA8F;AAArF,mJAAA,8BAA8B,OAAA;AAEvC,eAAe;AACf,gGAA6F;AAApF,8IAAA,4BAA4B,OAAA;AAQrC,wFAIiD;AAH/C,mJAAA,mCAAmC,OAAA;AAEnC,8IAAA,8BAA8B,OAAA;AAEhC,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,gFAA+G;AAAtG,4IAAA,gCAAgC,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AACjE,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAE9B,OAAO;AACP,0EAWwC;AAVtC,gIAAA,qBAAqB,OAAA;AACrB,oIAAA,yBAAyB,OAAA;AACzB,wIAAA,6BAA6B,OAAA;AAC7B,8IAAA,mCAAmC,OAAA;AACnC,sIAAA,2BAA2B,OAAA;AAC3B,0IAAA,+BAA+B,OAAA;AAC/B,gJAAA,qCAAqC,OAAA;AACrC,0IAAA,+BAA+B,OAAA;AAC/B,8IAAA,mCAAmC,OAAA;AACnC,oJAAA,yCAAyC,OAAA;AAG3C,cAAc;AACd,+FAA4F;AAAnF,8IAAA,4BAA4B,OAAA"}
@@ -1,6 +1,7 @@
1
1
  import { OnModuleInit } from "@nestjs/common";
2
2
  import { Neo4jService } from "../../../core/neo4j";
3
3
  import { StripeSubscription, StripeSubscriptionStatus } from "../entities/stripe-subscription.entity";
4
+ import { StripeSubscriptionDiscount } from "../entities/stripe-subscription.discount";
4
5
  /**
5
6
  * StripeSubscriptionRepository
6
7
  *
@@ -61,6 +62,16 @@ export declare class StripeSubscriptionRepository implements OnModuleInit {
61
62
  findById(params: {
62
63
  id: string;
63
64
  }): Promise<StripeSubscription | null>;
65
+ /**
66
+ * Find every subscription, of every company.
67
+ *
68
+ * Not company-scoped and not paginated: it serves system jobs that run outside a
69
+ * request (the discount backfill), never an endpoint. It matches the same
70
+ * customer and price path as {@link update}, so every row it returns can be updated.
71
+ *
72
+ * @returns All subscriptions ordered by creation date ascending
73
+ */
74
+ findAll(): Promise<StripeSubscription[]>;
64
75
  /**
65
76
  * Find subscription by Stripe subscription ID
66
77
  *
@@ -103,6 +114,7 @@ export declare class StripeSubscriptionRepository implements OnModuleInit {
103
114
  trialStart?: Date;
104
115
  trialEnd?: Date;
105
116
  quantity: number;
117
+ discount?: StripeSubscriptionDiscount | null;
106
118
  }): Promise<StripeSubscription>;
107
119
  /**
108
120
  * Update subscription by internal ID
@@ -131,6 +143,7 @@ export declare class StripeSubscriptionRepository implements OnModuleInit {
131
143
  trialEnd?: Date;
132
144
  pausedAt?: Date | null;
133
145
  quantity?: number;
146
+ discount?: StripeSubscriptionDiscount | null;
134
147
  }): Promise<StripeSubscription>;
135
148
  /**
136
149
  * Update subscription by Stripe subscription ID
@@ -161,6 +174,7 @@ export declare class StripeSubscriptionRepository implements OnModuleInit {
161
174
  trialEnd?: Date;
162
175
  pausedAt?: Date | null;
163
176
  quantity?: number;
177
+ discount?: StripeSubscriptionDiscount | null;
164
178
  }): Promise<StripeSubscription | null>;
165
179
  /**
166
180
  * Update subscription price (change plan)
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-subscription.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/repositories/stripe-subscription.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-subscription.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/repositories/stripe-subscription.repository.ts"],"names":[],"mappings":"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"}