I read https://appwrite.io/docs/client/teams but I don't understand how it works? If I add a user to a team, then in the client application I can't track which team he belongs to in order to allow or deny him any actions depending on this. When creating a client session, Response does not have something like "memberships". The only way to determine which teams the user belongs to is /v1/users/{userId}/memberships through Server integration. Maybe I misunderstood the purpose of "teams"?
From the docs: The Teams service allows you to group users of your project.
Simple example:
Say you have an accounts team consisting of 5 members which should only have access to invoices databases, collections & its documents.
Now a normal user would not & should not have access to this data (unless specified otherwise), but your accounts team will have.
It is better to create teams/groups & grant them permissions rather than assigning permissions individually.
Teams(client).list(); would return a list of teams in which the current user is a member.
when creating a session, I can't see which team the user belongs to in order to give access to a particular function (when creating a session, I can't see which team the user belongs to)
depending on your use-case, this would require the user to be logged in.
That's what I'm asking about. Why don't we have information about which teams a user belongs to after logging in? Session Object does not have this information.
So we can get the list of teams in /v1/teams, and then go through all the teams and /v1/teams/{teamId}/memberships and look for this user there. But what kind of solution is this?
This question has arisen because I want to display additional features for some groups, but checking which group the user belongs to is not implemented.
Session Object does not have information about the teams, having the user id I cannot see which teams it belongs to. Only iterate over all teams and then iterate over all users in the team.
However, you can initiate a request to obtain the memberships of the currently logged-in user. https://appwrite.io/docs/client/teams?sdk=web-default#teamsList
Thanks, this is what I was looking for. I thought that List Teams returns a general list of teams and didn't pay attention to it.👍
Can this thread be closed now?
Yes
[SOLVED] How does a user fetch their teams?
Recommended threads
- Synchronous Function Execution Timed Out...
Hi Appwrite team 👋 I’m facing a synchronous function execution timeout issue on Appwrite Cloud and would appreciate some guidance. I executed this function u...
- Push Notification FCM Error
Hello dear people. I tried to integrate Push Notifications into my Flutter App. Everything works fine on Android/iOS Simulator + Testflight but as soon as I s...
- Skip total counts crash the query
Hello, When adding the total parameter (either true, the default, or false) to the listRows function, it raises the following error: `type 'bool' is not a sub...