Files
overleaf-cep/services/web/app/src/Features/BetaProgram/BetaProgramHandler.js
Alexandre Bourdin 98db86b8f0 Merge pull request #5348 from overleaf/ab-alpha-beta-properties
alpha and beta program user properties

GitOrigin-RevId: 633a61df83dd8206e780f67c85dd3403902f00f2
2021-10-06 08:03:26 +00:00

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