Просмотр исходного кода

Add a `getInvitedMemberIds` function

Limited to only members who were invited to the project, not users
who have access via a token.
Shane Kilkelly 9 лет назад
Родитель
Сommit
cf54989e6a

+ 5 - 0
services/web/app/coffee/Features/Collaborators/CollaboratorsHandler.coffee

@@ -40,6 +40,11 @@ module.exports = CollaboratorsHandler =
 			return callback(error) if error?
 			return callback null, members.map (m) -> m.id
 
+	getInvitedMemberIds: (project_id, callback = (error, member_ids) ->) ->
+		CollaboratorsHandler.getMemberIdsWithPrivilegeLevels project_id, (error, members) ->
+			return callback(error) if error?
+			return callback null, members.filter((m) -> m.source == Sources.INVITE).map((m) -> m.id)
+
 	USER_PROJECTION: {
 		_id: 1,
 		email: 1,

+ 14 - 1
services/web/test/UnitTests/coffee/Collaborators/CollaboratorsHandlerTests.coffee

@@ -62,7 +62,7 @@ describe "CollaboratorsHandler", ->
 			@CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub()
 			@CollaboratorHandler.getMemberIdsWithPrivilegeLevels
 				.withArgs(@project_id)
-				.yields(null, [{id: "member-id-1"}, {id: "member-id-2"}])
+				.yields(null, [{id: "member-id-1", source: 'invite'}, {id: "member-id-2", source: 'token'}])
 			@CollaboratorHandler.getMemberIds @project_id, @callback
 
 		it "should return the ids", ->
@@ -70,6 +70,19 @@ describe "CollaboratorsHandler", ->
 				.calledWith(null, ["member-id-1", "member-id-2"])
 				.should.equal true
 
+	describe "getInvitedMemberIds", ->
+		beforeEach ->
+			@CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub()
+			@CollaboratorHandler.getMemberIdsWithPrivilegeLevels
+				.withArgs(@project_id)
+				.yields(null, [{id: "member-id-1", source: 'invite'}, {id: "member-id-2", source: 'token'}])
+			@CollaboratorHandler.getInvitedMemberIds @project_id, @callback
+
+		it "should return the invited ids", ->
+			@callback
+				.calledWith(null, ["member-id-1"])
+				.should.equal true
+
 	describe "getMembersWithPrivilegeLevels", ->
 		beforeEach ->
 			@CollaboratorHandler.getMemberIdsWithPrivilegeLevels = sinon.stub()