Support for change approval #117
Labels
help wanted
Extra attention is needed
scope: api
Everything related to the API
type: enhancement
New feature or request
Milestone
Description
Currently, anyone with the permissions can change anything they want. While this is good for small projects, as and when they grow, we would appreciate a little bit more control over how our data is modified.
That's when approvals can help us. Every workspace will have the option to opt in to approvals. If enabled, every change will go through a process of the workspace admins verifying the changes by themselves before they go live.
The target entities of change would be these:
Doing any sorts of update, creation or deletion will trigger these approval requests.
Solution
To implement this feature, we would need to add another entity in the
prisma.schema
file. Although we are open to discussions about the structure, we would really like to emphasize on the factor of accountability. An example schema might look something like this:After this, we would need a fully working CRUD API under
/api/approval
to manage the approvals. Note that only users withMANAGE_APPROVAL
can act (approve/reject/view) the approvals of other users. Although, users can view their own approval requests.Additional context
prisma.schema
The text was updated successfully, but these errors were encountered: