From 5730fb993a01c9d824581b69835b5ad5cac773bc Mon Sep 17 00:00:00 2001 From: Liangjun Song <146005915+adai26@users.noreply.github.com> Date: Thu, 13 Nov 2025 14:14:46 +0000 Subject: [PATCH] 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 --- .../Subscription/TeamInvitesHandler.mjs | 20 +++++++------------ .../Subscription/TeamInvitesHandler.test.mjs | 5 +++-- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/services/web/app/src/Features/Subscription/TeamInvitesHandler.mjs b/services/web/app/src/Features/Subscription/TeamInvitesHandler.mjs index 79d6aac79a..e7d0240eb1 100644 --- a/services/web/app/src/Features/Subscription/TeamInvitesHandler.mjs +++ b/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 { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils' import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs' -import RecurlyClient from './RecurlyClient.mjs' const { ObjectId } = mongodb @@ -78,18 +77,13 @@ async function _deleteUserSubscription(subscription, userId, ipAddress) { 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' + ) } } diff --git a/services/web/test/unit/src/Subscription/TeamInvitesHandler.test.mjs b/services/web/test/unit/src/Subscription/TeamInvitesHandler.test.mjs index 5b29772134..9167cdfffb 100644 --- a/services/web/test/unit/src/Subscription/TeamInvitesHandler.test.mjs +++ b/services/web/test/unit/src/Subscription/TeamInvitesHandler.test.mjs @@ -499,8 +499,9 @@ describe('TeamInvitesHandler', function () { { id: ctx.user.id, ip: ctx.ipAddress } ) sinon.assert.calledWith( - ctx.RecurlyClient.promises.terminateSubscriptionByUuid, - ctx.user_subscription.recurlySubscription_id + ctx.Modules.promises.hooks.fire, + 'terminateSubscription', + ctx.user_subscription ) sinon.assert.calledWith( ctx.Modules.promises.hooks.fire,