@carlonicora/nestjs-neo4jsonapi 1.32.1 → 1.34.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 (144) hide show
  1. package/dist/config/base.config.d.ts.map +1 -1
  2. package/dist/config/base.config.js +13 -0
  3. package/dist/config/base.config.js.map +1 -1
  4. package/dist/config/enums/job.name.d.ts.map +1 -1
  5. package/dist/config/enums/job.name.js +3 -1
  6. package/dist/config/enums/job.name.js.map +1 -1
  7. package/dist/config/enums/queue.id.d.ts +3 -1
  8. package/dist/config/enums/queue.id.d.ts.map +1 -1
  9. package/dist/config/enums/queue.id.js +2 -0
  10. package/dist/config/enums/queue.id.js.map +1 -1
  11. package/dist/config/interfaces/config.ai.interface.d.ts +14 -0
  12. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  13. package/dist/core/email/templates/en/companyDeleted.hbs +55 -0
  14. package/dist/core/email/templates/en/deletionWarning.hbs +65 -0
  15. package/dist/core/email/templates/en/subscriptionCancelled.hbs +45 -0
  16. package/dist/core/email/templates/en/trialEndedWithoutPayment.hbs +53 -0
  17. package/dist/core/email/templates/en/trialEndingReminder.hbs +48 -0
  18. package/dist/core/llm/services/model.service.d.ts +30 -0
  19. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  20. package/dist/core/llm/services/model.service.js +95 -0
  21. package/dist/core/llm/services/model.service.js.map +1 -1
  22. package/dist/core/llm/services/vision.llm.service.d.ts +30 -4
  23. package/dist/core/llm/services/vision.llm.service.d.ts.map +1 -1
  24. package/dist/core/llm/services/vision.llm.service.js +143 -26
  25. package/dist/core/llm/services/vision.llm.service.js.map +1 -1
  26. package/dist/core/queue/queue.module.d.ts.map +1 -1
  27. package/dist/core/queue/queue.module.js +3 -2
  28. package/dist/core/queue/queue.module.js.map +1 -1
  29. package/dist/foundations/auth/auth.module.d.ts.map +1 -1
  30. package/dist/foundations/auth/auth.module.js +13 -2
  31. package/dist/foundations/auth/auth.module.js.map +1 -1
  32. package/dist/foundations/auth/index.d.ts +1 -0
  33. package/dist/foundations/auth/index.d.ts.map +1 -1
  34. package/dist/foundations/auth/index.js +3 -1
  35. package/dist/foundations/auth/index.js.map +1 -1
  36. package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
  37. package/dist/foundations/auth/repositories/auth.repository.js +8 -15
  38. package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
  39. package/dist/foundations/auth/services/auth.service.d.ts +5 -3
  40. package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
  41. package/dist/foundations/auth/services/auth.service.js +19 -4
  42. package/dist/foundations/auth/services/auth.service.js.map +1 -1
  43. package/dist/foundations/auth/services/trial-queue.service.d.ts +12 -0
  44. package/dist/foundations/auth/services/trial-queue.service.d.ts.map +1 -0
  45. package/dist/foundations/auth/services/trial-queue.service.js +55 -0
  46. package/dist/foundations/auth/services/trial-queue.service.js.map +1 -0
  47. package/dist/foundations/company/controllers/company.controller.d.ts +1 -3
  48. package/dist/foundations/company/controllers/company.controller.d.ts.map +1 -1
  49. package/dist/foundations/company/controllers/company.controller.js +28 -10
  50. package/dist/foundations/company/controllers/company.controller.js.map +1 -1
  51. package/dist/foundations/company/entities/company.d.ts +3 -0
  52. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  53. package/dist/foundations/company/entities/company.js +3 -0
  54. package/dist/foundations/company/entities/company.js.map +1 -1
  55. package/dist/foundations/company/index.d.ts +1 -0
  56. package/dist/foundations/company/index.d.ts.map +1 -1
  57. package/dist/foundations/company/index.js +3 -1
  58. package/dist/foundations/company/index.js.map +1 -1
  59. package/dist/foundations/company/interfaces/company-deletion-handler.interface.d.ts +38 -0
  60. package/dist/foundations/company/interfaces/company-deletion-handler.interface.d.ts.map +1 -0
  61. package/dist/foundations/company/interfaces/company-deletion-handler.interface.js +9 -0
  62. package/dist/foundations/company/interfaces/company-deletion-handler.interface.js.map +1 -0
  63. package/dist/foundations/company/repositories/company.repository.d.ts +12 -0
  64. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  65. package/dist/foundations/company/repositories/company.repository.js +65 -0
  66. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  67. package/dist/foundations/company/services/company.service.d.ts +17 -1
  68. package/dist/foundations/company/services/company.service.d.ts.map +1 -1
  69. package/dist/foundations/company/services/company.service.js +43 -2
  70. package/dist/foundations/company/services/company.service.js.map +1 -1
  71. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  72. package/dist/foundations/foundations.modules.js +2 -0
  73. package/dist/foundations/foundations.modules.js.map +1 -1
  74. package/dist/foundations/stripe/stripe.module.d.ts +0 -1
  75. package/dist/foundations/stripe/stripe.module.d.ts.map +1 -1
  76. package/dist/foundations/stripe/stripe.module.js +0 -3
  77. package/dist/foundations/stripe/stripe.module.js.map +1 -1
  78. package/dist/foundations/stripe-price/dtos/stripe-price.dto.d.ts +2 -0
  79. package/dist/foundations/stripe-price/dtos/stripe-price.dto.d.ts.map +1 -1
  80. package/dist/foundations/stripe-price/dtos/stripe-price.dto.js +10 -0
  81. package/dist/foundations/stripe-price/dtos/stripe-price.dto.js.map +1 -1
  82. package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts +1 -0
  83. package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts.map +1 -1
  84. package/dist/foundations/stripe-price/entities/stripe-price.map.d.ts.map +1 -1
  85. package/dist/foundations/stripe-price/entities/stripe-price.map.js +1 -0
  86. package/dist/foundations/stripe-price/entities/stripe-price.map.js.map +1 -1
  87. package/dist/foundations/stripe-price/repositories/stripe-price.repository.d.ts +11 -0
  88. package/dist/foundations/stripe-price/repositories/stripe-price.repository.d.ts.map +1 -1
  89. package/dist/foundations/stripe-price/repositories/stripe-price.repository.js +25 -0
  90. package/dist/foundations/stripe-price/repositories/stripe-price.repository.js.map +1 -1
  91. package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.d.ts.map +1 -1
  92. package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.js +1 -0
  93. package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.js.map +1 -1
  94. package/dist/foundations/stripe-price/services/stripe-price-admin.service.d.ts.map +1 -1
  95. package/dist/foundations/stripe-price/services/stripe-price-admin.service.js +2 -0
  96. package/dist/foundations/stripe-price/services/stripe-price-admin.service.js.map +1 -1
  97. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +3 -1
  98. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
  99. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +6 -2
  100. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
  101. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +3 -1
  102. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
  103. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +7 -2
  104. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
  105. package/dist/foundations/stripe-trial/index.d.ts +3 -0
  106. package/dist/foundations/stripe-trial/index.d.ts.map +1 -0
  107. package/dist/foundations/stripe-trial/index.js +19 -0
  108. package/dist/foundations/stripe-trial/index.js.map +1 -0
  109. package/dist/foundations/stripe-trial/interfaces/trial-job.interface.d.ts +5 -0
  110. package/dist/foundations/stripe-trial/interfaces/trial-job.interface.d.ts.map +1 -0
  111. package/dist/foundations/stripe-trial/interfaces/trial-job.interface.js +3 -0
  112. package/dist/foundations/stripe-trial/interfaces/trial-job.interface.js.map +1 -0
  113. package/dist/foundations/stripe-trial/processors/trial.processor.d.ts +17 -0
  114. package/dist/foundations/stripe-trial/processors/trial.processor.d.ts.map +1 -0
  115. package/dist/foundations/stripe-trial/processors/trial.processor.js +69 -0
  116. package/dist/foundations/stripe-trial/processors/trial.processor.js.map +1 -0
  117. package/dist/foundations/stripe-trial/services/trial.service.d.ts +61 -0
  118. package/dist/foundations/stripe-trial/services/trial.service.d.ts.map +1 -0
  119. package/dist/foundations/stripe-trial/services/trial.service.js +137 -0
  120. package/dist/foundations/stripe-trial/services/trial.service.js.map +1 -0
  121. package/dist/foundations/stripe-trial/stripe-trial.module.d.ts +22 -0
  122. package/dist/foundations/stripe-trial/stripe-trial.module.d.ts.map +1 -0
  123. package/dist/foundations/stripe-trial/stripe-trial.module.js +45 -0
  124. package/dist/foundations/stripe-trial/stripe-trial.module.js.map +1 -0
  125. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts +8 -3
  126. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
  127. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +191 -51
  128. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
  129. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts +38 -0
  130. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts.map +1 -1
  131. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js +175 -0
  132. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js.map +1 -1
  133. package/dist/foundations/stripe-webhook/stripe-webhook.module.d.ts.map +1 -1
  134. package/dist/foundations/stripe-webhook/stripe-webhook.module.js +2 -0
  135. package/dist/foundations/stripe-webhook/stripe-webhook.module.js.map +1 -1
  136. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +1 -0
  137. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
  138. package/dist/foundations/tokenusage/services/tokenusage.service.js +4 -3
  139. package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
  140. package/dist/foundations/user/repositories/user.repository.d.ts +7 -0
  141. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  142. package/dist/foundations/user/repositories/user.repository.js +19 -0
  143. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  144. package/package.json +1 -1
