BetaProgramHandler.coffee 952 B

12345678910111213141516171819202122232425262728293031
  1. User = require("../../models/User").User
  2. logger = require 'logger-sharelatex'
  3. metrics = require("../../infrastructure/Metrics")
  4. module.exports = BetaProgramHandler =
  5. optIn: (user_id, callback=(err)->) ->
  6. User.findById user_id, (err, user) ->
  7. if err
  8. logger.err {err, user_id}, "problem adding user to beta"
  9. return callback(err)
  10. metrics.inc "beta-program.opt-in"
  11. user.betaProgram = true
  12. user.save (err) ->
  13. if err
  14. logger.err {err, user_id}, "problem adding user to beta"
  15. return callback(err)
  16. return callback(null)
  17. optOut: (user_id, callback=(err)->) ->
  18. User.findById user_id, (err, user) ->
  19. if err
  20. logger.err {err, user_id}, "problem removing user from beta"
  21. return callback(err)
  22. metrics.inc "beta-program.opt-out"
  23. user.betaProgram = false
  24. user.save (err) ->
  25. if err
  26. logger.err {err, user_id}, "problem removing user from beta"
  27. return callback(err)
  28. return callback(null)