[PR #7863] [MERGED] fix(organization): merge DB permissions with built-in roles in dynamic access control #7597

Closed
opened 2026-03-13 13:42:39 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/7863
Author: @bytaesu
Created: 2/8/2026
Status: Merged
Merged: 2/28/2026
Merged by: @Bekacru

Base: canaryHead: 2026-02-09/fix/dynamic-access-control-has-permission


📝 Commits (2)

  • 7fc4a85 fix(organization): merge DB permissions with built-in roles in dynamic access control
  • f2365ef Merge branch 'canary' into 2026-02-09/fix/dynamic-access-control-has-permission

📊 Changes

2 files changed (+125 additions, -4 deletions)

View changed files

📝 packages/better-auth/src/plugins/organization/has-permission.ts (+5 -4)
📝 packages/better-auth/src/plugins/organization/organization.test.ts (+120 -0)

📄 Description

When dynamicAccessControl is enabled, hasPermission now merges DB-stored permissions with built-in role permissions instead of skipping them.

Closes #7822

cc @ping-maxwell


Summary by cubic

Fixes dynamic access control so hasPermission merges DB-stored permissions with built-in role permissions. Keeps default role capabilities while adding DB-defined actions.

  • Bug Fixes
    • Merge DB statements into existing role statements (union per resource; dedup actions).
    • Remove skip for built-in roles; DB permissions are additive and never override defaults.
    • Added tests for sales-only DB permissions and partial merges for organization actions.

Written for commit f2365ef1a8. Summary will update on new commits.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/7863 **Author:** [@bytaesu](https://github.com/bytaesu) **Created:** 2/8/2026 **Status:** ✅ Merged **Merged:** 2/28/2026 **Merged by:** [@Bekacru](https://github.com/Bekacru) **Base:** `canary` ← **Head:** `2026-02-09/fix/dynamic-access-control-has-permission` --- ### 📝 Commits (2) - [`7fc4a85`](https://github.com/better-auth/better-auth/commit/7fc4a850a35efd33b9922d1839e4f14aeaca74d1) fix(organization): merge DB permissions with built-in roles in dynamic access control - [`f2365ef`](https://github.com/better-auth/better-auth/commit/f2365ef1a80abc57cfc6b4636896e067a6dfc19f) Merge branch 'canary' into 2026-02-09/fix/dynamic-access-control-has-permission ### 📊 Changes **2 files changed** (+125 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/plugins/organization/has-permission.ts` (+5 -4) 📝 `packages/better-auth/src/plugins/organization/organization.test.ts` (+120 -0) </details> ### 📄 Description When dynamicAccessControl is enabled, `hasPermission` now merges DB-stored permissions with built-in role permissions instead of skipping them. Closes #7822 cc @ping-maxwell <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes dynamic access control so hasPermission merges DB-stored permissions with built-in role permissions. Keeps default role capabilities while adding DB-defined actions. - **Bug Fixes** - Merge DB statements into existing role statements (union per resource; dedup actions). - Remove skip for built-in roles; DB permissions are additive and never override defaults. - Added tests for sales-only DB permissions and partial merges for organization actions. <sup>Written for commit f2365ef1a80abc57cfc6b4636896e067a6dfc19f. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 13:42:39 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#7597