From ca808996280fa92aeefd68350d146c425bd22d2f Mon Sep 17 00:00:00 2001 From: Jonathan Samines Date: Mon, 15 Dec 2025 23:11:16 -0600 Subject: [PATCH] chore: delete session with hooks (#6792) --- .../better-auth/src/api/routes/sign-out.test.ts | 15 +++++++++++++-- packages/better-auth/src/db/internal-adapter.ts | 15 ++++++--------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/better-auth/src/api/routes/sign-out.test.ts b/packages/better-auth/src/api/routes/sign-out.test.ts index 340e20dd03..b6cb051d7c 100644 --- a/packages/better-auth/src/api/routes/sign-out.test.ts +++ b/packages/better-auth/src/api/routes/sign-out.test.ts @@ -1,8 +1,17 @@ -import { describe, expect } from "vitest"; +import { describe, expect, vi } from "vitest"; import { getTestInstance } from "../../test-utils/test-instance"; describe("sign-out", async (it) => { - const { signInWithTestUser, client } = await getTestInstance(); + const afterSessionDeleted = vi.fn(); + const { signInWithTestUser, client } = await getTestInstance({ + databaseHooks: { + session: { + delete: { + after: afterSessionDeleted, + }, + }, + }, + }); it("should sign out", async () => { const { runWithUser } = await signInWithTestUser(); @@ -11,6 +20,8 @@ describe("sign-out", async (it) => { expect(res.data).toMatchObject({ success: true, }); + + expect(afterSessionDeleted).toHaveBeenCalled(); }); }); }); diff --git a/packages/better-auth/src/db/internal-adapter.ts b/packages/better-auth/src/db/internal-adapter.ts index 6f4dd0ecf2..bdf73131de 100644 --- a/packages/better-auth/src/db/internal-adapter.ts +++ b/packages/better-auth/src/db/internal-adapter.ts @@ -586,15 +586,12 @@ export const createInternalAdapter = ( return; } } - await (await getCurrentAdapter(adapter)).delete({ - model: "session", - where: [ - { - field: "token", - value: token, - }, - ], - }); + + await deleteWithHooks( + [{ field: "token", value: token }], + "session", + undefined, + ); }, deleteAccounts: async (userId: string) => { await deleteManyWithHooks(