| 1234567891011121314151617181920212223242526272829303132333435 |
- import { callbackify } from 'util'
- import metrics from '@overleaf/metrics'
- import UserUpdater from '../User/UserUpdater.js'
- import AnalyticsManager from '../Analytics/AnalyticsManager.js'
- async function optIn(userId) {
- await UserUpdater.promises.updateUser(userId, { $set: { betaProgram: true } })
- metrics.inc('beta-program.opt-in')
- AnalyticsManager.setUserPropertyForUserInBackground(
- userId,
- 'beta-program',
- true
- )
- }
- async function optOut(userId) {
- await UserUpdater.promises.updateUser(userId, {
- $set: { betaProgram: false },
- })
- metrics.inc('beta-program.opt-out')
- AnalyticsManager.setUserPropertyForUserInBackground(
- userId,
- 'beta-program',
- false
- )
- }
- export default {
- optIn: callbackify(optIn),
- optOut: callbackify(optOut),
- promises: {
- optIn,
- optOut,
- },
- }
|