Files
monisuo/monisuo-admin/src/pages/users/data/schema.ts
2026-03-22 13:55:23 +08:00

24 lines
698 B
TypeScript

import { z } from 'zod'
export const userStatusSchema = z.enum(['active', 'inactive', 'invited', 'suspended'])
export type UserStatus = z.infer<typeof userStatusSchema>
export const userRoleSchema = z.enum(['superadmin', 'admin', 'cashier', 'manager'])
export type UserRole = z.infer<typeof userRoleSchema>
export const userSchema = z.object({
id: z.string(),
firstName: z.string(),
lastName: z.string(),
username: z.string(),
email: z.string(),
phoneNumber: z.string(),
status: userStatusSchema,
role: userRoleSchema,
createdAt: z.coerce.date(),
updatedAt: z.coerce.date(),
})
export type User = z.infer<typeof userSchema>
export const userListSchema = z.array(userSchema)