[PR #5212] [CLOSED] feat(admin): get all user statements #14102

Closed
opened 2026-04-13 09:18:52 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5212
Author: @jslno
Created: 10/10/2025
Status: Closed

Base: canaryHead: feat-admin/get-user-statements


📝 Commits (10+)

📊 Changes

5 files changed (+383 additions, -10 deletions)

View changed files

📝 docs/content/docs/plugins/admin.mdx (+68 -0)
📝 packages/better-auth/src/plugins/admin/admin.test.ts (+79 -4)
📝 packages/better-auth/src/plugins/admin/admin.ts (+138 -1)
📝 packages/better-auth/src/plugins/admin/client.ts (+18 -3)
📝 packages/better-auth/src/plugins/admin/has-permission.ts (+80 -2)

📄 Description

Summary by cubic

Added GET /admin/get-user-statements to return a user's permission statements. Admins can fetch any user's statements; users can only see their own, and multi‑role users get merged statements.

  • New Features

    • New GET /admin/get-user-statements endpoint with OpenAPI docs.
    • Enforces admin-only access when requesting another user's statements.
    • Merges statements for users with multiple roles.
    • Client helper adminClient.admin.checkRoleStatements for role-based statement lookup.
  • Refactors

    • Added isAdmin and getStatements helpers plus a safe array merge utility.
    • Expanded access control examples with approve and audit actions.
    • Added tests for admin/user access and multi-role statement merging.

🔄 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/5212 **Author:** [@jslno](https://github.com/jslno) **Created:** 10/10/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat-admin/get-user-statements` --- ### 📝 Commits (10+) - [`0fe4484`](https://github.com/better-auth/better-auth/commit/0fe4484c65a9611264ddc6041e3abd6078a197d4) feat(admin): get all user statements - [`21a9ed8`](https://github.com/better-auth/better-auth/commit/21a9ed81d0426a1655b2cc588ca3eefb477f46e7) chore: add tests - [`5599cb8`](https://github.com/better-auth/better-auth/commit/5599cb8ade7c3986e3d62fa6c27238d39c3b6c25) fix: pass opts to `isAdmin` - [`15fd0be`](https://github.com/better-auth/better-auth/commit/15fd0be2f53e7d6b4e887a86c1f0c34550011cbb) chore: fix linting - [`80d1fc6`](https://github.com/better-auth/better-auth/commit/80d1fc6576a3fef0c503ace34de3d2560438e995) refactor: make query optional - [`7eebed5`](https://github.com/better-auth/better-auth/commit/7eebed544a6a21ab9a1d4ca69b0abe65fbef8446) chore: allow passing array of roles to `getStatements` - [`292cc2d`](https://github.com/better-auth/better-auth/commit/292cc2d2e361754144a3d8eeeced77c3e7200b60) chore: add docs - [`680a87d`](https://github.com/better-auth/better-auth/commit/680a87d7617b21dcb496ddab260922908fa14069) docs: fix typo - [`5cec81f`](https://github.com/better-auth/better-auth/commit/5cec81f0c1b7d0f2855ce4fb4e67141580cc19e0) fix: isAdmin helper - [`75e182e`](https://github.com/better-auth/better-auth/commit/75e182efb82d9616317742ab257987b9aee5d837) Merge branch 'canary' of https://github.com/better-auth/better-auth into feat-admin/get-user-statements ### 📊 Changes **5 files changed** (+383 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `docs/content/docs/plugins/admin.mdx` (+68 -0) 📝 `packages/better-auth/src/plugins/admin/admin.test.ts` (+79 -4) 📝 `packages/better-auth/src/plugins/admin/admin.ts` (+138 -1) 📝 `packages/better-auth/src/plugins/admin/client.ts` (+18 -3) 📝 `packages/better-auth/src/plugins/admin/has-permission.ts` (+80 -2) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Added GET /admin/get-user-statements to return a user's permission statements. Admins can fetch any user's statements; users can only see their own, and multi‑role users get merged statements. - **New Features** - New GET /admin/get-user-statements endpoint with OpenAPI docs. - Enforces admin-only access when requesting another user's statements. - Merges statements for users with multiple roles. - Client helper adminClient.admin.checkRoleStatements for role-based statement lookup. - **Refactors** - Added isAdmin and getStatements helpers plus a safe array merge utility. - Expanded access control examples with approve and audit actions. - Added tests for admin/user access and multi-role statement merging. <!-- 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-04-13 09:18:52 -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#14102