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
- Impossible to get USER after createEmail...
Am using provider to deal with functions linked to appwrite. Here is my login. Future<String?> login(String email, String password) async { try { aw...
- Weird permission failure
when creating an account I use following methods: ``` Future<void> register(String email, String password, String username) async { final user = await accoun...
- Flutter Android oAuth is no more working
I currently don't get the oAuth login to work in flutter android. it works on ios and on web. but when try to use it on Android, i get to the point where the ca...