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