@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.
Files changed (39) hide show
  1. package/dist/routes.d.ts +4 -4
  2. package/dist/schema-core.d.ts +897 -0
  3. package/dist/schema-core.d.ts.map +1 -0
  4. package/dist/schema-core.js +77 -0
  5. package/dist/schema-itinerary.d.ts +828 -0
  6. package/dist/schema-itinerary.d.ts.map +1 -0
  7. package/dist/schema-itinerary.js +77 -0
  8. package/dist/schema-relations.d.ts +99 -0
  9. package/dist/schema-relations.d.ts.map +1 -0
  10. package/dist/schema-relations.js +155 -0
  11. package/dist/schema-settings.d.ts +1749 -0
  12. package/dist/schema-settings.d.ts.map +1 -0
  13. package/dist/schema-settings.js +175 -0
  14. package/dist/schema-shared.d.ts +15 -0
  15. package/dist/schema-shared.d.ts.map +1 -0
  16. package/dist/schema-shared.js +91 -0
  17. package/dist/schema-taxonomy.d.ts +573 -0
  18. package/dist/schema-taxonomy.d.ts.map +1 -0
  19. package/dist/schema-taxonomy.js +65 -0
  20. package/dist/schema.d.ts +6 -4155
  21. package/dist/schema.d.ts.map +1 -1
  22. package/dist/schema.js +6 -653
  23. package/dist/service.d.ts +4 -4
  24. package/dist/validation-config.d.ts +233 -0
  25. package/dist/validation-config.d.ts.map +1 -0
  26. package/dist/validation-config.js +73 -0
  27. package/dist/validation-content.d.ts +358 -0
  28. package/dist/validation-content.d.ts.map +1 -0
  29. package/dist/validation-content.js +177 -0
  30. package/dist/validation-core.d.ts +268 -0
  31. package/dist/validation-core.d.ts.map +1 -0
  32. package/dist/validation-core.js +91 -0
  33. package/dist/validation-shared.d.ts +103 -0
  34. package/dist/validation-shared.d.ts.map +1 -0
  35. package/dist/validation-shared.js +86 -0
  36. package/dist/validation.d.ts +4 -854
  37. package/dist/validation.d.ts.map +1 -1
  38. package/dist/validation.js +4 -433
  39. package/package.json +4 -4
package/dist/service.d.ts CHANGED
@@ -352,8 +352,8 @@ export declare const productsService: {
352
352
  createdAt: Date;
353
353
  updatedAt: Date;
354
354
  id: string;
355
- capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
356
355
  notes: string | null;
356
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
357
357
  } | null>;
