gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/dialogs/mutation/schema.ts · v0.3.0-alpha2
Source
1 857e289 Mrdn 2y ago import { z } from 'zod';
2 857e289 Mrdn 2y ago
3 857e289 Mrdn 2y ago export const UserSchema = z.object({
4 857e289 Mrdn 2y ago username: z.string().min(1, { message: 'Username is required' }),
5 857e289 Mrdn 2y ago note: z.string().nullable(),
6 857e289 Mrdn 2y ago data_limit: z
7 857e289 Mrdn 2y ago .string()
8 857e289 Mrdn 2y ago .min(0, 'The minimum number is 0')
9 857e289 Mrdn 2y ago .or(z.number())
10 857e289 Mrdn 2y ago .nullable()
11 857e289 Mrdn 2y ago .transform((str) => {
12 857e289 Mrdn 2y ago if (str) return Number((parseFloat(String(str)) * 1073741824).toFixed(5));
13 857e289 Mrdn 2y ago return 0;
14 857e289 Mrdn 2y ago }),
15 857e289 Mrdn 2y ago expire: z.string().nullable(),
16 857e289 Mrdn 2y ago data_limit_reset_strategy: z.string().nullable(),
17 857e289 Mrdn 2y ago status: z.string(),
18 857e289 Mrdn 2y ago on_hold_expire_duration: z.number().nullable(),
19 857e289 Mrdn 2y ago on_hold_timeout: z.string().nullable(),
20 857e289 Mrdn 2y ago services: z.array(z.number().or(z.string())).nonempty({ message: 'At least one service is required' })
21 857e289 Mrdn 2y ago .transform((v) => v.map(Number)),
22 857e289 Mrdn 2y ago });