[PR #4667] refactor(organization): add more test and refactor the plugin #5517

Open
opened 2026-03-13 12:25:45 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/4667
Author: @Bekacru
Created: 9/15/2025
Status: 🔄 Open

Base: canaryHead: refactor/organization


📝 Commits (6)

  • 15548ab refactor(organization): add more test and refactor the plugin
  • d9b38dc add list user invitations
  • b03e2b4 cancel test
  • c814a65 Merge branch 'canary' into refactor/organization
  • 7262ab1 fix merge conflicts
  • 0b98ed3 chore: fix merge conflicts

📊 Changes

17 files changed (+2719 additions, -1114 deletions)

View changed files

📝 packages/better-auth/src/plugins/organization/adapter.ts (+62 -15)
📝 packages/better-auth/src/plugins/organization/error-codes.ts (+8 -1)
📝 packages/better-auth/src/plugins/organization/organization.ts (+1 -1)
packages/better-auth/src/plugins/organization/routes/crud-invites.ts (+0 -1085)
packages/better-auth/src/plugins/organization/routes/invitations/accept-invitation.test.ts (+458 -0)
packages/better-auth/src/plugins/organization/routes/invitations/accept-invitation.ts (+214 -0)
packages/better-auth/src/plugins/organization/routes/invitations/cancel-invitation.test.ts (+99 -0)
packages/better-auth/src/plugins/organization/routes/invitations/cancel-invitation.ts (+116 -0)
packages/better-auth/src/plugins/organization/routes/invitations/create-invitation.test.ts (+374 -0)
packages/better-auth/src/plugins/organization/routes/invitations/create-invitation.ts (+462 -0)
packages/better-auth/src/plugins/organization/routes/invitations/get-invitation.ts (+134 -0)
packages/better-auth/src/plugins/organization/routes/invitations/index.ts (+6 -0)
packages/better-auth/src/plugins/organization/routes/invitations/list-invitation.test.ts (+377 -0)
packages/better-auth/src/plugins/organization/routes/invitations/list-invitations.ts (+216 -0)
packages/better-auth/src/plugins/organization/routes/invitations/reject-invitation.ts (+116 -0)
packages/better-auth/src/plugins/organization/test-utils.ts (+61 -0)
📝 packages/better-auth/src/test-utils/test-instance.ts (+15 -12)

📄 Description

Summary by cubic

Refactored the organization invitations into modular endpoints and added comprehensive tests for reliability. Improves validation and error clarity without changing the public API shape.

  • New Features

    • Stricter validation for invite creation (email format), lowercased emails, and resend support that extends expiry.
    • Clearer errors, including INVITATION_EXPIRED and NOT_A_MEMBER_OF_THIS_ORGANIZATION; enforce recipient checks, optional email verification, org membership limits, and team member limits.
    • Team-aware acceptance: creates team memberships, sets active team when a single team is invited, and sets active organization; hooks still supported and can modify data.
  • Refactors

    • Replaced routes/crud-invites.ts with separate files: create, accept, reject, cancel, get, list (with a barrel export).
    • Added org testing utilities and updated the test instance to support throw-able client fetches.
    • Updated organization.ts to import from the new invitations index.

🔄 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/4667 **Author:** [@Bekacru](https://github.com/Bekacru) **Created:** 9/15/2025 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `refactor/organization` --- ### 📝 Commits (6) - [`15548ab`](https://github.com/better-auth/better-auth/commit/15548ab125531781934cbd6e14860982f7ad8cb7) refactor(organization): add more test and refactor the plugin - [`d9b38dc`](https://github.com/better-auth/better-auth/commit/d9b38dc71e2b97b8265c864a7bc0068168d8802a) add list user invitations - [`b03e2b4`](https://github.com/better-auth/better-auth/commit/b03e2b450ae900bcea9b3e278b1a7517fddb39b0) cancel test - [`c814a65`](https://github.com/better-auth/better-auth/commit/c814a6533ff82fb4a655205b23a4d8ebe9bc39d5) Merge branch 'canary' into refactor/organization - [`7262ab1`](https://github.com/better-auth/better-auth/commit/7262ab195293265d331974658e6aa0361d10cd78) fix merge conflicts - [`0b98ed3`](https://github.com/better-auth/better-auth/commit/0b98ed36dceb78cd1823174c92a27487d76f6a54) chore: fix merge conflicts ### 📊 Changes **17 files changed** (+2719 additions, -1114 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/plugins/organization/adapter.ts` (+62 -15) 📝 `packages/better-auth/src/plugins/organization/error-codes.ts` (+8 -1) 📝 `packages/better-auth/src/plugins/organization/organization.ts` (+1 -1) ➖ `packages/better-auth/src/plugins/organization/routes/crud-invites.ts` (+0 -1085) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/accept-invitation.test.ts` (+458 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/accept-invitation.ts` (+214 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/cancel-invitation.test.ts` (+99 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/cancel-invitation.ts` (+116 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/create-invitation.test.ts` (+374 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/create-invitation.ts` (+462 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/get-invitation.ts` (+134 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/index.ts` (+6 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/list-invitation.test.ts` (+377 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/list-invitations.ts` (+216 -0) ➕ `packages/better-auth/src/plugins/organization/routes/invitations/reject-invitation.ts` (+116 -0) ➕ `packages/better-auth/src/plugins/organization/test-utils.ts` (+61 -0) 📝 `packages/better-auth/src/test-utils/test-instance.ts` (+15 -12) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Refactored the organization invitations into modular endpoints and added comprehensive tests for reliability. Improves validation and error clarity without changing the public API shape. - **New Features** - Stricter validation for invite creation (email format), lowercased emails, and resend support that extends expiry. - Clearer errors, including INVITATION_EXPIRED and NOT_A_MEMBER_OF_THIS_ORGANIZATION; enforce recipient checks, optional email verification, org membership limits, and team member limits. - Team-aware acceptance: creates team memberships, sets active team when a single team is invited, and sets active organization; hooks still supported and can modify data. - **Refactors** - Replaced routes/crud-invites.ts with separate files: create, accept, reject, cancel, get, list (with a barrel export). - Added org testing utilities and updated the test instance to support throw-able client fetches. - Updated organization.ts to import from the new invitations index. <!-- 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 12:25:45 -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#5517