[PR #4546] [CLOSED] feat(adapter): sortBy multiple fields #5439

Closed
opened 2026-03-13 12:22:48 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

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

Base: canaryHead: feat/sort-by-multiple-fields


📝 Commits (10+)

  • a29db25 feat(adapter): sortBy multiple fields
  • 2745dbf chore: fix linting
  • e67e367 chore: update internalAdapter
  • bf7da08 chore: fix tests
  • e9a1016 fix: prisma adapter
  • 00a1006 Merge remote-tracking branch 'upstream/canary' into feat/sort-by-multiple-fields
  • e4d2a95 chore: fix types
  • d143c23 Merge branch 'canary' into feat/sort-by-multiple-fields
  • a88a314 chore: move tests
  • 6e961ce chore: revert changes to test.ts

📊 Changes

9 files changed (+136 additions, -75 deletions)

View changed files

📝 packages/better-auth/src/adapters/adapter-factory/index.ts (+2 -1)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+11 -5)
📝 packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts (+9 -5)
📝 packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts (+49 -42)
📝 packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts (+9 -3)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+9 -5)
📝 packages/better-auth/src/adapters/tests/normal.ts (+38 -0)
📝 packages/better-auth/src/db/internal-adapter.ts (+2 -7)
📝 packages/core/src/db/adapter/index.ts (+7 -7)

📄 Description


Summary by cubic

Enable multi-field sorting in findMany across all adapters by allowing sortBy to accept one or many fields. Introduces a SortBy type and updates implementations; this may affect custom adapters that assumed a single sort field.

  • New Features

    • sortBy now accepts SortBy or SortBy[] for findMany.
    • Implemented in Drizzle, Kysely, Prisma, MongoDB, and Memory adapters.
    • Added a test for multi-field sorting (currently skipped).
  • Migration

    • Update custom adapters to accept sortBy as SortBy | SortBy[] and apply order across fields in sequence.
    • Keep support for a single-object sortBy to remain backward compatible with callers.

🔄 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/4546 **Author:** [@jslno](https://github.com/jslno) **Created:** 9/9/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat/sort-by-multiple-fields` --- ### 📝 Commits (10+) - [`a29db25`](https://github.com/better-auth/better-auth/commit/a29db25d472f4419710379f09787c06c20ca2ba2) feat(adapter): sortBy multiple fields - [`2745dbf`](https://github.com/better-auth/better-auth/commit/2745dbf096e4f4114c14dbe5e12eec33766cdd19) chore: fix linting - [`e67e367`](https://github.com/better-auth/better-auth/commit/e67e36701911c6638a8d0bfd95539383fd4b56a3) chore: update internalAdapter - [`bf7da08`](https://github.com/better-auth/better-auth/commit/bf7da08f2a7519187135ae4c88a5685070b51878) chore: fix tests - [`e9a1016`](https://github.com/better-auth/better-auth/commit/e9a101651f9a78f785197da09d36eb73b3fec525) fix: prisma adapter - [`00a1006`](https://github.com/better-auth/better-auth/commit/00a1006957a7713abb73ebfba93b30c46e533f11) Merge remote-tracking branch 'upstream/canary' into feat/sort-by-multiple-fields - [`e4d2a95`](https://github.com/better-auth/better-auth/commit/e4d2a9549fa945d0f7edf5a04882cbc1138f6514) chore: fix types - [`d143c23`](https://github.com/better-auth/better-auth/commit/d143c23fb2b5e63da67f58425e54f26fa1f38508) Merge branch 'canary' into feat/sort-by-multiple-fields - [`a88a314`](https://github.com/better-auth/better-auth/commit/a88a314a2ae98a14bdb60a904121580558044eae) chore: move tests - [`6e961ce`](https://github.com/better-auth/better-auth/commit/6e961ce1dc9a3cebad2e1190925c19fda8f1e714) chore: revert changes to `test.ts` ### 📊 Changes **9 files changed** (+136 additions, -75 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/adapters/adapter-factory/index.ts` (+2 -1) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+11 -5) 📝 `packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts` (+9 -5) 📝 `packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts` (+49 -42) 📝 `packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts` (+9 -3) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+9 -5) 📝 `packages/better-auth/src/adapters/tests/normal.ts` (+38 -0) 📝 `packages/better-auth/src/db/internal-adapter.ts` (+2 -7) 📝 `packages/core/src/db/adapter/index.ts` (+7 -7) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Enable multi-field sorting in findMany across all adapters by allowing sortBy to accept one or many fields. Introduces a SortBy type and updates implementations; this may affect custom adapters that assumed a single sort field. - New Features - sortBy now accepts SortBy or SortBy[] for findMany. - Implemented in Drizzle, Kysely, Prisma, MongoDB, and Memory adapters. - Added a test for multi-field sorting (currently skipped). - Migration - Update custom adapters to accept sortBy as SortBy | SortBy[] and apply order across fields in sequence. - Keep support for a single-object sortBy to remain backward compatible with callers. <!-- 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:22:48 -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#5439