Add ability to modify system permissions#1869
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds support for viewing/editing Salesforce System Permissions (the PermissionSet.Permissions* boolean fields) in the Manage Permissions UI, including data loading via describe + dynamic SOQL, dependency cascading behavior to mirror Salesforce’s UI, save plumbing, and export support.
Changes:
- Extend permission-manager types/state to include a new
systemPermissionpermission type and save payloads. - Add system-permission field discovery (from
PermissionSetdescribe), querying, table rows/columns, dependency cascading, and save/update flows. - Include system permissions in exports (CSV/XLSX), dirty tracking, reset-on-org-change, and add focused unit tests.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| libs/types/src/lib/ui/permission-manager-types.ts | Adds system-permission types, table cell shapes, and save-record contracts. |
| libs/shared/ui-core/src/state-management/manage-permissions.state.ts | Adds atom to store loaded system-permission definitions/results. |
| libs/features/manage-permissions/src/utils/system-permission-dependencies.ts | Introduces curated system-permission dependency graph + tooltip strings and closure computation. |
| libs/features/manage-permissions/src/utils/permission-manager-utils.ts | Adds query construction, save batching, and post-save refresh mapping for system permissions. |
| libs/features/manage-permissions/src/utils/permission-manager-table-utils.tsx | Adds system-permission columns/rows, dependency cascading across rows, dirty extraction, and UI wiring. |
| libs/features/manage-permissions/src/utils/permission-manager-export-utils.ts | Adds “System Permissions” worksheet/CSV generation and wires into export entrypoints. |
| libs/features/manage-permissions/src/utils/tests/permission-manager-system-permissions.spec.ts | Adds unit tests covering field discovery, row building, save grouping, dependency closures, and cascading behavior. |
| libs/features/manage-permissions/src/usePermissionRecords.tsx | Loads settable Permissions* fields from describe, queries values, and builds systemPermissionMap. |
| libs/features/manage-permissions/src/ManagePermissionsSelection.tsx | Resets the new system-permission atom when selections change. |
| libs/features/manage-permissions/src/ManagePermissionsEditorSystemPermissionTable.tsx | New table component for system permissions with bulk actions and dirty tracking. |
| libs/features/manage-permissions/src/ManagePermissionsEditor.tsx | Integrates system permissions into tabs, dirty/error tracking, save/reset/export flows. |
| libs/features/manage-permissions/src/ManagePermissions.tsx | Ensures system-permission state resets appropriately when org state changes. |
| apps/jetstream/src/app/components/core/AppStateResetOnOrgChange.tsx | Resets system-permission state on org change in web app. |
| apps/jetstream-desktop-client/src/app/components/core/AppStateResetOnOrgChange.tsx | Resets system-permission state on org change in desktop client. |
paustint
force-pushed
the
feat/permissions/system-permissions
branch
from
July 19, 2026 22:53
696daa5 to
76f0170
Compare
paustint
force-pushed
the
feat/permissions/system-permissions
branch
from
July 19, 2026 23:00
76f0170 to
25cab1c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce functionality to manage system permissions within the permissions management interface. This includes updates to state management and the addition of a new table component for system permissions.