Skip to content
Back

Delete user from team by UserId

  • 0
  • Self Hosted
  • Auth
  • General
Meister der Magie | Martin
5 Dec, 2024, 15:27

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.

TypeScript
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);
}
TL;DR
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); } ```
Guille
5 Dec, 2024, 15:41

What if you use listMemberships from Users?

https://appwrite.io/docs/references/cloud/server-nodejs/users#listMemberships

So you only will have search the teamId in the list of memberships of the user:

TypeScript
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);
}

I'm not sure about all code, but it should be something like that

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more