mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-28 19:41:33 +02:00
alpha and beta program user properties GitOrigin-RevId: 633a61df83dd8206e780f67c85dd3403902f00f2
32 lines
845 B
JavaScript
32 lines
845 B
JavaScript
const { callbackify } = require('util')
|
|
const metrics = require('@overleaf/metrics')
|
|
const UserUpdater = require('../User/UserUpdater')
|
|
const AnalyticsManager = require('../Analytics/AnalyticsManager')
|
|
|
|
async function optIn(userId) {
|
|
await UserUpdater.promises.updateUser(userId, { $set: { betaProgram: true } })
|
|
metrics.inc('beta-program.opt-in')
|
|
AnalyticsManager.setUserPropertyForUser(userId, 'beta-program', true)
|
|
}
|
|
|
|
async function optOut(userId) {
|
|
await UserUpdater.promises.updateUser(userId, {
|
|
$set: { betaProgram: false },
|
|
})
|
|
metrics.inc('beta-program.opt-out')
|
|
AnalyticsManager.setUserPropertyForUser(userId, 'beta-program', false)
|
|
}
|
|
|
|
const BetaProgramHandler = {
|
|
optIn: callbackify(optIn),
|
|
|
|
optOut: callbackify(optOut),
|
|
}
|
|
|
|
BetaProgramHandler.promises = {
|
|
optIn,
|
|
optOut,
|
|
}
|
|
|
|
module.exports = BetaProgramHandler
|