Переглянути джерело

fix(auth): add renewal for shared offline subscriptions

Karol Sójko 1 рік тому
батько
коміт
045358ddbf

+ 13 - 0
packages/auth/src/Domain/Handler/SubscriptionPurchasedEventHandler.ts

@@ -34,6 +34,19 @@ export class SubscriptionPurchasedEventHandler implements DomainEventHandlerInte
         event.payload.timestamp,
       )
 
+      const renewalResult = await this.renewSharedSubscriptions.execute({
+        inviterEmail: event.payload.userEmail,
+        newSubscriptionId: event.payload.subscriptionId,
+        newSubscriptionName: event.payload.subscriptionName,
+        newSubscriptionExpiresAt: event.payload.subscriptionExpiresAt,
+        timestamp: event.payload.timestamp,
+      })
+      if (renewalResult.isFailed()) {
+        this.logger.error(`Could not renew shared offline subscriptions: ${renewalResult.getError()}`, {
+          subscriptionId: event.payload.subscriptionId,
+        })
+      }
+
       await this.roleService.setOfflineUserRole(offlineUserSubscription)
 
       return

+ 13 - 0
packages/auth/src/Domain/Handler/SubscriptionSyncRequestedEventHandler.ts

@@ -51,6 +51,19 @@ export class SubscriptionSyncRequestedEventHandler implements DomainEventHandler
         event.payload.timestamp,
       )
 
+      const renewalResult = await this.renewSharedSubscriptions.execute({
+        inviterEmail: event.payload.userEmail,
+        newSubscriptionId: event.payload.subscriptionId,
+        newSubscriptionName: event.payload.subscriptionName,
+        newSubscriptionExpiresAt: event.payload.subscriptionExpiresAt,
+        timestamp: event.payload.timestamp,
+      })
+      if (renewalResult.isFailed()) {
+        this.logger.error(`Could not renew shared offline subscriptions for user: ${renewalResult.getError()}`, {
+          subscriptionId: event.payload.subscriptionId,
+        })
+      }
+
       await this.roleService.setOfflineUserRole(offlineUserSubscription)
 
       const offlineFeaturesTokenDecoded = this.contentDecoder.decode(