[SOLVED] - How to set permissions using the createOperations function?
- 0
- Resolved
- 2
- Databases
- Web
- REST API
Hi, I'm trying to create a set of registers in a table using the tableDB.createOperations function, but it seems like it doesnt support/expect the usage of the permissions array, similar to what we have when creating a row.
Something like this below:
const operations = [{
action: 'create' as const,
databaseId: DATABASE_ID,
tableId: TABLE_ID,
rowId: rowId,
data: registerData,
permissions: [
Permission.read(Role.user(userId)),
Permission.update(Role.user(userId))
]
}]
await tablesDB.createOperations({
transactionId: tx.$id,
operations,
})
When I execute the flow, it creates all the operations, but ignoring the permissions array, which is creating a situation where the users dont have access to their own rows.
Do you know if it's possible to define this permissions array using these operations? If it's not possible, how are you handling situations with Row Security where you need to create a bunch of rows at once?
How to set permissions using the createOperations function?
Have you tried to set permission in data? If I'm not wrong that is how I do it in my project
Just tested it and it doesnt work too. Passing it within data the appwrite throws an "AppwriteException: Invalid document structure: Unknown attribute: "permissions""" I've passed it like this now:
const operations = [{
action: 'create' as const,
databaseId: DATABASE_ID,
tableId: TABLE_ID,
rowId: rowId,
data: {
...registerData,
permissions: [
Permission.read(Role.user(userId)),
Permission.update(Role.user(userId))
]
}
}]
Is this what you've suggested?
it should be $permissions instead of permissions
It worked <:appwriterocket:823996226894692403> Thank you so much Guille
[SOLVED] - How to set permissions using the createOperations function?
Recommended threads
- IMPORTANT! SOC-2 Request Failing
Issue requesting SOC-2. If tried other/private browser as well as filling in optional fields.
- Can you suppress row $meta data?
When using listRows with a 'select' query to limit the response [for performance], I'm still getting extra columns (eg. `$id`, `$sequence`, `$createdAt`, `$upda...
- How can I disable client-side account re...
Hi everyone! I’m currently building a game backend using Appwrite, and I’d like to prevent users from creating new accounts directly through the client. My go...