@@ -0,0 +1,45 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StripeTrialModule = void 0;
10
+ const bullmq_1 = require("@nestjs/bullmq");
11
+ const common_1 = require("@nestjs/common");
12
+ const queue_id_1 = require("../../config/enums/queue.id");
13
+ const company_module_1 = require("../company/company.module");
14
+ const trial_processor_1 = require("./processors/trial.processor");
15
+ const trial_service_1 = require("./services/trial.service");
16
+ /**
17
+ * Stripe Trial Module
18
+ *
19
+ * Orchestrates 14-day trial subscription creation for new user signups.
20
+ * Uses BullMQ queue for async processing and ModuleRef for Stripe service dependencies.
21
+ *
22
+ * Queue-based architecture:
23
+ * - AuthModule queues trial creation jobs (no direct dependency)
24
+ * - TrialProcessor handles jobs asynchronously
25
+ * - WebSocket notification sent from Stripe webhook after feature sync
26
+ *
27
+ * Dependencies (via ModuleRef):
28
+ * - StripeCustomerAdminService: Create Stripe customer
29
+ * - StripeSubscriptionAdminService: Create subscription with trial period
30
+ * - StripePriceRepository: Find trial price configuration
31
+ *
32
+ * Direct dependencies:
33
+ * - CompanyModule: Update company tokens and subscription status
34
+ */
35
+ let StripeTrialModule = class StripeTrialModule {
36
+ };
37
+ exports.StripeTrialModule = StripeTrialModule;
38
+ exports.StripeTrialModule = StripeTrialModule = __decorate([
39
+ (0, common_1.Module)({
40
+ imports: [(0, common_1.forwardRef)(() => company_module_1.CompanyModule), bullmq_1.BullModule.registerQueue({ name: queue_id_1.QueueId.TRIAL })],
41
+ providers: [trial_service_1.TrialService, trial_processor_1.TrialProcessor],
42
+ exports: [trial_service_1.TrialService],
43
+ })
44
+ ], StripeTrialModule);
45
+ //# sourceMappingURL=stripe-trial.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-trial.module.js","sourceRoot":"","sources":["../../../src/foundations/stripe-trial/stripe-trial.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,2CAAoD;AACpD,0DAAsD;AACtD,8DAA0D;AAC1D,kEAA8D;AAC9D,4DAAwD;AAExD;;;;;;;;;;;;;;;;;;GAkBG;AAMI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,8CAAiB;4BAAjB,iBAAiB;IAL7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC,EAAE,mBAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,SAAS,EAAE,CAAC,4BAAY,EAAE,gCAAc,CAAC;QACzC,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,iBAAiB,CAAG"}
@@ -1,16 +1,18 @@
1
1
  import { WorkerHost } from "@nestjs/bullmq";
