UserCreator.coffee 698 B

123456789101112131415161718192021222324252627282930313233
  1. User = require("../../models/User").User
  2. logger = require("logger-sharelatex")
  3. metrics = require('metrics-sharelatex')
  4. module.exports = UserCreator =
  5. createNewUser: (opts, callback)->
  6. logger.log opts:opts, "creating new user"
  7. user = new User()
  8. username = opts.email.match(/^[^@]*/)
  9. if !opts.first_name? or opts.first_name == ""
  10. opts.first_name = username[0]
  11. for key, value of opts
  12. user[key] = value
  13. user.ace.syntaxValidation = true
  14. user.featureSwitches?.pdfng = true
  15. user.emails = [
  16. email: user.email
  17. createdAt: new Date()
  18. ]
  19. user.save (err)->
  20. callback(err, user)
  21. metrics.timeAsyncMethod(
  22. UserCreator, 'createNewUser',
  23. 'mongo.UserCreator',
  24. logger
  25. )