Răsfoiți Sursa

writen function to set the user email safely

Henry Oswald 12 ani în urmă
părinte
comite
c4a420bd7f
1 a modificat fișierele cu 15 adăugiri și 0 ștergeri
  1. 15 0
      services/web/app/coffee/Features/User/UserUpdater.coffee

+ 15 - 0
services/web/app/coffee/Features/User/UserUpdater.coffee

@@ -1,6 +1,7 @@
 mongojs = require("../../infrastructure/mongojs")
 db = mongojs.db
 ObjectId = mongojs.ObjectId
+UserLocator = require("./UserLocator")
 
 module.exports = UserUpdater =
 	updateUser: (query, update, callback = (error) ->) ->
@@ -10,3 +11,17 @@ module.exports = UserUpdater =
 			query = _id: query
 
 		db.users.update query, update, callback
+
+
+	changeEmailAddress: (user_id, newEmail, callback)->
+		self = @
+		UserLocator.findById user_id, (error, user) ->
+			if user?
+				return callback({message:"User with that email already exists."})
+			self.updateUser user_id.toString(), {
+				$set: { "email": newEmail},
+			}, (err) ->
+				if err?
+					return callback(err)
+				callback()
+