Add AI assist subscription check in WritefullManager (#24428)

* Add AI assist subscription check when updating subscription in WritefullManager

* move AI assist check in WritefullController

GitOrigin-RevId: 0327e1c19e14e554fb707dc1d2840b7147bdf1d1
This commit is contained in:
Domagoj Kriskovic
2025-04-02 12:27:34 +02:00
committed by Copybot
parent c3e34f8850
commit 4e27add5b7

View File

@@ -2,6 +2,10 @@ const { callbackifyAll } = require('@overleaf/promise-utils')
const { Subscription } = require('../../models/Subscription')
const { DeletedSubscription } = require('../../models/DeletedSubscription')
const logger = require('@overleaf/logger')
const {
AI_ADD_ON_CODE,
isStandaloneAiAddOnPlanCode,
} = require('./RecurlyEntities')
require('./GroupPlansData') // make sure dynamic group plans are loaded
const SubscriptionLocator = {
@@ -114,6 +118,15 @@ const SubscriptionLocator = {
}).exec()
},
async hasAiAssist(userOrId) {
const userId = SubscriptionLocator._getUserId(userOrId)
const subscription = await Subscription.findOne({ admin_id: userId }).exec()
return Boolean(
isStandaloneAiAddOnPlanCode(subscription?.planCode) ||
subscription?.addOns?.some(addOn => addOn.code === AI_ADD_ON_CODE)
)
},
_getUserId(userOrId) {
if (userOrId && userOrId._id) {
return userOrId._id