358
358
  updateCapability(db: PostgresJsDatabase, id: string, data: UpdateProductCapabilityInput): Promise<{
359
359
  id: string;
@@ -439,8 +439,8 @@ export declare const productsService: {
439
439
  description: string | null;
440
440
  id: string;
441
441
  sortOrder: number;
442
- featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
443
442
  title: string;
443
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
444
444
  } | null>;
445
445
  updateFeature(db: PostgresJsDatabase, id: string, data: UpdateProductFeatureInput): Promise<{
446
446
  id: string;
@@ -1169,8 +1169,8 @@ export declare const productsService: {
1169
1169
  updatedAt: Date;
1170
1170
  description: string | null;
1171
1171
  id: string;
1172
- title: string | null;
1173
1172
  dayNumber: number;
1173
+ title: string | null;
1174
1174
  location: string | null;
1175
1175
  } | null | undefined>;
1176
1176
  updateDay(db: PostgresJsDatabase, dayId: string, data: UpdateDayInput): Promise<{
@@ -1618,11 +1618,11 @@ export declare const productsService: {
1618
1618
  id: string;
1619
1619
  costAmountCents: number;
1620
1620
  sortOrder: number | null;
1621
- notes: string | null;
1622
1621
  dayId: string;
1623
1622
  serviceType: "other" | "transfer" | "accommodation" | "experience" | "guide" | "meal";
1624
1623
  costCurrency: string;
1625
1624
  quantity: number;
1625
+ notes: string | null;
1626
1626
  } | null | undefined>;
1627
1627
  updateDayService(db: PostgresJsDatabase, productId: string, serviceId: string, data: UpdateDayServiceInput): Promise<{
1628
1628
  id: string;
@@ -0,0 +1,233 @@
1
+ import { z } from "./validation-shared.js";
2
+ export declare const insertProductActivationSettingSchema: z.ZodObject<{
3
+ activationMode: z.ZodDefault<z.ZodEnum<{
4
+ manual: "manual";
5
+ scheduled: "scheduled";
6
+ channel_controlled: "channel_controlled";
7
+ }>>;
8
+ activateAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
9
+ deactivateAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
+ sellAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
11
+ stopSellAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12
+ }, z.core.$strip>;
13
+ export declare const updateProductActivationSettingSchema: z.ZodObject<{
14
+ activationMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
15
+ manual: "manual";
16
+ scheduled: "scheduled";
17
+ channel_controlled: "channel_controlled";
18
+ }>>>;
19
+ activateAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
20
+ deactivateAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
21
+ sellAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
22
+ stopSellAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
23
+ }, z.core.$strip>;
24
+ export declare const productActivationSettingListQuerySchema: z.ZodObject<{
25
+ productId: z.ZodOptional<z.ZodString>;
26
+ activationMode: z.ZodOptional<z.ZodEnum<{
27
+ manual: "manual";
28
+ scheduled: "scheduled";
29
+ channel_controlled: "channel_controlled";
30
+ }>>;
31
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
32
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
33
+ }, z.core.$strip>;
34
+ export declare const insertProductTicketSettingSchema: z.ZodObject<{
35
+ fulfillmentMode: z.ZodDefault<z.ZodEnum<{
36
+ none: "none";
37
+ per_booking: "per_booking";
38
+ per_participant: "per_participant";
39
+ per_item: "per_item";
40
+ }>>;
41
+ defaultDeliveryFormat: z.ZodDefault<z.ZodEnum<{
42
+ none: "none";
43
+ voucher: "voucher";
44
+ ticket: "ticket";
45
+ pdf: "pdf";
46
+ qr_code: "qr_code";
47
+ barcode: "barcode";
48
+ email: "email";
49
+ mobile: "mobile";
50
+ }>>;
51
+ ticketPerUnit: z.ZodDefault<z.ZodBoolean>;
52
+ barcodeFormat: z.ZodNullable<z.ZodOptional<z.ZodString>>;
53
+ voucherMessage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
54
+ ticketMessage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
55
+ }, z.core.$strip>;
56
+ export declare const updateProductTicketSettingSchema: z.ZodObject<{
57
+ fulfillmentMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
58
+ none: "none";
59
+ per_booking: "per_booking";
60
+ per_participant: "per_participant";
61
+ per_item: "per_item";
62
+ }>>>;
63
+ defaultDeliveryFormat: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
64
+ none: "none";
65
+ voucher: "voucher";
66
+ ticket: "ticket";
67
+ pdf: "pdf";
68
+ qr_code: "qr_code";
69
+ barcode: "barcode";
70
+ email: "email";
71
+ mobile: "mobile";
72
+ }>>>;
73
+ ticketPerUnit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
74
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
75
+ voucherMessage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
76
+ ticketMessage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
77
+ }, z.core.$strip>;
78
+ export declare const productTicketSettingListQuerySchema: z.ZodObject<{
79
+ productId: z.ZodOptional<z.ZodString>;
80
+ fulfillmentMode: z.ZodOptional<z.ZodEnum<{
81
+ none: "none";
82
+ per_booking: "per_booking";
83
+ per_participant: "per_participant";
84
+ per_item: "per_item";
85
+ }>>;
86
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
87
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
88
+ }, z.core.$strip>;
89
+ export declare const insertProductVisibilitySettingSchema: z.ZodObject<{
90
+ isSearchable: z.ZodDefault<z.ZodBoolean>;
91
+ isBookable: z.ZodDefault<z.ZodBoolean>;
92
+ isFeatured: z.ZodDefault<z.ZodBoolean>;
93
+ requiresAuthentication: z.ZodDefault<z.ZodBoolean>;
94
+ }, z.core.$strip>;
95
+ export declare const updateProductVisibilitySettingSchema: z.ZodObject<{
96
+ isSearchable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
97
+ isBookable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
98
+ isFeatured: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
99
+ requiresAuthentication: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
100
+ }, z.core.$strip>;
101
+ export declare const productVisibilitySettingListQuerySchema: z.ZodObject<{
102
+ productId: z.ZodOptional<z.ZodString>;
103
+ isSearchable: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
104
+ 0: "0";
105
+ 1: "1";
106
+ true: "true";
107
+ false: "false";
108
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
109
+ isBookable: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
110
+ 0: "0";
111
+ 1: "1";
112
+ true: "true";
113
+ false: "false";
114
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
115
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
116
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
117
+ }, z.core.$strip>;
118
+ export declare const insertProductCapabilitySchema: z.ZodObject<{
119
+ capability: z.ZodEnum<{
120
+ on_request: "on_request";
121
+ private: "private";
122
+ instant_confirmation: "instant_confirmation";
123
+ pickup_available: "pickup_available";
124
+ dropoff_available: "dropoff_available";
125
+ guided: "guided";
126
+ shared: "shared";
127
+ digital_ticket: "digital_ticket";
128
+ voucher_required: "voucher_required";
129
+ external_inventory: "external_inventory";
130
+ multi_day: "multi_day";
131
+ accommodation: "accommodation";
132
+ transport: "transport";
133
+ }>;
134
+ enabled: z.ZodDefault<z.ZodBoolean>;
135
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
136
+ }, z.core.$strip>;
137
+ export declare const updateProductCapabilitySchema: z.ZodObject<{
138
+ capability: z.ZodOptional<z.ZodEnum<{
139
+ on_request: "on_request";
140
+ private: "private";
141
+ instant_confirmation: "instant_confirmation";
142
+ pickup_available: "pickup_available";
143
+ dropoff_available: "dropoff_available";
144
+ guided: "guided";
145
+ shared: "shared";
146
+ digital_ticket: "digital_ticket";
147
+ voucher_required: "voucher_required";
148
+ external_inventory: "external_inventory";
149
+ multi_day: "multi_day";
150
+ accommodation: "accommodation";
151
+ transport: "transport";
152
+ }>>;
153
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
154
+ notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
155
+ }, z.core.$strip>;
156
+ export declare const productCapabilityListQuerySchema: z.ZodObject<{
157
+ productId: z.ZodOptional<z.ZodString>;
158
+ capability: z.ZodOptional<z.ZodEnum<{
159
+ on_request: "on_request";
160
+ private: "private";
161
+ instant_confirmation: "instant_confirmation";
162
+ pickup_available: "pickup_available";
163
+ dropoff_available: "dropoff_available";
164
+ guided: "guided";
165
+ shared: "shared";
166
+ digital_ticket: "digital_ticket";
167
+ voucher_required: "voucher_required";
168
+ external_inventory: "external_inventory";
169
+ multi_day: "multi_day";
170
+ accommodation: "accommodation";
171
+ transport: "transport";
172
+ }>>;
173
+ enabled: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
174
+ 0: "0";
175
+ 1: "1";
176
+ true: "true";
177
+ false: "false";
178
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
179
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
180
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
181
+ }, z.core.$strip>;
182
+ export declare const insertProductDeliveryFormatSchema: z.ZodObject<{
183
+ format: z.ZodEnum<{
184
+ none: "none";
185
+ voucher: "voucher";
186
+ ticket: "ticket";
187
+ pdf: "pdf";
188
+ qr_code: "qr_code";
189
+ barcode: "barcode";
190
+ email: "email";
191
+ mobile: "mobile";
192
+ }>;
193
+ isDefault: z.ZodDefault<z.ZodBoolean>;
194
+ }, z.core.$strip>;
195
+ export declare const updateProductDeliveryFormatSchema: z.ZodObject<{
196
+ format: z.ZodOptional<z.ZodEnum<{
197
+ none: "none";
198
+ voucher: "voucher";
199
+ ticket: "ticket";
200
+ pdf: "pdf";
201
+ qr_code: "qr_code";
202
+ barcode: "barcode";
203
+ email: "email";
204
+ mobile: "mobile";
205
+ }>>;
206
+ isDefault: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
207
+ }, z.core.$strip>;
208
+ export declare const productDeliveryFormatListQuerySchema: z.ZodObject<{
209
+ productId: z.ZodOptional<z.ZodString>;
210
+ format: z.ZodOptional<z.ZodEnum<{
211
+ none: "none";
212
+ voucher: "voucher";
213
+ ticket: "ticket";
214
+ pdf: "pdf";
215
+ qr_code: "qr_code";
216
+ barcode: "barcode";
217
+ email: "email";
218
+ mobile: "mobile";
219
+ }>>;
220
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
221
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
222
+ }, z.core.$strip>;
223
+ export type InsertProductActivationSetting = z.infer<typeof insertProductActivationSettingSchema>;
224
+ export type UpdateProductActivationSetting = z.infer<typeof updateProductActivationSettingSchema>;
225
+ export type InsertProductTicketSetting = z.infer<typeof insertProductTicketSettingSchema>;
226
+ export type UpdateProductTicketSetting = z.infer<typeof updateProductTicketSettingSchema>;
227
+ export type InsertProductVisibilitySetting = z.infer<typeof insertProductVisibilitySettingSchema>;
228
+ export type UpdateProductVisibilitySetting = z.infer<typeof updateProductVisibilitySettingSchema>;
229
+ export type InsertProductCapability = z.infer<typeof insertProductCapabilitySchema>;
230
+ export type UpdateProductCapability = z.infer<typeof updateProductCapabilitySchema>;
231
+ export type InsertProductDeliveryFormat = z.infer<typeof insertProductDeliveryFormatSchema>;
232
+ export type UpdateProductDeliveryFormat = z.infer<typeof updateProductDeliveryFormatSchema>;
233
+ //# sourceMappingURL=validation-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-config.d.ts","sourceRoot":"","sources":["../src/validation-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,CAAC,EACF,MAAM,wBAAwB,CAAA;AAiC/B,eAAO,MAAM,oCAAoC;;;;;;;;;;iBAA+B,CAAA;AAChF,eAAO,MAAM,oCAAoC;;;;;;;;;;iBAAyC,CAAA;AAC1F,eAAO,MAAM,uCAAuC;;;;;;;;;iBAKlD,CAAA;AACF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;iBAA2B,CAAA;AACxE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;iBAAqC,CAAA;AAClF,eAAO,MAAM,mCAAmC;;;;;;;;;;iBAK9C,CAAA;AACF,eAAO,MAAM,oCAAoC;;;;;iBAA+B,CAAA;AAChF,eAAO,MAAM,oCAAoC;;;;;iBAAyC,CAAA;AAC1F,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;iBAMlD,CAAA;AACF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;iBAAuB,CAAA;AACjE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;iBAAiC,CAAA;AAC3E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;iBAM3C,CAAA;AACF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAA2B,CAAA;AACzE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAAqC,CAAA;AACnF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;iBAK/C,CAAA;AAEF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAC3F,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA"}
@@ -0,0 +1,73 @@
1
+ import { booleanQueryParam, productActivationModeSchema, productCapabilitySchema, productDeliveryFormatSchema, productTicketFulfillmentSchema, z, } from "./validation-shared.js";
2
+ const activationSettingsCoreSchema = z.object({
3
+ activationMode: productActivationModeSchema.default("manual"),
4
+ activateAt: z.string().datetime().optional().nullable(),
5
+ deactivateAt: z.string().datetime().optional().nullable(),
6
+ sellAt: z.string().datetime().optional().nullable(),
7
+ stopSellAt: z.string().datetime().optional().nullable(),
8
+ });
9
+ const ticketSettingsCoreSchema = z.object({
10
+ fulfillmentMode: productTicketFulfillmentSchema.default("none"),
11
+ defaultDeliveryFormat: productDeliveryFormatSchema.default("none"),
12
+ ticketPerUnit: z.boolean().default(false),
13
+ barcodeFormat: z.string().max(100).optional().nullable(),
14
+ voucherMessage: z.string().optional().nullable(),
15
+ ticketMessage: z.string().optional().nullable(),
16
+ });
17
+ const visibilitySettingsCoreSchema = z.object({
18
+ isSearchable: z.boolean().default(false),
19
+ isBookable: z.boolean().default(false),
20
+ isFeatured: z.boolean().default(false),
21
+ requiresAuthentication: z.boolean().default(false),
22
+ });
23
+ const capabilityCoreSchema = z.object({
24
+ capability: productCapabilitySchema,
25
+ enabled: z.boolean().default(true),
26
+ notes: z.string().optional().nullable(),
27
+ });
28
+ const deliveryFormatCoreSchema = z.object({
29
+ format: productDeliveryFormatSchema,
30
+ isDefault: z.boolean().default(false),
31
+ });
32
+ export const insertProductActivationSettingSchema = activationSettingsCoreSchema;
33
+ export const updateProductActivationSettingSchema = activationSettingsCoreSchema.partial();
34
+ export const productActivationSettingListQuerySchema = z.object({
35
+ productId: z.string().optional(),
36
+ activationMode: productActivationModeSchema.optional(),
37
+ limit: z.coerce.number().int().min(1).max(100).default(50),
38
+ offset: z.coerce.number().int().min(0).default(0),
39
+ });
40
+ export const insertProductTicketSettingSchema = ticketSettingsCoreSchema;
41
+ export const updateProductTicketSettingSchema = ticketSettingsCoreSchema.partial();
42
+ export const productTicketSettingListQuerySchema = z.object({
43
+ productId: z.string().optional(),
44
+ fulfillmentMode: productTicketFulfillmentSchema.optional(),
45
+ limit: z.coerce.number().int().min(1).max(100).default(50),
46
+ offset: z.coerce.number().int().min(0).default(0),
47
+ });
48
+ export const insertProductVisibilitySettingSchema = visibilitySettingsCoreSchema;
49
+ export const updateProductVisibilitySettingSchema = visibilitySettingsCoreSchema.partial();
50
+ export const productVisibilitySettingListQuerySchema = z.object({
51
+ productId: z.string().optional(),
52
+ isSearchable: booleanQueryParam.optional(),
53
+ isBookable: booleanQueryParam.optional(),
54
+ limit: z.coerce.number().int().min(1).max(100).default(50),
55
+ offset: z.coerce.number().int().min(0).default(0),
56
+ });
57
+ export const insertProductCapabilitySchema = capabilityCoreSchema;
58
+ export const updateProductCapabilitySchema = capabilityCoreSchema.partial();
59
+ export const productCapabilityListQuerySchema = z.object({
60
+ productId: z.string().optional(),
61
+ capability: productCapabilitySchema.optional(),
62
+ enabled: booleanQueryParam.optional(),
63
+ limit: z.coerce.number().int().min(1).max(100).default(50),
64
+ offset: z.coerce.number().int().min(0).default(0),
65
+ });
66
+ export const insertProductDeliveryFormatSchema = deliveryFormatCoreSchema;
67
+ export const updateProductDeliveryFormatSchema = deliveryFormatCoreSchema.partial();
68
+ export const productDeliveryFormatListQuerySchema = z.object({
69
+ productId: z.string().optional(),
70
+ format: productDeliveryFormatSchema.optional(),
71
+ limit: z.coerce.number().int().min(1).max(100).default(50),
72
+ offset: z.coerce.number().int().min(0).default(0),
73
+ });