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
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Edit ID of an existing collection
Hi there. Is it possible to edit an ID of an existing collection? Right now it looks impossible from AppWrite cloud at least.
- Seed db
hello there... is this correct way to seed appwrite