mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 22:23:42 +01:00
Merge pull request #34534 from overleaf/rh-rm-recurly
[web] Remove conditional Recurly checkout page GitOrigin-RevId: 5bb773080bba682628f0f5428c72b7dff75b6015
This commit is contained in:
@@ -9,7 +9,6 @@ import SubscriptionUpdater from './SubscriptionUpdater.mjs'
|
||||
import LimitationsManager from './LimitationsManager.mjs'
|
||||
import EmailHandler from '../Email/EmailHandler.mjs'
|
||||
import { callbackify } from '@overleaf/promise-utils'
|
||||
import UserUpdater from '../User/UserUpdater.mjs'
|
||||
import Modules from '../../infrastructure/Modules.mjs'
|
||||
import { AI_ADD_ON_CODE } from './AiHelper.mjs'
|
||||
import CustomerIoPlanHelpers from './CustomerIoPlanHelpers.mjs'
|
||||
@@ -20,61 +19,6 @@ import AiFeatureUsageRateLimiter from '../../infrastructure/rate-limiters/AiFeat
|
||||
* @import { PaymentProviderSubscriptionChange } from './PaymentProviderEntities.mjs'
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {any} userId
|
||||
*/
|
||||
async function validateNoSubscriptionInRecurly(userId) {
|
||||
let subscriptions =
|
||||
await RecurlyWrapper.promises.listAccountActiveSubscriptions(userId)
|
||||
|
||||
if (!subscriptions) {
|
||||
subscriptions = []
|
||||
}
|
||||
|
||||
if (subscriptions.length > 0) {
|
||||
await SubscriptionUpdater.promises.syncSubscription(
|
||||
subscriptions[0],
|
||||
userId
|
||||
)
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {any} user
|
||||
* @param {any} subscriptionDetails
|
||||
* @param {any} recurlyTokenIds
|
||||
*/
|
||||
async function createSubscription(user, subscriptionDetails, recurlyTokenIds) {
|
||||
const valid = await validateNoSubscriptionInRecurly(user._id)
|
||||
|
||||
if (!valid) {
|
||||
throw new Error('user already has subscription in recurly')
|
||||
}
|
||||
|
||||
const recurlySubscription = await RecurlyWrapper.promises.createSubscription(
|
||||
user,
|
||||
subscriptionDetails,
|
||||
recurlyTokenIds
|
||||
)
|
||||
|
||||
if (recurlySubscription.trial_started_at) {
|
||||
const trialStartedAt = new Date(recurlySubscription.trial_started_at)
|
||||
await UserUpdater.promises.updateUser(
|
||||
{ _id: user._id, lastTrial: { $not: { $gt: trialStartedAt } } },
|
||||
{ $set: { lastTrial: trialStartedAt } }
|
||||
)
|
||||
}
|
||||
|
||||
await SubscriptionUpdater.promises.syncSubscription(
|
||||
recurlySubscription,
|
||||
user._id
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Preview the effect of changing the subscription plan
|
||||
*
|
||||
@@ -431,8 +375,6 @@ async function pauseSubscription(user, pauseCycles) {
|
||||
}
|
||||
|
||||
export default {
|
||||
validateNoSubscriptionInRecurly: callbackify(validateNoSubscriptionInRecurly),
|
||||
createSubscription: callbackify(createSubscription),
|
||||
previewSubscriptionChange: callbackify(previewSubscriptionChange),
|
||||
updateSubscription: callbackify(updateSubscription),
|
||||
cancelPendingSubscriptionChange: callbackify(cancelPendingSubscriptionChange),
|
||||
@@ -448,8 +390,6 @@ export default {
|
||||
pauseSubscription: callbackify(pauseSubscription),
|
||||
resumeSubscription: callbackify(resumeSubscription),
|
||||
promises: {
|
||||
validateNoSubscriptionInRecurly,
|
||||
createSubscription,
|
||||
previewSubscriptionChange,
|
||||
updateSubscription,
|
||||
cancelPendingSubscriptionChange,
|
||||
|
||||
Reference in New Issue
Block a user