22 lines
817 B
TypeScript
22 lines
817 B
TypeScript
import { z } from 'zod'
|
|
|
|
export const signInSchema = z.object({
|
|
email: z.string().email('Invalid email address'),
|
|
password: z.string().min(6, 'Password must be at least 6 characters'),
|
|
})
|
|
|
|
export const signUpSchema = z.object({
|
|
name: z.string().min(2, 'Name must be at least 2 characters'),
|
|
email: z.string().email('Invalid email address'),
|
|
password: z.string().min(6, 'Password must be at least 6 characters'),
|
|
confirmPassword: z.string(),
|
|
phone: z.string().optional(),
|
|
referralCode: z.string().optional(),
|
|
role: z.enum(['CUSTOMER', 'MEMBER']).optional(),
|
|
}).refine((data) => data.password === data.confirmPassword, {
|
|
message: "Passwords don't match",
|
|
path: ["confirmPassword"],
|
|
})
|
|
|
|
export type SignInValues = z.infer<typeof signInSchema>
|
|
export type SignUpValues = z.infer<typeof signUpSchema> |