diff --git a/packages/better-auth/package.json b/packages/better-auth/package.json index 8198591764..35274c5a7b 100644 --- a/packages/better-auth/package.json +++ b/packages/better-auth/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "NODE_OPTIONS='--max-old-space-size=4000' tsup --clean --dts", "dev": "NODE_OPTIONS='--max-old-space-size=4000' tsup --watch --sourcemap", - "dev:dts": "NODE_OPTIONS='--max-old-space-size=4000' tsup --watch --dts", + "dev:dts": "NODE_OPTIONS='--max-old-space-size=8192' tsup --watch --dts", "test": "pnpm prisma:push && pnpm typecheck && vitest", "prisma:push": "prisma db push --schema src/adapters/prisma-adapter/test/schema.prisma", "test:adapters": "pnpm prisma:push && vitest adapters", diff --git a/packages/better-auth/src/adapters/drizzle-adapter/index.ts b/packages/better-auth/src/adapters/drizzle-adapter/index.ts index 05e8d65795..b2f352b04b 100644 --- a/packages/better-auth/src/adapters/drizzle-adapter/index.ts +++ b/packages/better-auth/src/adapters/drizzle-adapter/index.ts @@ -90,8 +90,14 @@ export const drizzleAdapter = ( schema, usePlural: options.usePlural, }); - const res = await db.insert(schemaModel).values(val).returning(); + const mutation = db.insert(schemaModel).values(val); + if (databaseType !== "mysql") return (await mutation.returning())[0]; + await mutation; + const res = await db + .select() + .from(schemaModel) + .where(eq(schemaModel.id, (data.data as { id: string }).id)); return res[0]; }, async findOne(data) { @@ -150,11 +156,17 @@ export const drizzleAdapter = ( usePlural: options.usePlural, }); const wheres = whereConvertor(where, schemaModel); - const res = await db + const mutation = db .update(schemaModel) .set(update) - .where(...wheres) - .returning(); + .where(...wheres); + if (databaseType !== "mysql") return (await mutation.returning())[0]; + + await mutation; + const res = await db + .select() + .from(schemaModel) + .where(eq(schemaModel.id, (data.update as { id: string }).id)); return res[0]; }, async delete(data) { diff --git a/packages/better-auth/src/api/routes/session.ts b/packages/better-auth/src/api/routes/session.ts index 6323c23b97..661b7e0813 100644 --- a/packages/better-auth/src/api/routes/session.ts +++ b/packages/better-auth/src/api/routes/session.ts @@ -12,25 +12,6 @@ import type { Prettify, } from "../../types"; -/** - * Generate a unique key for the request to cache the - * request for 5 seconds for this specific request. - * - * This is to prevent reaching to database if getSession is - * called multiple times for the same request - */ -function getRequestUniqueKey(ctx: Context, token: string): string { - if (!ctx.request) { - return ""; - } - const { method, url, headers } = ctx.request; - const userAgent = ctx.request.headers.get("User-Agent") || ""; - const ip = getIp(ctx.request) || ""; - const headerString = JSON.stringify(headers); - const uniqueString = `${method}:${url}:${headerString}:${userAgent}:${ip}:${token}`; - return uniqueString; -} - export const getSession =