diff --git a/demo/nextjs/lib/auth.ts b/demo/nextjs/lib/auth.ts index f43a39b0..5d03d92d 100644 --- a/demo/nextjs/lib/auth.ts +++ b/demo/nextjs/lib/auth.ts @@ -39,11 +39,10 @@ export const auth = betterAuth({ }, }, plugins: [ - rateLimiter({ - enabled: true, - - max: 1000, - }), + // rateLimiter({ + // enabled: true, + // max: 1000, + // }), organization({ async sendInvitationEmail(data) { const res = await resend.emails.send({ diff --git a/packages/better-auth/package.json b/packages/better-auth/package.json index e4a96226..4ac53cbf 100644 --- a/packages/better-auth/package.json +++ b/packages/better-auth/package.json @@ -81,7 +81,7 @@ "@simplewebauthn/browser": "^10.0.0", "@simplewebauthn/server": "^10.0.1", "arctic": "2.0.0-next.9", - "better-call": "0.2.3-beta.3", + "better-call": "0.2.3-beta.8", "better-sqlite3": "^11.1.2", "c12": "^1.11.2", "chalk": "^5.3.0", diff --git a/packages/better-auth/src/api/call.ts b/packages/better-auth/src/api/call.ts index 3e1e8391..3c7c3808 100644 --- a/packages/better-auth/src/api/call.ts +++ b/packages/better-auth/src/api/call.ts @@ -21,8 +21,7 @@ export const createAuthMiddleware = createMiddlewareCreator({ use: [ optionsMiddleware, /** - * This of for hooks. to tell ts there will a - * return response object + * Only use for post hooks */ createMiddleware(async () => { return {} as { diff --git a/packages/better-auth/src/api/index.ts b/packages/better-auth/src/api/index.ts index 828e7192..769b0d83 100644 --- a/packages/better-auth/src/api/index.ts +++ b/packages/better-auth/src/api/index.ts @@ -105,25 +105,29 @@ export function getEndpoints< let api: Record = {}; for (const [key, value] of Object.entries(endpoints)) { api[key] = async (context: any) => { - for (const plugin of ctx.options.plugins || []) { - if (plugin.hooks?.before) { - for (const hook of plugin.hooks.before) { - const match = hook.matcher({ - ...context, - ...value, - }); - if (match) { - const hookRes = await hook.handler(context); - if (hookRes && "context" in hookRes) { - context = { - ...context, - ...hookRes.context, - ...value, - }; - } - } - } - } + // for (const plugin of ctx.options.plugins || []) { + // if (plugin.hooks?.before) { + // for (const hook of plugin.hooks.before) { + // const match = hook.matcher({ + // ...context, + // ...value, + // }); + // if (match) { + // const hookRes = await hook.handler(context); + // if (hookRes && "context" in hookRes) { + // context = { + // ...context, + // ...hookRes.context, + // ...value, + // }; + // } + // } + // } + // } + // } + if (context.path === "/user/update") { + const res = await api[key].options.use[1](context); + console.log(res); } /** * TODO: move this to respond a json response @@ -187,7 +191,6 @@ export const router = ( }, ...middlewares, ], - onError(e) { if (options.disableLog !== true) { if (e instanceof APIError) { @@ -196,7 +199,7 @@ export const router = ( if (typeof e === "object" && e !== null && "message" in e) { const errorMessage = e.message as string; if (!errorMessage || typeof errorMessage !== "string") { - logger.warn(e); + logger.error(e); return; } if (errorMessage.includes("no such table")) { @@ -224,10 +227,10 @@ export const router = ( )} to create the tables. There are missing tables in your MySQL database.`, ); } else { - logger.warn(e); + logger.error(e); } } else { - logger.warn(e); + logger.error(e); } } } diff --git a/packages/better-auth/src/api/middlewares/index.ts b/packages/better-auth/src/api/middlewares/index.ts index 1c72ea4e..5016badd 100644 --- a/packages/better-auth/src/api/middlewares/index.ts +++ b/packages/better-auth/src/api/middlewares/index.ts @@ -1,2 +1 @@ export * from "./csrf"; -export * from "./session"; diff --git a/packages/better-auth/src/api/middlewares/session.ts b/packages/better-auth/src/api/middlewares/session.ts deleted file mode 100644 index ddce1524..00000000 --- a/packages/better-auth/src/api/middlewares/session.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { APIError } from "better-call"; -import { createAuthMiddleware } from "../call"; -import { getSessionFromCtx } from "../routes"; - -export const sessionMiddleware = createAuthMiddleware(async (ctx) => { - const session = await getSessionFromCtx(ctx); - if (!session?.session) { - throw new APIError("UNAUTHORIZED"); - } - return { - session, - }; -}); diff --git a/packages/better-auth/src/api/routes/session.ts b/packages/better-auth/src/api/routes/session.ts index c2f543eb..34a8ede1 100644 --- a/packages/better-auth/src/api/routes/session.ts +++ b/packages/better-auth/src/api/routes/session.ts @@ -1,8 +1,7 @@ -import type { Context, InferUse } from "better-call"; -import { createAuthEndpoint } from "../call"; +import { APIError, type Context, type InferUse } from "better-call"; +import { createAuthEndpoint, createAuthMiddleware } from "../call"; import { getDate } from "../../utils/date"; import { deleteSessionCookie, setSessionCookie } from "../../utils/cookies"; -import { sessionMiddleware } from "../middlewares/session"; import type { Session, User } from "../../adapters/schema"; import { z } from "zod"; import { getIp } from "../../utils/get-request-ip"; @@ -67,14 +66,18 @@ export const getSession =