initial: standalone repo from monorepo split
This commit is contained in:
25
packages/shared/src/schemas/auth.ts
Normal file
25
packages/shared/src/schemas/auth.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
export const loginSchema = z.object({
|
||||
email: z.string().email('Invalid email address'),
|
||||
password: z.string().min(8, 'Password must be at least 8 characters'),
|
||||
});
|
||||
|
||||
export const registerTenantSchema = z.object({
|
||||
tenantName: z.string().min(2, 'Tenant name must be at least 2 characters'),
|
||||
slug: z
|
||||
.string()
|
||||
.min(2)
|
||||
.max(50)
|
||||
.regex(
|
||||
/^[a-z0-9-]+$/,
|
||||
'Slug must contain only lowercase letters, numbers, and hyphens',
|
||||
),
|
||||
adminEmail: z.string().email('Invalid email address'),
|
||||
adminPassword: z.string().min(8, 'Password must be at least 8 characters'),
|
||||
adminFirstName: z.string().min(1, 'First name is required'),
|
||||
adminLastName: z.string().min(1, 'Last name is required'),
|
||||
});
|
||||
|
||||
export type LoginInput = z.infer<typeof loginSchema>;
|
||||
export type RegisterTenantInput = z.infer<typeof registerTenantSchema>;
|
||||
Reference in New Issue
Block a user