Hello everyone, I have a collection called innocaps and each document has an attribute called "owner". I am using Appwrite function with PHP SDK to delete an innocap document and what I'm trying to accomplish is to set up permissions in such a way that only the owner of a document can delete that specific document and other users should not have that ability. I've been reading through the Appwrite documentation, but I'm not entirely sure how to implement this specific permission logic. Can someone please guide me on the steps to achieve this?
Hi @sidney by default appwrite the current user is granted with all permissions, that means if you don't send any permission when you create the document, the person who create the document can read, update, and delete the document:
You can check that in the documentation of createDocument https://appwrite.io/docs/client/databases?sdk=web-default#databasesCreateDocument
I created a function to delete a document and I have to add the permission only for the owner to delete it, but in this documentation: https://appwrite.io/docs/server/databases?sdk=php-default#databasesDeleteDocument I don't see permission in http request
You don't set the permissions in the deleteDocument, you do it in createDocument or updateDocument
What is a reason of that because I don't want that other users can be able to delete the document of the owner
you send it as part of the create and update so that it's in the document itself. So, when the delete is executed, Appwrite can look at the document to see who should have access and then validate against who made the request
Recommended threads
- CORS preflight returns 500 on Dart funct...
Hey everyone 👋 I’m running a Dart cloud function, Every time I respond to a preflight (OPTIONS) request, I get a 500 internal error, and the logs show: ```NoSu...
- Auto Updating Backend & Auth via Appwrit...
<@870607367597850624> Hey everyone 👋 I wanted to ask to ask for a friend, he’s asking if Appwrite be used in a similar way to Supabase when integrated with AI ...
- execution failed
When executing an appwrite function, I'm getting a 500 error, but I don't see it in executions. This issue appeared today. Here's the appwrite function ID: 68b4...