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
- is `account.get()` safe to be used in th...
I want to user's `id` for authentication. However, a while ago I was told in this server not to use `account.get()` and instead add user preferences for that us...
- Appwrite console is too heavy
The Appwrite console is too heavy And all of my services broken Any support , please
- Usage of the new Client() and dealing wi...
Hey guys, just a quick one - we had some web traffic the other day and it ended up bombing out - To put in perspective of how the app works, we have a Nuxt Ap...