2
2
  import { Job } from "bullmq";
3
+ import { ClsService } from "nestjs-cls";
3
4
  import { AppLoggingService } from "../../../core/logging";
5
+ import { WebSocketService } from "../../../core/websocket/services/websocket.service";
4
6
  import { CompanyRepository } from "../../company/repositories/company.repository";
5
7
  import { StripeCustomerRepository } from "../../stripe-customer/repositories/stripe-customer.repository";
6
8
  import { StripeInvoiceRepository } from "../../stripe-invoice/repositories/stripe-invoice.repository";
9
+ import { StripeInvoiceAdminService } from "../../stripe-invoice/services/stripe-invoice-admin.service";
7
10
  import { StripePriceRepository } from "../../stripe-price/repositories/stripe-price.repository";
8
11
  import { StripeSubscriptionRepository } from "../../stripe-subscription/repositories/stripe-subscription.repository";
9
- import { StripeSubscriptionAdminService } from "../../stripe-subscription/services/stripe-subscription-admin.service";
10
12
  import { FeatureSyncService } from "../../stripe-subscription/services/feature-sync.service";
13
+ import { StripeSubscriptionAdminService } from "../../stripe-subscription/services/stripe-subscription-admin.service";
11
14
  import { TokenAllocationService } from "../../stripe-subscription/services/token-allocation.service";
12
15
  import { StripeService } from "../../stripe/services/stripe.service";
13
- import { StripeInvoiceAdminService } from "../../stripe-invoice/services/stripe-invoice-admin.service";
14
16
  import { StripeWebhookEventRepository } from "../repositories/stripe-webhook-event.repository";
15
17
  import { StripeWebhookNotificationService } from "../services/stripe-webhook-notification.service";
