barcha apilar ulandi

This commit is contained in:
Samandar Turgunboyev
2025-10-31 20:17:37 +05:00
parent 77bce24399
commit 3f8b9881de
3 changed files with 47 additions and 42 deletions

View File

@@ -57,10 +57,8 @@ export const TourformSchema = z.object({
.min(1, { message: "Jonash vaqti majburiy" })
.refine(
(val) => {
// HH:MM:SS formatini tekshirish
const parts = val.split(":");
if (parts.length !== 3) return false;
const [hour, minute, second] = parts.map(Number);
return (
!isNaN(hour) &&
@@ -84,10 +82,8 @@ export const TourformSchema = z.object({
.min(1, { message: "Jonash vaqti majburiy" })
.refine(
(val) => {
// HH:MM:SS formatini tekshirish
const parts = val.split(":");
if (parts.length !== 3) return false;
const [hour, minute, second] = parts.map(Number);
return (
!isNaN(hour) &&
@@ -105,7 +101,7 @@ export const TourformSchema = z.object({
),
}),
languages: z.string().min(1, { message: "Majburiy maydon" }),
duration: z.number().min(1, { message: "Kamida 1kun bo'lishi kerak" }),
duration: z.number().min(1, { message: "Kamida 1 kun bo'lishi kerak" }),
badges: z.array(z.number()).optional(),
tarif: z
.array(
@@ -113,18 +109,17 @@ export const TourformSchema = z.object({
tariff: z.number().min(1, { message: "Transport ID majburiy" }),
price: z
.number()
.min(0, { message: "Narx 0 dan kichik bolishi mumkin emas" }), // 0 ham ruxsat
.min(0, { message: "Narx 0 dan kichik bolishi mumkin emas" }),
}),
)
.min(1, { message: "Kamida bitta transport tanlang." }),
transport: z
.array(
z.object({
transport: z.number().min(1, { message: "Transport ID majburiy" }),
price: z
.number()
.min(0, { message: "Narx 0 dan kichik bolishi mumkin emas" }), // 0 ham ruxsat
.min(0, { message: "Narx 0 dan kichik bolishi mumkin emas" }),
}),
)
.min(1, { message: "Kamida bitta transport tanlang." }),
@@ -135,23 +130,26 @@ export const TourformSchema = z.object({
amenities: z
.array(
z.object({
name: z.string().min(1, { message: "Majburoy maydon" }),
name_ru: z.string().min(1, { message: "Majburoy maydon" }),
icon_name: z.string().min(1, { message: "Majburoy maydon" }),
name: z.string().min(1, { message: "Majburiy maydon" }),
name_ru: z.string().min(1, { message: "Majburiy maydon" }),
icon_name: z.string().min(1, { message: "Majburiy maydon" }),
}),
)
.min(1, { message: "Kamida bitta qulaylik kiriting." }),
// 🔹 Quyidagilar endi ixtiyoriy (required emas)
hotel_services: z
.array(
z.object({
image: z.any().nullable(),
title: z.string().min(1, "Xizmat nomi majburiy"),
title_ru: z.string().min(1, { message: "Majburoy maydon" }),
title_ru: z.string().min(1, { message: "Majburiy maydon" }),
description: z.string().min(1, "Tavsif majburiy"),
desc_ru: z.string().min(1, { message: "Majburoy maydon" }),
desc_ru: z.string().min(1, { message: "Majburiy maydon" }),
}),
)
.min(1, { message: "Kamida bitta xizmat kiriting." }),
.optional(),
hotel_meals: z
.array(
z.object({
@@ -184,6 +182,7 @@ export const TourformSchema = z.object({
}),
)
.min(1, { message: "Kamida bitta xizmat kiriting." }),
extra_service: z
.array(
z.object({
@@ -191,7 +190,7 @@ export const TourformSchema = z.object({
name_ru: z.string().min(1, { message: "Xizmat nomi (RU) majburiy" }),
}),
)
.min(1, { message: "Kamida bitta bepul xizmat kiriting." }),
.optional(),
paid_extra_service: z
.array(
@@ -203,5 +202,5 @@ export const TourformSchema = z.object({
.min(0, { message: "Narx manfiy bolishi mumkin emas." }),
}),
)
.min(1, { message: "Kamida bitta pullik xizmat kiriting." }),
.optional(),
});