@voyantjs/products 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/routes.d.ts +4 -4
- package/dist/schema-core.d.ts +897 -0
- package/dist/schema-core.d.ts.map +1 -0
- package/dist/schema-core.js +77 -0
- package/dist/schema-itinerary.d.ts +828 -0
- package/dist/schema-itinerary.d.ts.map +1 -0
- package/dist/schema-itinerary.js +77 -0
- package/dist/schema-relations.d.ts +99 -0
- package/dist/schema-relations.d.ts.map +1 -0
- package/dist/schema-relations.js +155 -0
- package/dist/schema-settings.d.ts +1749 -0
- package/dist/schema-settings.d.ts.map +1 -0
- package/dist/schema-settings.js +175 -0
- package/dist/schema-shared.d.ts +15 -0
- package/dist/schema-shared.d.ts.map +1 -0
- package/dist/schema-shared.js +91 -0
- package/dist/schema-taxonomy.d.ts +573 -0
- package/dist/schema-taxonomy.d.ts.map +1 -0
- package/dist/schema-taxonomy.js +65 -0
- package/dist/schema.d.ts +6 -4155
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +6 -653
- package/dist/service.d.ts +4 -4
- package/dist/validation-config.d.ts +233 -0
- package/dist/validation-config.d.ts.map +1 -0
- package/dist/validation-config.js +73 -0
- package/dist/validation-content.d.ts +358 -0
- package/dist/validation-content.d.ts.map +1 -0
- package/dist/validation-content.js +177 -0
- package/dist/validation-core.d.ts +268 -0
- package/dist/validation-core.d.ts.map +1 -0
- package/dist/validation-core.js +91 -0
- package/dist/validation-shared.d.ts +103 -0
- package/dist/validation-shared.d.ts.map +1 -0
- package/dist/validation-shared.js +86 -0
- package/dist/validation.d.ts +4 -854
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +4 -433
- package/package.json +4 -4
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { z } from "./validation-shared.js";
|
|
2
|
+
export declare const insertProductFeatureSchema: z.ZodObject<{
|
|
3
|
+
featureType: z.ZodDefault<z.ZodEnum<{
|
|
4
|
+
other: "other";
|
|
5
|
+
inclusion: "inclusion";
|
|
6
|
+
exclusion: "exclusion";
|
|
7
|
+
highlight: "highlight";
|
|
8
|
+
important_information: "important_information";
|
|
9
|
+
}>>;
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
12
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const updateProductFeatureSchema: z.ZodObject<{
|
|
15
|
+
featureType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
16
|
+
other: "other";
|
|
17
|
+
inclusion: "inclusion";
|
|
18
|
+
exclusion: "exclusion";
|
|
19
|
+
highlight: "highlight";
|
|
20
|
+
important_information: "important_information";
|
|
21
|
+
}>>>;
|
|
22
|
+
title: z.ZodOptional<z.ZodString>;
|
|
23
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
24
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const productFeatureListQuerySchema: z.ZodObject<{
|
|
27
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
28
|
+
featureType: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
other: "other";
|
|
30
|
+
inclusion: "inclusion";
|
|
31
|
+
exclusion: "exclusion";
|
|
32
|
+
highlight: "highlight";
|
|
33
|
+
important_information: "important_information";
|
|
34
|
+
}>>;
|
|
35
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
36
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare const insertProductFaqSchema: z.ZodObject<{
|
|
39
|
+
question: z.ZodString;
|
|
40
|
+
answer: z.ZodString;
|
|
41
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export declare const updateProductFaqSchema: z.ZodObject<{
|
|
44
|
+
question: z.ZodOptional<z.ZodString>;
|
|
45
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
46
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const productFaqListQuerySchema: z.ZodObject<{
|
|
49
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
50
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
51
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export declare const insertProductLocationSchema: z.ZodObject<{
|
|
54
|
+
locationType: z.ZodDefault<z.ZodEnum<{
|
|
55
|
+
other: "other";
|
|
56
|
+
start: "start";
|
|
57
|
+
end: "end";
|
|
58
|
+
meeting_point: "meeting_point";
|
|
59
|
+
pickup: "pickup";
|
|
60
|
+
dropoff: "dropoff";
|
|
61
|
+
point_of_interest: "point_of_interest";
|
|
62
|
+
}>>;
|
|
63
|
+
title: z.ZodString;
|
|
64
|
+
address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
65
|
+
city: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
66
|
+
countryCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
67
|
+
latitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
68
|
+
longitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
69
|
+
googlePlaceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
70
|
+
applePlaceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
71
|
+
tripadvisorLocationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
72
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
export declare const updateProductLocationSchema: z.ZodObject<{
|
|
75
|
+
locationType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
76
|
+
other: "other";
|
|
77
|
+
start: "start";
|
|
78
|
+
end: "end";
|
|
79
|
+
meeting_point: "meeting_point";
|
|
80
|
+
pickup: "pickup";
|
|
81
|
+
dropoff: "dropoff";
|
|
82
|
+
point_of_interest: "point_of_interest";
|
|
83
|
+
}>>>;
|
|
84
|
+
title: z.ZodOptional<z.ZodString>;
|
|
85
|
+
address: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
86
|
+
city: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
87
|
+
countryCode: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
88
|
+
latitude: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
89
|
+
longitude: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
90
|
+
googlePlaceId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
91
|
+
applePlaceId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
92
|
+
tripadvisorLocationId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
93
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
94
|
+
}, z.core.$strip>;
|
|
95
|
+
export declare const productLocationListQuerySchema: z.ZodObject<{
|
|
96
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
97
|
+
locationType: z.ZodOptional<z.ZodEnum<{
|
|
98
|
+
other: "other";
|
|
99
|
+
start: "start";
|
|
100
|
+
end: "end";
|
|
101
|
+
meeting_point: "meeting_point";
|
|
102
|
+
pickup: "pickup";
|
|
103
|
+
dropoff: "dropoff";
|
|
104
|
+
point_of_interest: "point_of_interest";
|
|
105
|
+
}>>;
|
|
106
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
107
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
export type InsertProductFeature = z.infer<typeof insertProductFeatureSchema>;
|
|
110
|
+
export type UpdateProductFeature = z.infer<typeof updateProductFeatureSchema>;
|
|
111
|
+
export type InsertProductFaq = z.infer<typeof insertProductFaqSchema>;
|
|
112
|
+
export type UpdateProductFaq = z.infer<typeof updateProductFaqSchema>;
|
|
113
|
+
export type InsertProductLocation = z.infer<typeof insertProductLocationSchema>;
|
|
114
|
+
export type UpdateProductLocation = z.infer<typeof updateProductLocationSchema>;
|
|
115
|
+
export declare const insertProductTranslationSchema: z.ZodObject<{
|
|
116
|
+
languageTag: z.ZodString;
|
|
117
|
+
slug: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
118
|
+
name: z.ZodString;
|
|
119
|
+
shortDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
120
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
121
|
+
seoTitle: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
122
|
+
seoDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
export declare const updateProductTranslationSchema: z.ZodObject<{
|
|
125
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
126
|
+
slug: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
127
|
+
name: z.ZodOptional<z.ZodString>;
|
|
128
|
+
shortDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
129
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
130
|
+
seoTitle: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
131
|
+
seoDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
export declare const productTranslationListQuerySchema: z.ZodObject<{
|
|
134
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
135
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
136
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
137
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
138
|
+
}, z.core.$strip>;
|
|
139
|
+
export declare const insertProductOptionTranslationSchema: z.ZodObject<{
|
|
140
|
+
languageTag: z.ZodString;
|
|
141
|
+
name: z.ZodString;
|
|
142
|
+
shortDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
143
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
144
|
+
}, z.core.$strip>;
|
|
145
|
+
export declare const updateProductOptionTranslationSchema: z.ZodObject<{
|
|
146
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
147
|
+
name: z.ZodOptional<z.ZodString>;
|
|
148
|
+
shortDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
149
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
export declare const productOptionTranslationListQuerySchema: z.ZodObject<{
|
|
152
|
+
optionId: z.ZodOptional<z.ZodString>;
|
|
153
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
154
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
155
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
156
|
+
}, z.core.$strip>;
|
|
157
|
+
export declare const insertOptionUnitTranslationSchema: z.ZodObject<{
|
|
158
|
+
languageTag: z.ZodString;
|
|
159
|
+
name: z.ZodString;
|
|
160
|
+
shortDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
161
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
162
|
+
}, z.core.$strip>;
|
|
163
|
+
export declare const updateOptionUnitTranslationSchema: z.ZodObject<{
|
|
164
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
165
|
+
name: z.ZodOptional<z.ZodString>;
|
|
166
|
+
shortDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
167
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
168
|
+
}, z.core.$strip>;
|
|
169
|
+
export declare const optionUnitTranslationListQuerySchema: z.ZodObject<{
|
|
170
|
+
unitId: z.ZodOptional<z.ZodString>;
|
|
171
|
+
languageTag: z.ZodOptional<z.ZodString>;
|
|
172
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
173
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
174
|
+
}, z.core.$strip>;
|
|
175
|
+
export type InsertProductTranslation = z.infer<typeof insertProductTranslationSchema>;
|
|
176
|
+
export type UpdateProductTranslation = z.infer<typeof updateProductTranslationSchema>;
|
|
177
|
+
export type InsertProductOptionTranslation = z.infer<typeof insertProductOptionTranslationSchema>;
|
|
178
|
+
export type UpdateProductOptionTranslation = z.infer<typeof updateProductOptionTranslationSchema>;
|
|
179
|
+
export type InsertOptionUnitTranslation = z.infer<typeof insertOptionUnitTranslationSchema>;
|
|
180
|
+
export type UpdateOptionUnitTranslation = z.infer<typeof updateOptionUnitTranslationSchema>;
|
|
181
|
+
export declare const insertDaySchema: z.ZodObject<{
|
|
182
|
+
dayNumber: z.ZodNumber;
|
|
183
|
+
title: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
184
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
185
|
+
location: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
186
|
+
}, z.core.$strip>;
|
|
187
|
+
export declare const updateDaySchema: z.ZodObject<{
|
|
188
|
+
dayNumber: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
190
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
191
|
+
location: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
192
|
+
}, z.core.$strip>;
|
|
193
|
+
export type InsertDay = z.infer<typeof insertDaySchema>;
|
|
194
|
+
export type UpdateDay = z.infer<typeof updateDaySchema>;
|
|
195
|
+
export declare const insertDayServiceSchema: z.ZodObject<{
|
|
196
|
+
serviceType: z.ZodEnum<{
|
|
197
|
+
other: "other";
|
|
198
|
+
transfer: "transfer";
|
|
199
|
+
accommodation: "accommodation";
|
|
200
|
+
experience: "experience";
|
|
201
|
+
guide: "guide";
|
|
202
|
+
meal: "meal";
|
|
203
|
+
}>;
|
|
204
|
+
name: z.ZodString;
|
|
205
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
206
|
+
supplierServiceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
207
|
+
costCurrency: z.ZodString;
|
|
208
|
+
costAmountCents: z.ZodNumber;
|
|
209
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
210
|
+
sortOrder: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
211
|
+
notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
212
|
+
}, z.core.$strip>;
|
|
213
|
+
export declare const updateDayServiceSchema: z.ZodObject<{
|
|
214
|
+
serviceType: z.ZodOptional<z.ZodEnum<{
|
|
215
|
+
other: "other";
|
|
216
|
+
transfer: "transfer";
|
|
217
|
+
accommodation: "accommodation";
|
|
218
|
+
experience: "experience";
|
|
219
|
+
guide: "guide";
|
|
220
|
+
meal: "meal";
|
|
221
|
+
}>>;
|
|
222
|
+
name: z.ZodOptional<z.ZodString>;
|
|
223
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
224
|
+
supplierServiceId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
225
|
+
costCurrency: z.ZodOptional<z.ZodString>;
|
|
226
|
+
costAmountCents: z.ZodOptional<z.ZodNumber>;
|
|
227
|
+
quantity: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
228
|
+
sortOrder: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
229
|
+
notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
230
|
+
}, z.core.$strip>;
|
|
231
|
+
export type InsertDayService = z.infer<typeof insertDayServiceSchema>;
|
|
232
|
+
export type UpdateDayService = z.infer<typeof updateDayServiceSchema>;
|
|
233
|
+
export declare const insertProductMediaSchema: z.ZodObject<{
|
|
234
|
+
mediaType: z.ZodEnum<{
|
|
235
|
+
image: "image";
|
|
236
|
+
video: "video";
|
|
237
|
+
document: "document";
|
|
238
|
+
}>;
|
|
239
|
+
name: z.ZodString;
|
|
240
|
+
url: z.ZodString;
|
|
241
|
+
storageKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
242
|
+
mimeType: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
243
|
+
fileSize: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
244
|
+
altText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
245
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
246
|
+
isCover: z.ZodDefault<z.ZodBoolean>;
|
|
247
|
+
dayId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
248
|
+
}, z.core.$strip>;
|
|
249
|
+
export declare const updateProductMediaSchema: z.ZodObject<{
|
|
250
|
+
mediaType: z.ZodOptional<z.ZodEnum<{
|
|
251
|
+
image: "image";
|
|
252
|
+
video: "video";
|
|
253
|
+
document: "document";
|
|
254
|
+
}>>;
|
|
255
|
+
name: z.ZodOptional<z.ZodString>;
|
|
256
|
+
url: z.ZodOptional<z.ZodString>;
|
|
257
|
+
storageKey: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
258
|
+
mimeType: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
259
|
+
fileSize: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
260
|
+
altText: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
261
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
262
|
+
isCover: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
263
|
+
}, z.core.$strip>;
|
|
264
|
+
export declare const productMediaListQuerySchema: z.ZodObject<{
|
|
265
|
+
dayId: z.ZodOptional<z.ZodString>;
|
|
266
|
+
mediaType: z.ZodOptional<z.ZodEnum<{
|
|
267
|
+
image: "image";
|
|
268
|
+
video: "video";
|
|
269
|
+
document: "document";
|
|
270
|
+
}>>;
|
|
271
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
272
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
273
|
+
}, z.core.$strip>;
|
|
274
|
+
export declare const reorderProductMediaSchema: z.ZodObject<{
|
|
275
|
+
items: z.ZodArray<z.ZodObject<{
|
|
276
|
+
id: z.ZodString;
|
|
277
|
+
sortOrder: z.ZodNumber;
|
|
278
|
+
}, z.core.$strip>>;
|
|
279
|
+
}, z.core.$strip>;
|
|
280
|
+
export type InsertProductMedia = z.infer<typeof insertProductMediaSchema>;
|
|
281
|
+
export type UpdateProductMedia = z.infer<typeof updateProductMediaSchema>;
|
|
282
|
+
export type ProductMediaListQuery = z.infer<typeof productMediaListQuerySchema>;
|
|
283
|
+
export type ReorderProductMedia = z.infer<typeof reorderProductMediaSchema>;
|
|
284
|
+
export declare const insertProductTypeSchema: z.ZodObject<{
|
|
285
|
+
name: z.ZodString;
|
|
286
|
+
code: z.ZodString;
|
|
287
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
288
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
289
|
+
active: z.ZodDefault<z.ZodBoolean>;
|
|
290
|
+
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
291
|
+
}, z.core.$strip>;
|
|
292
|
+
export declare const updateProductTypeSchema: z.ZodObject<{
|
|
293
|
+
name: z.ZodOptional<z.ZodString>;
|
|
294
|
+
code: z.ZodOptional<z.ZodString>;
|
|
295
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
296
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
297
|
+
active: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
298
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
|
|
299
|
+
}, z.core.$strip>;
|
|
300
|
+
export declare const productTypeListQuerySchema: z.ZodObject<{
|
|
301
|
+
active: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
|
|
302
|
+
0: "0";
|
|
303
|
+
1: "1";
|
|
304
|
+
true: "true";
|
|
305
|
+
false: "false";
|
|
306
|
+
}>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
|
|
307
|
+
search: z.ZodOptional<z.ZodString>;
|
|
308
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
309
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
310
|
+
}, z.core.$strip>;
|
|
311
|
+
export type InsertProductType = z.infer<typeof insertProductTypeSchema>;
|
|
312
|
+
export type UpdateProductType = z.infer<typeof updateProductTypeSchema>;
|
|
313
|
+
export declare const insertProductCategorySchema: z.ZodObject<{
|
|
314
|
+
name: z.ZodString;
|
|
315
|
+
slug: z.ZodString;
|
|
316
|
+
parentId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
317
|
+
description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
318
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
319
|
+
active: z.ZodDefault<z.ZodBoolean>;
|
|
320
|
+
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
321
|
+
}, z.core.$strip>;
|
|
322
|
+
export declare const updateProductCategorySchema: z.ZodObject<{
|
|
323
|
+
name: z.ZodOptional<z.ZodString>;
|
|
324
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
325
|
+
parentId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
326
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
327
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
328
|
+
active: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
329
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
|
|
330
|
+
}, z.core.$strip>;
|
|
331
|
+
export declare const productCategoryListQuerySchema: z.ZodObject<{
|
|
332
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
333
|
+
active: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
|
|
334
|
+
0: "0";
|
|
335
|
+
1: "1";
|
|
336
|
+
true: "true";
|
|
337
|
+
false: "false";
|
|
338
|
+
}>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
|
|
339
|
+
search: z.ZodOptional<z.ZodString>;
|
|
340
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
341
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
342
|
+
}, z.core.$strip>;
|
|
343
|
+
export type InsertProductCategory = z.infer<typeof insertProductCategorySchema>;
|
|
344
|
+
export type UpdateProductCategory = z.infer<typeof updateProductCategorySchema>;
|
|
345
|
+
export declare const insertProductTagSchema: z.ZodObject<{
|
|
346
|
+
name: z.ZodString;
|
|
347
|
+
}, z.core.$strip>;
|
|
348
|
+
export declare const updateProductTagSchema: z.ZodObject<{
|
|
349
|
+
name: z.ZodOptional<z.ZodString>;
|
|
350
|
+
}, z.core.$strip>;
|
|
351
|
+
export declare const productTagListQuerySchema: z.ZodObject<{
|
|
352
|
+
search: z.ZodOptional<z.ZodString>;
|
|
353
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
354
|
+
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
355
|
+
}, z.core.$strip>;
|
|
356
|
+
export type InsertProductTag = z.infer<typeof insertProductTagSchema>;
|
|
357
|
+
export type UpdateProductTag = z.infer<typeof updateProductTagSchema>;
|
|
358
|
+
//# sourceMappingURL=validation-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-content.d.ts","sourceRoot":"","sources":["../src/validation-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { booleanQueryParam, languageTagSchema, productFeatureTypeSchema, productLocationTypeSchema, serviceTypeSchema, z, } from "./validation-shared.js";
|
|
2
|
+
const productFeatureCoreSchema = z.object({
|
|
3
|
+
featureType: productFeatureTypeSchema.default("highlight"),
|
|
4
|
+
title: z.string().min(1).max(255),
|
|
5
|
+
description: z.string().optional().nullable(),
|
|
6
|
+
sortOrder: z.number().int().default(0),
|
|
7
|
+
});
|
|
8
|
+
const productFaqCoreSchema = z.object({
|
|
9
|
+
question: z.string().min(1).max(1000),
|
|
10
|
+
answer: z.string().min(1).max(10000),
|
|
11
|
+
sortOrder: z.number().int().default(0),
|
|
12
|
+
});
|
|
13
|
+
const productLocationCoreSchema = z.object({
|
|
14
|
+
locationType: productLocationTypeSchema.default("point_of_interest"),
|
|
15
|
+
title: z.string().min(1).max(255),
|
|
16
|
+
address: z.string().max(1000).optional().nullable(),
|
|
17
|
+
city: z.string().max(255).optional().nullable(),
|
|
18
|
+
countryCode: z.string().min(2).max(2).optional().nullable(),
|
|
19
|
+
latitude: z.number().min(-90).max(90).optional().nullable(),
|
|
20
|
+
longitude: z.number().min(-180).max(180).optional().nullable(),
|
|
21
|
+
googlePlaceId: z.string().max(255).optional().nullable(),
|
|
22
|
+
applePlaceId: z.string().max(255).optional().nullable(),
|
|
23
|
+
tripadvisorLocationId: z.string().max(255).optional().nullable(),
|
|
24
|
+
sortOrder: z.number().int().default(0),
|
|
25
|
+
});
|
|
26
|
+
export const insertProductFeatureSchema = productFeatureCoreSchema;
|
|
27
|
+
export const updateProductFeatureSchema = productFeatureCoreSchema.partial();
|
|
28
|
+
export const productFeatureListQuerySchema = z.object({
|
|
29
|
+
productId: z.string().optional(),
|
|
30
|
+
featureType: productFeatureTypeSchema.optional(),
|
|
31
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
32
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
33
|
+
});
|
|
34
|
+
export const insertProductFaqSchema = productFaqCoreSchema;
|
|
35
|
+
export const updateProductFaqSchema = productFaqCoreSchema.partial();
|
|
36
|
+
export const productFaqListQuerySchema = z.object({
|
|
37
|
+
productId: z.string().optional(),
|
|
38
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
39
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
40
|
+
});
|
|
41
|
+
export const insertProductLocationSchema = productLocationCoreSchema;
|
|
42
|
+
export const updateProductLocationSchema = productLocationCoreSchema.partial();
|
|
43
|
+
export const productLocationListQuerySchema = z.object({
|
|
44
|
+
productId: z.string().optional(),
|
|
45
|
+
locationType: productLocationTypeSchema.optional(),
|
|
46
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
47
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
48
|
+
});
|
|
49
|
+
const productTranslationCoreSchema = z.object({
|
|
50
|
+
languageTag: languageTagSchema,
|
|
51
|
+
slug: z.string().max(255).optional().nullable(),
|
|
52
|
+
name: z.string().min(1).max(255),
|
|
53
|
+
shortDescription: z.string().optional().nullable(),
|
|
54
|
+
description: z.string().optional().nullable(),
|
|
55
|
+
seoTitle: z.string().max(255).optional().nullable(),
|
|
56
|
+
seoDescription: z.string().optional().nullable(),
|
|
57
|
+
});
|
|
58
|
+
const optionTranslationCoreSchema = z.object({
|
|
59
|
+
languageTag: languageTagSchema,
|
|
60
|
+
name: z.string().min(1).max(255),
|
|
61
|
+
shortDescription: z.string().optional().nullable(),
|
|
62
|
+
description: z.string().optional().nullable(),
|
|
63
|
+
});
|
|
64
|
+
export const insertProductTranslationSchema = productTranslationCoreSchema;
|
|
65
|
+
export const updateProductTranslationSchema = productTranslationCoreSchema.partial();
|
|
66
|
+
export const productTranslationListQuerySchema = z.object({
|
|
67
|
+
productId: z.string().optional(),
|
|
68
|
+
languageTag: languageTagSchema.optional(),
|
|
69
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
70
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
71
|
+
});
|
|
72
|
+
export const insertProductOptionTranslationSchema = optionTranslationCoreSchema;
|
|
73
|
+
export const updateProductOptionTranslationSchema = optionTranslationCoreSchema.partial();
|
|
74
|
+
export const productOptionTranslationListQuerySchema = z.object({
|
|
75
|
+
optionId: z.string().optional(),
|
|
76
|
+
languageTag: languageTagSchema.optional(),
|
|
77
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
78
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
79
|
+
});
|
|
80
|
+
export const insertOptionUnitTranslationSchema = optionTranslationCoreSchema;
|
|
81
|
+
export const updateOptionUnitTranslationSchema = optionTranslationCoreSchema.partial();
|
|
82
|
+
export const optionUnitTranslationListQuerySchema = z.object({
|
|
83
|
+
unitId: z.string().optional(),
|
|
84
|
+
languageTag: languageTagSchema.optional(),
|
|
85
|
+
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
86
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
87
|
+
});
|
|
88
|
+
const dayCoreSchema = z.object({
|
|
89
|
+
dayNumber: z.number().int().positive(),
|
|
90
|
+
title: z.string().max(255).optional().nullable(),
|
|
91
|
+
description: z.string().optional().nullable(),
|
|
92
|
+
location: z.string().max(255).optional().nullable(),
|
|
93
|
+
});
|
|
94
|
+
export const insertDaySchema = dayCoreSchema;
|
|
95
|
+
export const updateDaySchema = dayCoreSchema.partial();
|
|
96
|
+
const dayServiceCoreSchema = z.object({
|
|
97
|
+
serviceType: serviceTypeSchema,
|
|
98
|
+
name: z.string().min(1).max(255),
|
|
99
|
+
description: z.string().optional().nullable(),
|
|
100
|
+
supplierServiceId: z.string().optional().nullable(),
|
|
101
|
+
costCurrency: z.string().min(3).max(3),
|
|
102
|
+
costAmountCents: z.number().int().min(0),
|
|
103
|
+
quantity: z.number().int().positive().default(1),
|
|
104
|
+
sortOrder: z.number().int().optional().nullable(),
|
|
105
|
+
notes: z.string().optional().nullable(),
|
|
106
|
+
});
|
|
107
|
+
export const insertDayServiceSchema = dayServiceCoreSchema;
|
|
108
|
+
export const updateDayServiceSchema = dayServiceCoreSchema.partial();
|
|
109
|
+
const productMediaTypeSchema = z.enum(["image", "video", "document"]);
|
|
110
|
+
const productMediaCoreSchema = z.object({
|
|
111
|
+
mediaType: productMediaTypeSchema,
|
|
112
|
+
name: z.string().min(1).max(500),
|
|
113
|
+
url: z.string().min(1).max(2048),
|
|
114
|
+
storageKey: z.string().max(1024).optional().nullable(),
|
|
115
|
+
mimeType: z.string().max(255).optional().nullable(),
|
|
116
|
+
fileSize: z.number().int().min(0).optional().nullable(),
|
|
117
|
+
altText: z.string().max(1000).optional().nullable(),
|
|
118
|
+
sortOrder: z.number().int().default(0),
|
|
119
|
+
isCover: z.boolean().default(false),
|
|
120
|
+
});
|
|
121
|
+
export const insertProductMediaSchema = productMediaCoreSchema.extend({
|
|
122
|
+
dayId: z.string().optional().nullable(),
|
|
123
|
+
});
|
|
124
|
+
export const updateProductMediaSchema = productMediaCoreSchema.partial();
|
|
125
|
+
export const productMediaListQuerySchema = z.object({
|
|
126
|
+
dayId: z.string().optional(),
|
|
127
|
+
mediaType: productMediaTypeSchema.optional(),
|
|
128
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
129
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
130
|
+
});
|
|
131
|
+
export const reorderProductMediaSchema = z.object({
|
|
132
|
+
items: z.array(z.object({ id: z.string(), sortOrder: z.number().int() })),
|
|
133
|
+
});
|
|
134
|
+
const productTypeCoreSchema = z.object({
|
|
135
|
+
name: z.string().min(1).max(255),
|
|
136
|
+
code: z.string().min(1).max(100),
|
|
137
|
+
description: z.string().optional().nullable(),
|
|
138
|
+
sortOrder: z.number().int().default(0),
|
|
139
|
+
active: z.boolean().default(true),
|
|
140
|
+
metadata: z.record(z.string(), z.unknown()).optional().nullable(),
|
|
141
|
+
});
|
|
142
|
+
export const insertProductTypeSchema = productTypeCoreSchema;
|
|
143
|
+
export const updateProductTypeSchema = productTypeCoreSchema.partial();
|
|
144
|
+
export const productTypeListQuerySchema = z.object({
|
|
145
|
+
active: booleanQueryParam.optional(),
|
|
146
|
+
search: z.string().optional(),
|
|
147
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
148
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
149
|
+
});
|
|
150
|
+
const productCategoryCoreSchema = z.object({
|
|
151
|
+
name: z.string().min(1).max(255),
|
|
152
|
+
slug: z.string().min(1).max(255),
|
|
153
|
+
parentId: z.string().optional().nullable(),
|
|
154
|
+
description: z.string().optional().nullable(),
|
|
155
|
+
sortOrder: z.number().int().default(0),
|
|
156
|
+
active: z.boolean().default(true),
|
|
157
|
+
metadata: z.record(z.string(), z.unknown()).optional().nullable(),
|
|
158
|
+
});
|
|
159
|
+
export const insertProductCategorySchema = productCategoryCoreSchema;
|
|
160
|
+
export const updateProductCategorySchema = productCategoryCoreSchema.partial();
|
|
161
|
+
export const productCategoryListQuerySchema = z.object({
|
|
162
|
+
parentId: z.string().optional(),
|
|
163
|
+
active: booleanQueryParam.optional(),
|
|
164
|
+
search: z.string().optional(),
|
|
165
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
166
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
167
|
+
});
|
|
168
|
+
const productTagCoreSchema = z.object({
|
|
169
|
+
name: z.string().min(1).max(255),
|
|
170
|
+
});
|
|
171
|
+
export const insertProductTagSchema = productTagCoreSchema;
|
|
172
|
+
export const updateProductTagSchema = productTagCoreSchema.partial();
|
|
173
|
+
export const productTagListQuerySchema = z.object({
|
|
174
|
+
search: z.string().optional(),
|
|
175
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
176
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
177
|
+
});
|