Meister der Magie | MartinOriginal post
Rank 2: Process
How do you remove a user from a team without knowing the MembershipId?
The only way I found is to list all Memberships of the team and then loop over all of those to check the userId. This is so much performance overhead for such a simple task. Is there a better way?
Edit: I'm speaking of server sdk here.
var teams = new Teams(client);
var allGroupMemberships = await teams.ListMemberships(groupId);
foreach (Membership membership in allGroupMemberships.Memberships)
{
if (membership.UserId != user.Id)
continue;
await teams.DeleteMembership(groupId, membership.Id);
}
Summary
To delete a user from a team by UserId, you can use the solution below:
- Get the list of memberships of the user with `ListMemberships(userId)`
- Search for the desired teamId in the user's memberships and then delete the membership
```
var users = new Users(client);
var teams = new Teams(client);
var userMemberships = await users.ListMemberships(userId);
foreach (Membership membership in userMemberships.Memberships)
{
if (membership.teamId != teamId)
continue;
await teams.DeleteMembership(groupId, membership.Id);
}
```