-
-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add project access level #154
Comments
Hi ! I'd like to attempt this one.... also just to be clear about the scope of changes needed for this--- We basically need to change the prisma schema for Project, change the approval , api-key guard , auth logic as well as the logic of all services that touch projects around it and finally the tests right? Please let me know if I missed anything. |
Yes, that will mostly be all. You will need to add an enum named Then you will need to update the I dont think you will need to change the |
@rayaanoidPrime I'm refactoring the e2e tests for projects into something more readable. I'll notify you when I merge the code so you can take a pull! EDIT: Here's the PR #215 |
🎉 This issue has been resolved in version 1.4.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Description
Right now, projects are created in a fashion that, to be visible to someone in the workspace, the member needs to have a role association that has the project associated with it in the
projectIds
array. Similarly, for any external user, the project needs to haveisPublic
set totrue
to access it.We would like to have fine-grained control to be able to handle the following type of access to the project:
You can think of this scenario as something that GitLab or GitHub promotes to categorize repository access across teams.
Solution
To implement this, we would like to replace the
isPublic
field ofProject
entity withaccessLevel
. This will be an enum of typeAccessLevel
that will be defined inschema.prisma
. These would be the enum values and associated authority:GLOBAL
: Anyone in the world can access the projectINTERNAL
: Any member in the workspace withREAD_PROJECT
collective authority will be able to access the projectPRIVATE
: Only users with role association that has the project's ID in itsprojectIds
field will be able to access this project.The text was updated successfully, but these errors were encountered: