Files
overleaf-cep/services/web/app/src/Features/BetaProgram/BetaProgramHandler.js
Jessica Lawshe 21514418e5 Merge pull request #14881 from overleaf/ab-beta-program-async-await
[web] Convert BetaProgramController to async/await

GitOrigin-RevId: 2423cb00b78b2f3fddb7bcd317d34ed4dbc12b95
2023-10-25 08:05:03 +00:00

28 lines
785 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)
}
module.exports = {
optIn: callbackify(optIn),
optOut: callbackify(optOut),
promises: {
optIn,
optOut,
},
}