Kaynağa Gözat

Merge pull request #29459 from overleaf/ls-support-stripe-subscription-when-accepting-group-invite

Support Stripe subscription when accepting group invite from managed group

GitOrigin-RevId: 8b374bd35926a3c074e20bbe45bd6625cc6ba99f
Liangjun Song 11 ay önce
ebeveyn
işleme
5730fb993a

+ 7 - 13
services/web/app/src/Features/Subscription/TeamInvitesHandler.mjs

@@ -14,7 +14,6 @@ import EmailHelper from '../Helpers/EmailHelper.js'
 import Errors from '../Errors/Errors.js'
 import Errors from '../Errors/Errors.js'
 import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
 import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
 import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
 import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
-import RecurlyClient from './RecurlyClient.mjs'
 
 
 const { ObjectId } = mongodb
 const { ObjectId } = mongodb
 
 
@@ -78,18 +77,13 @@ async function _deleteUserSubscription(subscription, userId, ipAddress) {
     deleterData
     deleterData
   )
   )
 
 
-  // Terminate the subscription in Recurly
-  if (subscription.recurlySubscription_id) {
-    try {
-      await RecurlyClient.promises.terminateSubscriptionByUuid(
-        subscription.recurlySubscription_id
-      )
-    } catch (err) {
-      logger.error(
-        { err, subscriptionId: subscription._id },
-        'terminating subscription failed'
-      )
-    }
+  try {
+    await Modules.promises.hooks.fire('terminateSubscription', subscription)
+  } catch (err) {
+    logger.error(
+      { err, subscriptionId: subscription._id },
+      'terminating subscription failed'
+    )
   }
   }
 }
 }
 
 

+ 3 - 2
services/web/test/unit/src/Subscription/TeamInvitesHandler.test.mjs

@@ -499,8 +499,9 @@ describe('TeamInvitesHandler', function () {
           { id: ctx.user.id, ip: ctx.ipAddress }
           { id: ctx.user.id, ip: ctx.ipAddress }
         )
         )
         sinon.assert.calledWith(
         sinon.assert.calledWith(
-          ctx.RecurlyClient.promises.terminateSubscriptionByUuid,
-          ctx.user_subscription.recurlySubscription_id
+          ctx.Modules.promises.hooks.fire,
+          'terminateSubscription',
+          ctx.user_subscription
         )
         )
         sinon.assert.calledWith(
         sinon.assert.calledWith(
           ctx.Modules.promises.hooks.fire,
           ctx.Modules.promises.hooks.fire,