mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
* feat: migrate from aiErrorAssist naming for disabling AI features to aiFeatures.enabled to avoid confusion feat: keep aiErrorAssistant as setting on user object until migration is run * feat: migrate writefull.enabled unset to instead use promotionSet false * Update tools/migrations/20260213102825_swap_writefull_enabled_for_initialized.mjs Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com> * feat: addind backfill of ai features as a migration as well to help with dev environment setup --------- Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com> GitOrigin-RevId: fd3f0fc07c91678cd7fd1e0d5237221694b3027b
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
/* eslint-disable no-unused-vars */
|
|
|
|
import { batchedUpdate } from '@overleaf/mongo-utils/batchedUpdate.js'
|
|
|
|
const tags = ['saas']
|
|
|
|
const migrate = async client => {
|
|
const { db } = client
|
|
// Set aiFeatures.enabled to false where writefull.enabled is false
|
|
await batchedUpdate(
|
|
db.users,
|
|
{
|
|
'writefull.enabled': false,
|
|
// dont re-set in cases where we already set aiFeatures, ie: by running the script
|
|
'aiFeatures.enabled': { $exists: false },
|
|
},
|
|
{ $set: { 'aiFeatures.enabled': false } }
|
|
)
|
|
|
|
// Set aiFeatures.enabled to true for all other cases (true, null, or not exists)
|
|
await batchedUpdate(
|
|
db.users,
|
|
{
|
|
'writefull.enabled': { $ne: false },
|
|
// dont re-set in cases where we already set aiFeatures, ie: by running the script
|
|
'aiFeatures.enabled': { $exists: false },
|
|
},
|
|
{ $set: { 'aiFeatures.enabled': true } }
|
|
)
|
|
|
|
console.log(
|
|
'completed syncing rename of aiErrorAssist.enabled to aiFeatures.enabled'
|
|
)
|
|
}
|
|
|
|
const rollback = async client => {
|
|
const { db } = client
|
|
// unset the user.writefull.initialized value only if its been set
|
|
await batchedUpdate(
|
|
db.users,
|
|
{ 'aiFeatures.enabled': { $exists: true } },
|
|
{ $unset: { 'aiFeatures.enabled': 1 } }
|
|
)
|
|
console.log('completed rollback of aiFeatures.enabled migration')
|
|
}
|
|
|
|
export default {
|
|
tags,
|
|
migrate,
|
|
rollback,
|
|
}
|