How to Ensure a User Can Only Access, Add, and Delete Their Own Favorites in Appwrite
- 0
- Self Hosted
- Auth
- Databases
Hi everyone,
I'm building an app using Appwrite, and I'm working on a feature where users can store their favorite items in a "Favorites" collection. Each favorite entry has fields like userId and itemId, and I've set up user authentication so that users can log in.
My goal is to ensure that each user can only view, add, or delete their own favorites and cannot access or modify the favorites of other users. I understand that Appwrite has a permissions system, but I'm not entirely sure how to configure it in a way that restricts access to the favorites collection based on the userId field.
Does anyone have any experience or advice on how to implement this? I’ve looked into Appwrite's permissions for documents, but I’m struggling with how to securely link each user to their own favorites and prevent them from accessing others' data.
Any guidance on setting up the correct permissions or best practices for this scenario would be greatly appreciated!
Thanks in advance!
On the favorites collection toggle on document level permissions. Now when creating a document add these permissions.
await databases.createDocument(
'<DATABASE_ID>',
'<COLLECTION_ID>',
{
foo: "bar"
},
[
Permission.read(Role.user(currentUserId)),
Permission.write(Role.user(currentUserId)),
]
);
Recommended threads
- RowList: The value of total is coming as...
RowList: The value of total is coming as a String, so it throws an error because it’s not parsed into an int. Error: TypeError: \"37\": type 'String' is not a ...
- 408 Timeout / Curl Error 7 in Executor w...
Hey everyone, I am losing my mind over a routing loop/timeout issue on a fresh self-hosted setup. I have a single Linux VPS (IP: 45.141.37.105) and one domain (...
- functions returning error 401 in local
I updated to 1.9.0, and the functions that used to work fine in 1.8.1 are now giving me a 401 error. I can't seem to find a solution. If anyone is running versi...