16
18
  export interface StripeWebhookJobData {
@@ -33,13 +35,16 @@ export declare class StripeWebhookProcessor extends WorkerHost {
33
35
  private readonly companyRepository;
34
36
  private readonly stripeInvoiceAdminService;
35
37
  private readonly logger;
36
- constructor(stripeWebhookEventRepository: StripeWebhookEventRepository, subscriptionService: StripeSubscriptionAdminService, stripeCustomerRepository: StripeCustomerRepository, subscriptionRepository: StripeSubscriptionRepository, stripeInvoiceRepository: StripeInvoiceRepository, stripePriceRepository: StripePriceRepository, notificationService: StripeWebhookNotificationService, tokenAllocationService: TokenAllocationService, featureSyncService: FeatureSyncService, stripeService: StripeService, companyRepository: CompanyRepository, stripeInvoiceAdminService: StripeInvoiceAdminService, logger: AppLoggingService);
38
+ private readonly cls;
39
+ private readonly webSocketService;
40
+ constructor(stripeWebhookEventRepository: StripeWebhookEventRepository, subscriptionService: StripeSubscriptionAdminService, stripeCustomerRepository: StripeCustomerRepository, subscriptionRepository: StripeSubscriptionRepository, stripeInvoiceRepository: StripeInvoiceRepository, stripePriceRepository: StripePriceRepository, notificationService: StripeWebhookNotificationService, tokenAllocationService: TokenAllocationService, featureSyncService: FeatureSyncService, stripeService: StripeService, companyRepository: CompanyRepository, stripeInvoiceAdminService: StripeInvoiceAdminService, logger: AppLoggingService, cls: ClsService, webSocketService: WebSocketService);
37
41
  onActive(job: Job<StripeWebhookJobData>): void;
38
42
  onError(job: Job<StripeWebhookJobData>): void;
39
43
  onCompleted(job: Job<StripeWebhookJobData>): void;
40
44
  process(job: Job<StripeWebhookJobData>): Promise<void>;
41
45
  private handleEvent;
42
46
  private handleSubscriptionEvent;
47
+ private handleTrialWillEndEvent;
43
48
  private handleInvoiceEvent;
44
49
  private handleCustomerEvent;
45
50
  private handlePaymentIntentEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-webhook.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/processors/stripe-webhook.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,uEAAuE,CAAC;AACrH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sEAAsE,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AAEnG,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,qBACa,sBAAuB,SAAQ,UAAU;IAElD,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAC7C,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAZN,4BAA4B,EAAE,4BAA4B,EAC1D,mBAAmB,EAAE,8BAA8B,EACnD,wBAAwB,EAAE,wBAAwB,EAClD,sBAAsB,EAAE,4BAA4B,EACpD,uBAAuB,EAAE,uBAAuB,EAChD,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,gCAAgC,EACrD,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,yBAAyB,EAAE,yBAAyB,EACpD,MAAM,EAAE,iBAAiB;IAM5C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC;IAKvC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC;IAOtC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC;IAIpC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YA+B9C,WAAW;YAgCX,uBAAuB;YAqHvB,kBAAkB;YAqIlB,mBAAmB;YA2BnB,wBAAwB;CAuIvC"}
1
+ {"version":3,"file":"stripe-webhook.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/processors/stripe-webhook.processor.ts"],"names":[],"mappings":"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"}
@@ -12,22 +12,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StripeWebhookProcessor = void 0;
13
13
  const bullmq_1 = require("@nestjs/bullmq");
14
14
  const bullmq_2 = require("bullmq");
15
+ const nestjs_cls_1 = require("nestjs-cls");
15
16
  const queue_id_1 = require("../../../config/enums/queue.id");
16
17
  const logging_1 = require("../../../core/logging");
18
+ const websocket_service_1 = require("../../../core/websocket/services/websocket.service");
17
19
  const company_repository_1 = require("../../company/repositories/company.repository");
18
20
  const stripe_customer_repository_1 = require("../../stripe-customer/repositories/stripe-customer.repository");
19
21
  const stripe_invoice_repository_1 = require("../../stripe-invoice/repositories/stripe-invoice.repository");
22
+ const stripe_invoice_admin_service_1 = require("../../stripe-invoice/services/stripe-invoice-admin.service");
20
23
  const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
21
24
  const stripe_subscription_repository_1 = require("../../stripe-subscription/repositories/stripe-subscription.repository");
22
- const stripe_subscription_admin_service_1 = require("../../stripe-subscription/services/stripe-subscription-admin.service");
23
25
  const feature_sync_service_1 = require("../../stripe-subscription/services/feature-sync.service");
26
+ const stripe_subscription_admin_service_1 = require("../../stripe-subscription/services/stripe-subscription-admin.service");
24
27
  const token_allocation_service_1 = require("../../stripe-subscription/services/token-allocation.service");
25
28
  const stripe_service_1 = require("../../stripe/services/stripe.service");
26
- const stripe_invoice_admin_service_1 = require("../../stripe-invoice/services/stripe-invoice-admin.service");
27
29
  const stripe_webhook_event_repository_1 = require("../repositories/stripe-webhook-event.repository");
28
30
  const stripe_webhook_notification_service_1 = require("../services/stripe-webhook-notification.service");
29
31
  let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.WorkerHost {
30
- constructor(stripeWebhookEventRepository, subscriptionService, stripeCustomerRepository, subscriptionRepository, stripeInvoiceRepository, stripePriceRepository, notificationService, tokenAllocationService, featureSyncService, stripeService, companyRepository, stripeInvoiceAdminService, logger) {
32
+ constructor(stripeWebhookEventRepository, subscriptionService, stripeCustomerRepository, subscriptionRepository, stripeInvoiceRepository, stripePriceRepository, notificationService, tokenAllocationService, featureSyncService, stripeService, companyRepository, stripeInvoiceAdminService, logger, cls, webSocketService) {
31
33
  super();
32
34
  this.stripeWebhookEventRepository = stripeWebhookEventRepository;
33
35
  this.subscriptionService = subscriptionService;
@@ -42,6 +44,8 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
42
44
  this.companyRepository = companyRepository;
43
45
  this.stripeInvoiceAdminService = stripeInvoiceAdminService;
44
46
  this.logger = logger;
47
+ this.cls = cls;
48
+ this.webSocketService = webSocketService;
45
49
  }
46
50
  onActive(job) {
47
51
  this.logger.debug(`Processing webhook ${job.data.eventType} (ID: ${job.data.stripeEventId})`);
@@ -54,29 +58,32 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
54
58
  }
55
59
  async process(job) {
56
60
  const { webhookEventId, eventType, payload } = job.data;
57
- try {
58
- await this.stripeWebhookEventRepository.updateStatus({
59
- id: webhookEventId,
60
- status: "processing",
61
- });
62
- await this.handleEvent(eventType, payload);
63
- await this.stripeWebhookEventRepository.updateStatus({
64
- id: webhookEventId,
65
- status: "completed",
66
- processedAt: new Date(),
67
- });
68
- }
69
- catch (error) {
70
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
71
- this.logger.error(`Failed to process webhook ${eventType}: ${errorMessage}`);
72
- await this.stripeWebhookEventRepository.updateStatus({
73
- id: webhookEventId,
74
- status: "failed",
75
- error: errorMessage,
76
- incrementRetryCount: true,
77
- });
78
- throw error;
79
- }
61
+ // Wrap in CLS context for repository operations that require it
62
+ await this.cls.run(async () => {
63
+ try {
64
+ await this.stripeWebhookEventRepository.updateStatus({
65
+ id: webhookEventId,
66
+ status: "processing",
67
+ });
68
+ await this.handleEvent(eventType, payload);
69
+ await this.stripeWebhookEventRepository.updateStatus({
70
+ id: webhookEventId,
71
+ status: "completed",
72
+ processedAt: new Date(),
73
+ });
74
+ }
75
+ catch (error) {
76
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
77
+ this.logger.error(`Failed to process webhook ${eventType}: ${errorMessage}`);
78
+ await this.stripeWebhookEventRepository.updateStatus({
79
+ id: webhookEventId,
80
+ status: "failed",
81
+ error: errorMessage,
82
+ incrementRetryCount: true,
83
+ });
84
+ throw error;
85
+ }
86
+ });
80
87
  }
81
88
  async handleEvent(eventType, payload) {
82
89
  switch (eventType) {
@@ -85,6 +92,9 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
85
92
  case "customer.subscription.deleted":
86
93
  await this.handleSubscriptionEvent(payload);
87
94
  break;
95
+ case "customer.subscription.trial_will_end":
96
+ await this.handleTrialWillEndEvent(payload);
97
+ break;
88
98
  case "invoice.created":
89
99
  case "invoice.finalized":
90
100
  case "invoice.updated":
@@ -112,6 +122,7 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
112
122
  });
113
123
  // Get current price ID from Stripe subscription
114
124
  const currentStripePriceId = subscription.items?.data?.[0]?.price?.id;
125
+ const priceAmount = subscription.items?.data?.[0]?.price?.unit_amount;
115
126
  // Sync subscription from Stripe
116
127
  await this.subscriptionService.syncSubscriptionFromStripe({
117
128
  stripeSubscriptionId: subscription.id,
@@ -131,25 +142,98 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
131
142
  // NOTE: We do NOT mark isActiveSubscription=true here based on subscription status.
132
143
  // The subscription should only be marked active when payment is confirmed (invoice.paid).
133
144
  // The TokenAllocationService.allocateTokensOnPayment handles setting isActiveSubscription=true.
134
- if (subscription.status === "canceled") {
145
+ // Handle subscription end states: canceled, past_due, unpaid, incomplete_expired
146
+ const isEndState = ["canceled", "past_due", "unpaid", "incomplete_expired"].includes(subscription.status);
147
+ // Detect trial-to-active transition with $0 price (trial ended without valid paid subscription)
148
+ // When a trial ends with a $0 price, Stripe transitions status from 'trialing' to 'active'
149
+ // but this doesn't represent a valid paid subscription - it's just the trial ending
150
+ const wasTrialing = previousSubscription?.status === "trialing";
151
+ const isNowActive = subscription.status === "active";
152
+ const isTrialEndedWithoutPayment = wasTrialing && isNowActive && (priceAmount === 0 || priceAmount === null || priceAmount === undefined);
153
+ // Deactivate subscription if it's an end state OR if trial ended without valid payment
154
+ const shouldDeactivate = isEndState || isTrialEndedWithoutPayment;
155
+ const deactivationReason = isEndState ? subscription.status : "trial_ended_without_payment";
156
+ if (shouldDeactivate) {
135
157
  await this.companyRepository.markSubscriptionStatus({
136
158
  companyId: company.id,
137
159
  isActiveSubscription: false,
138
160
  });
139
- this.logger.debug(`Company ${company.id} subscription marked inactive (canceled)`);
161
+ this.logger.log(`Company ${company.id} subscription marked inactive (reason: ${deactivationReason})`);
162
+ // Reset tokens to 0
163
+ await this.companyRepository.updateTokens({
164
+ companyId: company.id,
165
+ monthlyTokens: 0,
166
+ availableMonthlyTokens: 0,
167
+ });
168
+ this.logger.log(`Company ${company.id} tokens reset to 0 (reason: ${deactivationReason})`);
140
169
  // Remove features (non-blocking, smart removal)
141
170
  try {
142
171
  const featureResult = await this.featureSyncService.removeFeaturesOnSubscriptionEnd({
143
172
  stripeSubscriptionId: subscription.id,
144
173
  });
145
- if (featureResult.success && featureResult.featuresRemoved?.length) {
146
- this.logger.debug(`Feature removal: ${featureResult.featuresRemoved.length} features removed for subscription ${subscription.id}`);
147
- }
174
+ this.logger.log(`Feature removal for subscription ${subscription.id}: ` +
175
+ `${featureResult.featuresRemoved?.length ?? 0} features removed (reason: ${deactivationReason})`);
148
176
  }
149
177
  catch (error) {
150
178
  this.logger.error(`Feature removal failed for ${subscription.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
151
179
  // Don't throw - feature removal failure should not fail webhook
152
180
  }
181
+ // Send trial ended notification (only for trial expirations, not other end states)
182
+ if (isTrialEndedWithoutPayment) {
183
+ const trialEndDate = subscription.trial_end ? new Date(subscription.trial_end * 1000) : new Date();
184
+ // Schedule company deletion
185
+ try {
186
+ await this.companyRepository.scheduleCompanyDeletion({
187
+ companyId: company.id,
188
+ endDate: trialEndDate,
189
+ reason: "trial_expired",
190
+ });
191
+ this.logger.log(`Scheduled deletion for company ${company.id} (trial_expired)`);
192
+ }
193
+ catch (error) {
194
+ this.logger.error(`Failed to schedule deletion for ${company.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
195
+ // Don't throw - deletion scheduling failure shouldn't block webhook processing
196
+ }
197
+ // Send trial ended notification
198
+ try {
199
+ await this.notificationService.sendTrialEndedEmail({
200
+ stripeCustomerId,
201
+ stripeSubscriptionId: subscription.id,
202
+ companyName: company.name ?? "Your company",
203
+ trialEndDate,
204
+ });
205
+ }
206
+ catch (error) {
207
+ this.logger.error(`Failed to send trial ended notification for ${subscription.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
208
+ // Don't throw - notification failure shouldn't block webhook processing
209
+ }
210
+ }
211
+ // Send WebSocket to refresh frontend after subscription deactivation
212
+ try {
213
+ await this.webSocketService.sendMessageToCompany(company.id, "company:subscription_updated", {
214
+ type: "company:subscription_updated",
215
+ companyId: company.id,
216
+ });
217
+ }
218
+ catch (error) {
219
+ this.logger.error(`WebSocket notification failed for company ${company.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
220
+ // Don't throw - WebSocket failure should not fail webhook
221
+ }
222
+ // Schedule company deletion for subscription cancellation (not trial expiry)
223
+ if (isEndState && subscription.status === "canceled") {
224
+ try {
225
+ await this.companyRepository.scheduleCompanyDeletion({
226
+ companyId: company.id,
227
+ endDate: new Date(),
228
+ reason: "subscription_cancelled",
229
+ });
230
+ this.logger.log(`Scheduled deletion for company ${company.id} (subscription_cancelled)`);
231
+ }
232
+ catch (error) {
233
+ this.logger.error(`Failed to schedule deletion for ${company.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
234
+ // Don't throw - deletion scheduling failure shouldn't block webhook processing
235
+ }
236
+ }
153
237
  }
154
238
  }
155
239
  else {
@@ -199,6 +283,30 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
199
283
  }
200
284
  }
201
285
  }
286
+ async handleTrialWillEndEvent(subscription) {
287
+ const stripeCustomerId = typeof subscription.customer === "string" ? subscription.customer : subscription.customer?.id;
288
+ if (!stripeCustomerId) {
289
+ this.logger.warn(`Trial ending subscription ${subscription.id} has no customer ID`);
290
+ return;
291
+ }
292
+ const trialEnd = subscription.trial_end;
293
+ if (!trialEnd) {
294
+ this.logger.warn(`Trial ending subscription ${subscription.id} has no trial_end date`);
295
+ return;
296
+ }
297
+ this.logger.log(`Trial ending in 3 days for subscription ${subscription.id} (customer: ${stripeCustomerId})`);
298
+ // Send reminder notification (non-blocking)
299
+ try {
300
+ await this.notificationService.sendTrialEndingReminderEmail({
301
+ stripeCustomerId,
302
+ stripeSubscriptionId: subscription.id,
303
+ trialEndDate: new Date(trialEnd * 1000),
304
+ });
305
+ }
306
+ catch (error) {
307
+ this.logger.error(`Failed to send trial ending reminder for ${subscription.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
308
+ }
309
+ }
202
310
  async handleInvoiceEvent(eventType, invoice) {
203
311
  // Sync invoice from Stripe for all invoice events (creates or updates)
204
312
  await this.stripeInvoiceAdminService.syncInvoiceFromStripe({
@@ -279,10 +387,12 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
279
387
  // Don't throw - token allocation failure should not fail webhook processing
280
388
  }
281
389
  // Sync features (non-blocking)
390
+ let featureSyncCompanyId;
282
391
  try {
283
392
  const featureResult = await this.featureSyncService.syncFeaturesOnPayment({
284
393
  stripeSubscriptionId: subscriptionId,
285
394
  });
395
+ featureSyncCompanyId = featureResult.companyId;
286
396
  if (featureResult.success && featureResult.featuresAdded?.length) {
287
397
  this.logger.debug(`Feature sync: ${featureResult.featuresAdded.length} features added for subscription ${subscriptionId}`);
288
398
  }
@@ -291,26 +401,54 @@ let StripeWebhookProcessor = class StripeWebhookProcessor extends bullmq_1.Worke
291
401
  this.logger.error(`Feature sync failed for ${subscriptionId}: ${error instanceof Error ? error.message : "Unknown error"}`);
292
402
  // Don't throw - feature sync failure should not fail webhook
293
403
  }
294
- // Send payment success notifications (non-blocking)
295
- try {
296
- await this.notificationService.sendPaymentSuccessToCompanyAdmins({
297
- stripeCustomerId,
298
- stripeInvoiceId: invoice.id,
299
- amount: invoice.amount_paid / 100, // Convert cents to dollars
300
- currency: invoice.currency,
301
- isOneTimePurchase: false,
302
- });
303
- await this.notificationService.sendPaymentSuccessToPlatformAdmins({
304
- stripeCustomerId,
305
- stripeInvoiceId: invoice.id,
306
- amount: invoice.amount_paid / 100,
307
- currency: invoice.currency,
308
- isOneTimePurchase: false,
309
- });
404
+ // Send WebSocket to refresh frontend after feature sync
405
+ if (featureSyncCompanyId) {
406
+ try {
407
+ await this.webSocketService.sendMessageToCompany(featureSyncCompanyId, "company:subscription_updated", {
408
+ type: "company:subscription_updated",
409
+ companyId: featureSyncCompanyId,
410
+ });
411
+ }
412
+ catch (error) {
413
+ this.logger.error(`WebSocket notification failed for company ${featureSyncCompanyId}: ${error instanceof Error ? error.message : "Unknown error"}`);
414
+ // Don't throw - WebSocket failure should not fail webhook
415
+ }
416
+ // Clear any pending deletion schedule (user resubscribed)
417
+ try {
418
+ const company = await this.companyRepository.findByCompanyId({ companyId: featureSyncCompanyId });
419
+ if (company?.scheduledDeletionAt) {
420
+ await this.companyRepository.clearDeletionSchedule({ companyId: featureSyncCompanyId });
421
+ this.logger.log(`Cleared deletion schedule for company ${featureSyncCompanyId} (payment received)`);
422
+ }
423
+ }
424
+ catch (error) {
425
+ this.logger.error(`Failed to clear deletion schedule for ${featureSyncCompanyId}: ${error instanceof Error ? error.message : "Unknown error"}`);
426
+ // Don't throw - deletion schedule clear failure should not fail webhook
427
+ }
310
428
  }
311
- catch (error) {
312
- this.logger.error(`Failed to send payment success notifications for invoice ${invoice.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
313
- // Don't throw - notification failure should not fail webhook processing
429
+ // Send payment success notifications (non-blocking)
430
+ // Skip for $0 invoices (trials, free tiers)
431
+ if (invoice.amount_paid > 0) {
432
+ try {
433
+ await this.notificationService.sendPaymentSuccessToCompanyAdmins({
434
+ stripeCustomerId,
435
+ stripeInvoiceId: invoice.id,
436
+ amount: invoice.amount_paid / 100, // Convert cents to dollars
437
+ currency: invoice.currency,
438
+ isOneTimePurchase: false,
439
+ });
440
+ await this.notificationService.sendPaymentSuccessToPlatformAdmins({
441
+ stripeCustomerId,
442
+ stripeInvoiceId: invoice.id,
443
+ amount: invoice.amount_paid / 100,
444
+ currency: invoice.currency,
445
+ isOneTimePurchase: false,
446
+ });
447
+ }
448
+ catch (error) {
449
+ this.logger.error(`Failed to send payment success notifications for invoice ${invoice.id}: ${error instanceof Error ? error.message : "Unknown error"}`);
450
+ // Don't throw - notification failure should not fail webhook processing
451
+ }
314
452
  }
315
453
  }
316
454
  }
@@ -478,6 +616,8 @@ exports.StripeWebhookProcessor = StripeWebhookProcessor = __decorate([
478
616
  stripe_service_1.StripeService,
479
617
  company_repository_1.CompanyRepository,
480
618
  stripe_invoice_admin_service_1.StripeInvoiceAdminService,
481
- logging_1.AppLoggingService])
619
+ logging_1.AppLoggingService,
620
+ nestjs_cls_1.ClsService,
621
+ websocket_service_1.WebSocketService])
482
622
  ], StripeWebhookProcessor);
483
623
  //# sourceMappingURL=stripe-webhook.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-webhook.processor.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/processors/stripe-webhook.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-webhook.processor.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/processors/stripe-webhook.processor.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,17 @@ export interface StripeWebhookPaymentSuccessNotificationParams {
22
22
  companyName?: string;
23
23
  isOneTimePurchase?: boolean;
24
24
  }
25
+ export interface StripeWebhookTrialEndingNotificationParams {
26
+ stripeCustomerId: string;
27
+ stripeSubscriptionId: string;
28
+ trialEndDate: Date;
29
+ }
30
+ export interface StripeWebhookTrialEndedNotificationParams {
31
+ stripeCustomerId: string;
32
+ stripeSubscriptionId: string;
33
+ companyName: string;
34
+ trialEndDate: Date;
35
+ }
25
36
  /**
26
37
  * StripeWebhookNotificationService
27
38
  *
@@ -62,5 +73,32 @@ export declare class StripeWebhookNotificationService {
62
73
  * Minimal details: company name and amount only
63
74
  */
64
75
  sendPaymentSuccessToPlatformAdmins(params: StripeWebhookPaymentSuccessNotificationParams): Promise<void>;
76
+ /**
77
+ * Send trial ending reminder to company admins
78
+ * Sent 3 days before trial expires
79
+ */
80
+ sendTrialEndingReminderEmail(params: StripeWebhookTrialEndingNotificationParams): Promise<void>;
81
+ /**
82
+ * Send trial ended notification to company admins
83
+ * Sent when trial expires without payment, warning about 30-day data removal
84
+ */
85
+ sendTrialEndedEmail(params: StripeWebhookTrialEndedNotificationParams): Promise<void>;
86
+ /**
87
+ * Send deletion warning email to all company admins
88
+ * Context-aware: shows different message for trial_expired vs subscription_cancelled
89
+ */
90
+ sendDeletionWarningEmail(params: {
91
+ companyId: string;
92
+ daysRemaining: number;
93
+ deletionDate: Date;
94
+ reason: "trial_expired" | "subscription_cancelled";
95
+ }): Promise<void>;
96
+ /**
97
+ * Send subscription cancelled email with 30-day data removal warning
98
+ */
99
+ sendSubscriptionCancelledEmail(params: {
100
+ companyId: string;
101
+ dataRemovalDate: Date;
102
+ }): Promise<void>;
65
103
  }
66
104
  //# sourceMappingURL=stripe-webhook-notification.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-webhook-notification.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/services/stripe-webhook-notification.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,6CAA6C;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6CAA6C;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,qBACa,gCAAgC;IAEb,OAAO,CAAC,QAAQ,CAAC,UAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBANsB,UAAU,EAAE,KAAK,EAC7C,wBAAwB,EAAE,wBAAwB,EAClD,uBAAuB,EAAE,uBAAuB,EAChD,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,iBAAiB;IAG5C;;OAEG;IACG,sBAAsB,CAAC,MAAM,EAAE,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDlG;;OAEG;IACG,iCAAiC,CACrC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAsChB;;;OAGG;IACG,iCAAiC,CAAC,MAAM,EAAE,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D7G;;;OAGG;IACG,kCAAkC,CAAC,MAAM,EAAE,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC;CA8D/G"}
1
+ {"version":3,"file":"stripe-webhook-notification.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-webhook/services/stripe-webhook-notification.service.ts"],"names":[],"mappings":"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"}