overleaf/services/web/app/coffee/Features/User/UserCreator.coffee
2014-04-10 16:32:47 +01:00

28 lines
648 B
CoffeeScript

User = require("../../models/User").User
UserLocator = require("./UserLocator")
module.exports =
getUserOrCreateHoldingAccount: (email, callback = (err, user)->)->
self = @
UserLocator.findByEmail email, (err, user)->
if user?
callback(err, user)
else
self.createNewUser email:email, holdingAccount:true, callback
createNewUser: (opts, callback)->
user = new User()
user.email = opts.email
user.holdingAccount = opts.holdingAccount
username = opts.email.match(/^[^@]*/)
if username?
user.first_name = username[0]
else
user.first_name = ""
user.last_name = ""
user.save (err)->
callback(err, user)