From 73a1535f34dd489e1326f515812b4501b4319dfd Mon Sep 17 00:00:00 2001 From: GautamBytes Date: Wed, 3 Dec 2025 07:17:38 +0000 Subject: [PATCH] fix(db): unwrap validator result to store raw value --- packages/better-auth/src/db/schema.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/better-auth/src/db/schema.ts b/packages/better-auth/src/db/schema.ts index 637472861f..8c50a6c3b1 100644 --- a/packages/better-auth/src/db/schema.ts +++ b/packages/better-auth/src/db/schema.ts @@ -112,9 +112,20 @@ export function parseInputData>( continue; } if (fields[key]!.validator?.input && data[key] !== undefined) { - parsedData[key] = fields[key]!.validator.input["~standard"].validate( + const result = fields[key]!.validator.input["~standard"].validate( data[key], ); + if (result instanceof Promise) { + throw new APIError("INTERNAL_SERVER_ERROR", { + message: "Async validation is not supported for additional fields", + }); + } + if ("issues" in result && result.issues) { + throw new APIError("BAD_REQUEST", { + message: result.issues[0]?.message || "Validation Error", + }); + } + parsedData[key] = result.value; continue; } if (fields[key]!.transform?.input && data[key] !== undefined) {