mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-07 08:09:01 +02:00
Merge pull request #2974 from overleaf/jel-ns-user-projections-beta
Remove user projections in BetaProgramHandler GitOrigin-RevId: 88b7bc3b6f11ae9f8314543ee538c84d25cde7cd
This commit is contained in:
@@ -1,62 +1,28 @@
|
||||
/* eslint-disable
|
||||
camelcase,
|
||||
handle-callback-err,
|
||||
max-len,
|
||||
no-unused-vars,
|
||||
*/
|
||||
// TODO: This file was created by bulk-decaffeinate.
|
||||
// Fix any style issues and re-enable lint.
|
||||
/*
|
||||
* decaffeinate suggestions:
|
||||
* DS102: Remove unnecessary code created because of implicit returns
|
||||
* DS207: Consider shorter variations of null checks
|
||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||
*/
|
||||
let BetaProgramHandler
|
||||
const { User } = require('../../models/User')
|
||||
const logger = require('logger-sharelatex')
|
||||
const { callbackify } = require('util')
|
||||
const metrics = require('metrics-sharelatex')
|
||||
const UserUpdater = require('../User/UserUpdater')
|
||||
|
||||
module.exports = BetaProgramHandler = {
|
||||
optIn(user_id, callback) {
|
||||
if (callback == null) {
|
||||
callback = function(err) {}
|
||||
}
|
||||
return User.findById(user_id, function(err, user) {
|
||||
if (err) {
|
||||
logger.warn({ err, user_id }, 'problem adding user to beta')
|
||||
return callback(err)
|
||||
}
|
||||
metrics.inc('beta-program.opt-in')
|
||||
user.betaProgram = true
|
||||
return user.save(function(err) {
|
||||
if (err) {
|
||||
logger.warn({ err, user_id }, 'problem adding user to beta')
|
||||
return callback(err)
|
||||
}
|
||||
return callback(null)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
optOut(user_id, callback) {
|
||||
if (callback == null) {
|
||||
callback = function(err) {}
|
||||
}
|
||||
return User.findById(user_id, function(err, user) {
|
||||
if (err) {
|
||||
logger.warn({ err, user_id }, 'problem removing user from beta')
|
||||
return callback(err)
|
||||
}
|
||||
metrics.inc('beta-program.opt-out')
|
||||
user.betaProgram = false
|
||||
return user.save(function(err) {
|
||||
if (err) {
|
||||
logger.warn({ err, user_id }, 'problem removing user from beta')
|
||||
return callback(err)
|
||||
}
|
||||
return callback(null)
|
||||
})
|
||||
})
|
||||
}
|
||||
async function optIn(userId) {
|
||||
await UserUpdater.promises.updateUser(userId, { $set: { betaProgram: true } })
|
||||
metrics.inc('beta-program.opt-in')
|
||||
}
|
||||
|
||||
async function optOut(userId) {
|
||||
await UserUpdater.promises.updateUser(userId, {
|
||||
$set: { betaProgram: false }
|
||||
})
|
||||
metrics.inc('beta-program.opt-out')
|
||||
}
|
||||
|
||||
const BetaProgramHandler = {
|
||||
optIn: callbackify(optIn),
|
||||
|
||||
optOut: callbackify(optOut)
|
||||
}
|
||||
|
||||
BetaProgramHandler.promises = {
|
||||
optIn,
|
||||
optOut
|
||||
}
|
||||
|
||||
module.exports = BetaProgramHandler
|
||||
|
||||
Reference in New Issue
Block a user