Hi everybody, I'm new to AppWrite and I need some help designing a database. I'm trying to set up a database where:
- There are USERS
- A USER can create an ACCOUNT becoming the owner
- An ACCOUNT can have multiple EVENTS
- An ACCOUNT owner (USER) can give to other users access to the ACCOUNT turning them ACCOUNT managers.
- An OWNER can CRUD the account and it's events.
- A MANAGER can CRUD account events but only can RU the ACCOUNT he manages.
I've been reading the docs and there is a place where they talk about permissions (https://appwrite.io/docs/advanced/platform/permissions). As I understand, for each ACCOUNT that a logged in user creates it will be granted with .read() .update() .delete() permissions. And then for each manager a user would add I will need to create an endpoint with the updateDocument statement adding the new manager in the .read() and .update() permissions.
Is that alright? I'm used to SQL design systems where I needed to create a table user_accounts[user, account, role] and add and delete account managers there.
Then I have a second question. If a manager creates an event for the Account he manages, on the createDocument statement I need to add permissions for all users that manage this account and the account owner? In the same way, when an account owner creates an event, in the createDocument statement do I have to add permissions for the owner and all the users that manage this account? The way I'm used to do that is, before read, update or delete I check the role in the user_accounts table and decide if this user has enought permissions to perform the action he wants to do.
Thanks in advance. One thing that has amazed me is the incredible appwrite community π
Recommended threads
- MariaDB refuses to connect to appwrite
Earlier, I tried updating my Appwrite version from 18.1.x to the latest release because my Flutter package required it to function properly. I used the official...
- Console display all Databases as TablesD...
While looking at an issue with <@1231860789355347971> we saw that the console was displaying ALL databases as `TablesDB` even if the real type in the API is `le...
- HTTP Error 500 ''
Hello to everyone, I'm a Flutter developer and actually I'm developing an app using Appwrite.. during my tests and also massive ones I've noticed something we...