I have a collection that has write-only permission for all users, and the remaining permissions are based on the user ID. The Apple SDK is working fine as expected, meaning a user can only see their own entries.
However, I'm facing an issue with my Python cloud function, which needs to read data specific to a particular user ID. I want to list documents that are specific to the requested user instead of displaying the entire collection.
Quick help appreciated, Between this is crucial for the hackathon!
When executing a function, if it is done by the user then the current user JWT is being sent.
That means you can initialize your function client using the user JWT.
Making use of the user JWT will make sure only documents that available for the user will return. Just like you're using the swift SDK.
First you can find out about function variables here https://appwrite.io/docs/functions#functionVariables
Then, You can make something like what you can see here: https://discord.com/channels/564160730845151244/1102768921846755432/1102770961746505862
Thanks @Binyamin, I can almost see it but I have userId mismatch.
{"executedBy":"64630bd18715e9d8b0a9","jwt":"xxxxxxxxxxxxxxxx","message":"Successfully Generated","sessionId":"6489b3a7ba985cb71e11","timestamp":"2023-06-14 12:57:28","userId":"64892bc8d83bfea54d34"}
userId is passing from local - exists in project executedBy function variable user id - does not exists in project
What is this object?
How have you initialized the client?
class NetworkManager {
static let shared = NetworkManager()
let client: Client
let account: Account
let databases: Databases
let functions: Functions
let storage: Storage
private init() {
self.client = Client()
.setEndpoint(K.END_POINT)
.setProject(K.PROJECT_ID)
.setSelfSigned()
self.account = Account(client)
self.databases = Databases(client)
self.functions = Functions(client)
self.storage = Storage(client)
Task { try! await listSessions() } }
Recommended threads
- Free trial credit?
I understand that another person I know got a free 50 dollar credit promo as a banner in his project but I fail to see one in mine. Is such promo not for everyo...
- Appwrite Cloud Services. getting 500 Int...
I'm not able to access any appwrite services on appwrite cloud website, getting a 500 internal error on all services even though status.appwrite.online says the...
- [FEAT REQ] Bun runtime support
Instead of just Nodejs, it would be helpful to also add support for the Bun runtime which can speed up deployments by a ton.