diff --git a/dashboard/src/modules/users/domain/schema.ts b/dashboard/src/modules/users/domain/schema.ts index c3fd503..7830b62 100644 --- a/dashboard/src/modules/users/domain/schema.ts +++ b/dashboard/src/modules/users/domain/schema.ts @@ -1,35 +1,28 @@ -import { z } from 'zod'; -import { DATA_LIMIT_METRIC } from '@marzneshin/modules/users'; +import { z } from "zod"; +import { DATA_LIMIT_METRIC } from "@marzneshin/modules/users"; export const UserSchema = z.object({ - username: z.string().min(1, { message: 'Username is required' }), + username: z.string().min(1, { message: "Username is required" }), note: z.string().nullable(), data_limit: z - .union([z.string().transform((str) => (Number(str))), z.number()]) - .refine(val => val >= 0, { message: 'The minimum number is 0' }) - .transform((val) => (Math.round(val)) * DATA_LIMIT_METRIC) + .union([z.string().transform((str) => Number(str)), z.number()]) + .refine((val) => val >= 0, { message: "The minimum number is 0" }) + .transform((val) => Math.round(val * DATA_LIMIT_METRIC)) .nullable() .optional(), data_limit_reset_strategy: z .enum(["no_reset", "day", "week", "month", "year"]) .or(z.number()) .or(z.string()) - .nullable().optional(), - expire_strategy: z.enum(["never", "fixed_date", "start_on_first_use"]), - usage_duration: z.number().nullable().optional(), - activation_deadline: z - .string() - .or(z.date()) - .nullable() - .optional(), - expire_date: z - .string() - .or(z.date()) .nullable() .optional(), + expire_strategy: z.enum(["never", "fixed_date", "start_on_first_use"]), + usage_duration: z.number().nullable().optional(), + activation_deadline: z.string().or(z.date()).nullable().optional(), + expire_date: z.string().or(z.date()).nullable().optional(), service_ids: z .array(z.number().or(z.string())) - .nonempty({ message: 'At least one service is required' }) + .nonempty({ message: "At least one service is required" }) .transform((v) => v.map(Number)), });