mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
* [web] always provide an analyticsId when registering new users * [web] add recordEventForMongoUser and use it during login * [web] use recordEventForMongoUser/recordEventForSession where possible * [web] use session cache for analyticsId when refreshing features * [web] add setUserPropertyForMongoUser and use it where possible * [web] use setUserPropertyForSessionInBackground where possible * [web] use mongo user for analyticsId when setting utm user properties * [web] admin-panel: user updated user when sending events * [web] enforce labsProgram being populated on user object Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com> * [web] revert FeaturesUpdater.refreshFeatures change * [web] labs: move session maintenance into handler * [web] analyticsMiddleware: ensure that all users have labsProgram field * [web] migrate a few more events to recordEventForSession * [migrations] mark back-fill of db.users.analyticsId as required * [web] setUserPropertyForSessionInBackground: throw early --------- Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com> GitOrigin-RevId: 19c26bc36abd8c11f0a8f458d25abfb7cbda0bb7
21 lines
380 B
JavaScript
21 lines
380 B
JavaScript
import { batchedUpdate } from '@overleaf/mongo-utils/batchedUpdate.js'
|
|
|
|
const tags = ['server-ce', 'server-pro', 'saas']
|
|
|
|
const migrate = async client => {
|
|
const { db } = client
|
|
await batchedUpdate(
|
|
db.users,
|
|
{ labsProgram: { $ne: true } },
|
|
{ $set: { labsProgram: false } }
|
|
)
|
|
}
|
|
|
|
const rollback = async () => {}
|
|
|
|
export default {
|
|
tags,
|
|
migrate,
|
|
rollback,
|
|
}
|