Эх сурвалжийг харах

revokeInvite and getInviteByToken functions.

Shane Kilkelly 10 жил өмнө
parent
commit
546517db90

+ 16 - 0
services/web/app/coffee/Features/Collaborators/CollaboratorsInviteHandler.coffee

@@ -35,7 +35,23 @@ module.experts = CollaboratorsInviteHandler =
 				callback(null, invite)
 
 	revokeInvite: (projectId, inviteId, callback=(err)->) ->
+		logger.log {projectId, inviteId}, "removing invite"
+		ProjectInvite.remove {projectId: projectId, _id: inviteId}, (err) ->
+			if err?
+				logger.err {err, projectId, inviteId}, "error removing invite"
+				return callback(err)
+			callback(null)
 
 	getInviteByToken: (projectId, tokenString, callback=(err,invite)->) ->
+		logger.log {projectId, tokenString}, "fetching invite by token"
+		ProjectInvite.findOne {projectId: projectId, token: tokenString}, (err, invite) ->
+			if err?
+				logger.err {err, projectId, inviteId}, "error fetching invite"
+				return callback(err)
+			now = new Date()
+			if invite.expiresAt < now
+				logger.log {projectId, inviteId, expiresAt: invite.expiresAt}, "invite expired"
+				return callback(null, null)
+			callback(null, invite)
 
 	acceptInvite: (projectId, inviteId, callback=(err)->) ->