24 lines
886 B
TypeScript
24 lines
886 B
TypeScript
import { z } from 'zod'
|
|
|
|
export const companySignupSchema = z.object({
|
|
firstName: z.string().min(1).max(80),
|
|
lastName: z.string().min(1).max(80),
|
|
email: z.string().email(),
|
|
password: z.string().min(8).max(128),
|
|
companyName: z.string().min(2).max(120),
|
|
legalForm: z.string().min(1).max(80),
|
|
registrationNumber: z.string().min(1).max(120),
|
|
streetAddress: z.string().min(1).max(200),
|
|
city: z.string().min(1).max(120),
|
|
country: z.string().min(1).max(120),
|
|
zipCode: z.string().min(1).max(40),
|
|
companyPhone: z.string().min(1).max(80),
|
|
fax: z.string().max(80).optional(),
|
|
yearsActive: z.string().min(1).max(80),
|
|
preferredLanguage: z.enum(['en', 'fr', 'ar']).default('en'),
|
|
plan: z.enum(['STARTER', 'GROWTH', 'PRO']),
|
|
billingPeriod: z.enum(['MONTHLY', 'ANNUAL']),
|
|
currency: z.enum(['MAD', 'USD', 'EUR']),
|
|
paymentProvider: z.enum(['AMANPAY', 'PAYPAL']),
|
|
})
|