From 897080946dba033b63f7b295ee48c0d6eedcdcfb Mon Sep 17 00:00:00 2001 From: Bereket Engida <86073083+Bekacru@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:02:05 +0300 Subject: [PATCH] fix: update user should infer additional fields properly (#716) --- .../better-auth/src/api/routes/update-user.test.ts | 2 +- packages/better-auth/src/db/field.ts | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/better-auth/src/api/routes/update-user.test.ts b/packages/better-auth/src/api/routes/update-user.test.ts index a638d0cbab..a8a80f8b7e 100644 --- a/packages/better-auth/src/api/routes/update-user.test.ts +++ b/packages/better-auth/src/api/routes/update-user.test.ts @@ -4,7 +4,7 @@ import { getTestInstance } from "../../test-utils/test-instance"; describe("updateUser", async () => { const sendChangeEmail = vi.fn(); let emailVerificationToken = ""; - const { client, testUser, sessionSetter, db } = await getTestInstance({ + const { client, testUser, sessionSetter, db, auth } = await getTestInstance({ emailVerification: { async sendVerificationEmail({ user, url, token }) { emailVerificationToken = token; diff --git a/packages/better-auth/src/db/field.ts b/packages/better-auth/src/db/field.ts index 21dc5d90ec..14c953a403 100644 --- a/packages/better-auth/src/db/field.ts +++ b/packages/better-auth/src/db/field.ts @@ -163,9 +163,15 @@ export type InferFieldsInputClient = Field extends Record< ? never : Field[key]["defaultValue"] extends string | number | boolean | Date ? never - : key]: InferFieldInput; + : Field[key]["input"] extends false + ? never + : key]: InferFieldInput; } & { - [key in Key]?: InferFieldInput | undefined | null; + [key in Key as Field[key]["input"] extends false + ? never + : Field[key]["required"] extends false + ? key + : never]?: InferFieldInput | undefined | null; } : {};