diff --git a/.changeset/wild-pianos-join.md b/.changeset/wild-pianos-join.md deleted file mode 100644 index 202bbe8a67..0000000000 --- a/.changeset/wild-pianos-join.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"better-auth": patch ---- - -fix(username): `isUsernameAvailable` should run validation diff --git a/packages/better-auth/src/plugins/username/index.ts b/packages/better-auth/src/plugins/username/index.ts index e7df89136d..3dfd0c5359 100644 --- a/packages/better-auth/src/plugins/username/index.ts +++ b/packages/better-auth/src/plugins/username/index.ts @@ -268,30 +268,6 @@ export const username = (options?: UsernameOptions) => { message: ERROR_CODES.INVALID_USERNAME, }); } - const minUsernameLength = options?.minUsernameLength || 3; - const maxUsernameLength = options?.maxUsernameLength || 30; - if (username.length < minUsernameLength) { - throw new APIError("UNPROCESSABLE_ENTITY", { - message: ERROR_CODES.USERNAME_TOO_SHORT, - }); - } - - if (username.length > maxUsernameLength) { - throw new APIError("UNPROCESSABLE_ENTITY", { - message: ERROR_CODES.USERNAME_TOO_LONG, - }); - } - - const validator = - options?.usernameValidator || defaultUsernameValidator; - - const valid = await validator(username); - if (!valid) { - throw new APIError("UNPROCESSABLE_ENTITY", { - message: ERROR_CODES.INVALID_USERNAME, - }); - } - const user = await ctx.context.adapter.findOne({ model: "user", where: [