refactor: remove username from User model, login by email only
This commit is contained in:
@@ -1,12 +1,7 @@
|
||||
import { z } from "zod"
|
||||
|
||||
export const signInSchema = z.object({
|
||||
username: z
|
||||
.string()
|
||||
.min(1, {
|
||||
error: "Invalid username",
|
||||
})
|
||||
.nonempty("Username is required"),
|
||||
email: z.email().nonempty("Email is required"),
|
||||
password: z
|
||||
.string()
|
||||
.min(3, {
|
||||
|
||||
@@ -5,7 +5,6 @@ import type { Dictionary } from "@/i18n/dictionaries"
|
||||
export type UserSchemaCopy = Dictionary["admin"]["users"]["schema"]
|
||||
|
||||
export const defaultUserSchemaCopy: UserSchemaCopy = {
|
||||
usernameRequired: "Username is required",
|
||||
nameRequired: "Name is required",
|
||||
emailInvalid: "Invalid email",
|
||||
passwordMinLength: "Password must be at least 8 characters",
|
||||
@@ -20,7 +19,6 @@ function buildUserPasswordSchema(copy: UserSchemaCopy) {
|
||||
|
||||
export function buildCreateUserSchema(copy: UserSchemaCopy) {
|
||||
return z.object({
|
||||
username: z.string().trim().min(1, { error: copy.usernameRequired }),
|
||||
name: z.string().trim().min(1, { error: copy.nameRequired }),
|
||||
email: z.email({ error: copy.emailInvalid }),
|
||||
password: buildUserPasswordSchema(copy),
|
||||
@@ -34,7 +32,6 @@ export const createUserSchema = buildCreateUserSchema(defaultUserSchemaCopy)
|
||||
export function buildUpdateUserSchema(copy: UserSchemaCopy) {
|
||||
return z.object({
|
||||
id: z.string().min(1, { error: copy.userIdRequired }),
|
||||
username: z.string().trim().min(1, { error: copy.usernameRequired }),
|
||||
name: z.string().trim().min(1, { error: copy.nameRequired }),
|
||||
email: z.email({ error: copy.emailInvalid }),
|
||||
role: userRoleSchema,
|
||||
|
||||
Reference in New Issue
Block a user