-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Backport plugin permissions in the workspace #9966
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
Conversation
Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
|
Connected to Huly®: UBERF-13804 |
Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR restores permission-based restrictions from v6 by implementing a comprehensive permissions system to forbid creation of certain workspace entities. It introduces workspace-level permissions that prevent users from creating projects, teamspaces, drives, funnels, and vacancies.
- Implements workspace-scoped permission checking in the middleware
- Adds new "forbid" permissions for create operations on major entity types
- Updates UI components to use a unified HeaderButton with permission-aware actions
Reviewed Changes
Copilot reviewed 85 out of 87 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| server/middleware/src/spacePermissions.ts | Refactors permission checking to support workspace permissions with forbid logic |
| plugins/*/src/index.ts | Adds permission definitions and string constants for forbid create permissions |
| models/*/src/permissions.ts | Defines workspace-level forbid permissions for entity creation |
| plugins/*-resources/src/components/*Header.svelte | Replaces custom button implementations with unified HeaderButton component |
| packages/ui/src/components/HeaderButton.svelte | New unified header button component with permission checking |
| tests/sanity/tests/**/*.ts | Updates test selectors from generic IDs to specific string constants |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Restore permissions from v6: