[PR #8567] fix: resolve duplicate operationId in admin plugin endpoints #16313

Closed
opened 2026-04-13 10:29:27 -05:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/better-auth/better-auth/pull/8567

State: closed
Merged: No


Summary

Fixes duplicate operationId values in the OpenAPI schema that cause code generation tools (like Orval) to produce TypeScript errors (TS2300: Duplicate identifier).

Changes:

  • listUserSessionsadminListUserSessions (for /admin/list-user-sessions)
  • updateUseradminUpdateUser (for /admin/update-user)

Problem

The admin plugin endpoints shared the same operationId as core endpoints:

Endpoint Old operationId New operationId
/admin/list-user-sessions (POST) listUserSessions adminListUserSessions
/admin/update-user (POST) updateUser adminUpdateUser

This violated the OpenAPI 3.0 spec which requires unique operationIds across all operations.

Test Plan

  • Generate OpenAPI schema with admin plugin enabled
  • Verify no duplicate operationIds exist
  • Run Orval or similar code generator to confirm no TS2300 errors

Fixes #8558


This PR was created with AI assistance. The fix follows the same pattern established in PR #6203.

Made with Cursor


Summary by cubic

Fixes duplicate operationId values in the OpenAPI schema for admin plugin endpoints to prevent codegen collisions (e.g., TS2300: Duplicate identifier) in tools like orval. Ensures each operation has a unique operationId per OpenAPI 3.0.

  • Bug Fixes
    • /admin/list-user-sessions (POST): operationId listUserSessionsadminListUserSessions
    • /admin/update-user (POST): operationId updateUseradminUpdateUser

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

**Original Pull Request:** https://github.com/better-auth/better-auth/pull/8567 **State:** closed **Merged:** No --- ## Summary Fixes duplicate `operationId` values in the OpenAPI schema that cause code generation tools (like Orval) to produce TypeScript errors (`TS2300: Duplicate identifier`). **Changes:** - `listUserSessions` → `adminListUserSessions` (for `/admin/list-user-sessions`) - `updateUser` → `adminUpdateUser` (for `/admin/update-user`) ## Problem The admin plugin endpoints shared the same `operationId` as core endpoints: | Endpoint | Old operationId | New operationId | |----------|-----------------|-----------------| | `/admin/list-user-sessions` (POST) | `listUserSessions` | `adminListUserSessions` | | `/admin/update-user` (POST) | `updateUser` | `adminUpdateUser` | This violated the [OpenAPI 3.0 spec](https://swagger.io/docs/specification/v3_0/paths-and-operations/#operationid) which requires unique operationIds across all operations. ## Test Plan - [ ] Generate OpenAPI schema with admin plugin enabled - [ ] Verify no duplicate operationIds exist - [ ] Run Orval or similar code generator to confirm no TS2300 errors Fixes #8558 --- *This PR was created with AI assistance. The fix follows the same pattern established in PR #6203.* Made with [Cursor](https://cursor.com) <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes duplicate `operationId` values in the OpenAPI schema for admin plugin endpoints to prevent codegen collisions (e.g., `TS2300: Duplicate identifier`) in tools like `orval`. Ensures each operation has a unique `operationId` per OpenAPI 3.0. - **Bug Fixes** - `/admin/list-user-sessions` (POST): `operationId` `listUserSessions` → `adminListUserSessions` - `/admin/update-user` (POST): `operationId` `updateUser` → `adminUpdateUser` <sup>Written for commit bbaa588e85eaa924cea1cc4d818b47ea924bc091. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
GiteaMirror added the pull-request label 2026-04-13 10:29:27 -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#16313