#[SOLVED] permission and membership

16 messages · Page 1 of 1 (latest)

past rock
#

Hi,
I want to create a new document (from my flutter app) and share this document with another user.
I can't do it quickly because user can't add permission to another user id. We have to be in a team. But now I have add all users to a team and if i want to add my permission, my user had to know the membership id of the other user... So I have to do a request to get the membership id, and then adding the permission with this team & membership id...
Is there a way to add permission with only the other user id ?

oblique shoal
#

I am sorry if I don't understand correctly but, in your database, you do have the option to give permissions without using teams , is this something you need?

unique tusk
#

Hey @past rock

#

So just to make sure, you're having issues with document security right? If you want User A to be have full access to a document, while making sure User B only had viewing/reading permissions, you can assign the Permission.read(Role.user('[USER-B-ID]')) to the document

#

You don't need to have both the users in the same team. If your worry is about getting User B's ID, you can create a small Appwrite Function that does it for you.

#

You can accept an email in this function, and use the users.listUsers endpoint along with the email in the query, so get the correct user.

past rock
#

Yes, User A create a document from the flutter mobile application (with client SDK). User A want to add user B permission for reading this document. I can do it if I use the server sdk and a function, but I prefere doing it from my app.

#

List<String> perms = []; perms.add(Permission.read(Role.user(otherUserId))); final doc = await databases.createDocument( databaseId: databaseId, collectionId: collectionId, documentId: ID.unique(), data: data.toMap(), permissions: perms );

#

If I do that, I got this error

#

AppwriteException: user_unauthorized, Permissions must be one of: (any, users, user:63e501eb4d6310fbf62c, user:63e501eb4d6310fbf62c/verified, users/verified)

#

And after searching, user can't add permission to other user directly, user can only add permission to team/membership

unique tusk
#

Any reason why you want to do it from the client only? It's not possible right now, which is why I suggested an appwrite function instead

past rock
#

Because the code already exist in my app 😅 so, don't want to put it in a function, but if this is the only way, I'll do it

astral palm
past rock
#

Yes, I've move my code to a function and now I can add custom permission