gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/pages/users/dialog/form-schema.ts · v0.2.1
Source
1 a47eb4c Dawsh 2y ago
2 bf7c131 Mardin 2y ago import { z } from 'zod';
3 89f8f93 Mardin 2y ago import { UserCreate } from 'types';
4 a47eb4c Dawsh 2y ago
5 a47eb4c Dawsh 2y ago export type FormType = Pick<UserCreate, keyof UserCreate>;
6 a47eb4c Dawsh 2y ago export const schema = z.object({
7 bf7c131 Mardin 2y ago username: z.string().min(1, { message: 'Username is required' }),
8 bf7c131 Mardin 2y ago note: z.string().nullable(),
9 bf7c131 Mardin 2y ago data_limit: z
10 bf7c131 Mardin 2y ago .string()
11 bf7c131 Mardin 2y ago .min(0, 'The minimum number is 0')
12 bf7c131 Mardin 2y ago .or(z.number())
13 bf7c131 Mardin 2y ago .nullable()
14 bf7c131 Mardin 2y ago .transform((str) => {
15 bf7c131 Mardin 2y ago if (str) return Number((parseFloat(String(str)) * 1073741824).toFixed(5));
16 bf7c131 Mardin 2y ago return 0;
17 bf7c131 Mardin 2y ago }),
18 bf7c131 Mardin 2y ago expire: z.number().nullable(),
19 bf7c131 Mardin 2y ago data_limit_reset_strategy: z.string(),
20 bf7c131 Mardin 2y ago status: z.string(),
21 bf7c131 Mardin 2y ago services: z.array(z.number()).nonempty({ message: 'At least one service is required' }),
22 a47eb4c Dawsh 2y ago });