@voyantjs/products 0.3.0 → 0.4.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 (55) hide show
  1. package/dist/index.d.ts +9 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -1
  4. package/dist/routes-public.d.ts +492 -0
  5. package/dist/routes-public.d.ts.map +1 -0
  6. package/dist/routes-public.js +44 -0
  7. package/dist/routes.d.ts +669 -0
  8. package/dist/routes.d.ts.map +1 -1
  9. package/dist/routes.js +117 -1
  10. package/dist/schema-itinerary.d.ts +51 -0
  11. package/dist/schema-itinerary.d.ts.map +1 -1
  12. package/dist/schema-itinerary.js +3 -0
  13. package/dist/schema-relations.d.ts +14 -0
  14. package/dist/schema-relations.d.ts.map +1 -1
  15. package/dist/schema-relations.js +28 -1
  16. package/dist/schema-taxonomy.d.ts +435 -0
  17. package/dist/schema-taxonomy.d.ts.map +1 -1
  18. package/dist/schema-taxonomy.js +47 -0
  19. package/dist/service-catalog.d.ts +237 -0
  20. package/dist/service-catalog.d.ts.map +1 -0
  21. package/dist/service-catalog.js +478 -0
  22. package/dist/service-public.d.ts +383 -0
  23. package/dist/service-public.d.ts.map +1 -0
  24. package/dist/service-public.js +365 -0
  25. package/dist/service.d.ts +292 -1
  26. package/dist/service.d.ts.map +1 -1
  27. package/dist/service.js +388 -2
  28. package/dist/tasks/brochure-printers.d.ts +29 -0
  29. package/dist/tasks/brochure-printers.d.ts.map +1 -0
  30. package/dist/tasks/brochure-printers.js +94 -0
  31. package/dist/tasks/brochure-templates.d.ts +36 -0
  32. package/dist/tasks/brochure-templates.d.ts.map +1 -0
  33. package/dist/tasks/brochure-templates.js +98 -0
  34. package/dist/tasks/brochures.d.ts +42 -0
  35. package/dist/tasks/brochures.d.ts.map +1 -0
  36. package/dist/tasks/brochures.js +69 -0
  37. package/dist/tasks/index.d.ts +3 -0
  38. package/dist/tasks/index.d.ts.map +1 -1
  39. package/dist/tasks/index.js +3 -0
  40. package/dist/validation-catalog.d.ts +388 -0
  41. package/dist/validation-catalog.d.ts.map +1 -0
  42. package/dist/validation-catalog.js +54 -0
  43. package/dist/validation-content.d.ts +109 -0
  44. package/dist/validation-content.d.ts.map +1 -1
  45. package/dist/validation-content.js +63 -1
  46. package/dist/validation-public.d.ts +643 -0
  47. package/dist/validation-public.d.ts.map +1 -0
  48. package/dist/validation-public.js +167 -0
  49. package/dist/validation-shared.d.ts +11 -0
  50. package/dist/validation-shared.d.ts.map +1 -1
  51. package/dist/validation-shared.js +2 -0
  52. package/dist/validation.d.ts +1 -0
  53. package/dist/validation.d.ts.map +1 -1
  54. package/dist/validation.js +1 -0
  55. package/package.json +14 -4
@@ -106,12 +106,93 @@ export declare const productLocationListQuerySchema: z.ZodObject<{
106
106
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
107
107
  offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
108
108
  }, z.core.$strip>;
109
+ export declare const insertDestinationSchema: z.ZodObject<{
110
+ parentId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
111
+ slug: z.ZodString;
112
+ code: z.ZodNullable<z.ZodOptional<z.ZodString>>;
113
+ destinationType: z.ZodDefault<z.ZodEnum<{
114
+ city: "city";
115
+ destination: "destination";
116
+ region: "region";
117
+ country: "country";
118
+ }>>;
119
+ sortOrder: z.ZodDefault<z.ZodNumber>;
120
+ active: z.ZodDefault<z.ZodBoolean>;
121
+ metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
122
+ }, z.core.$strip>;
123
+ export declare const updateDestinationSchema: z.ZodObject<{
124
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
125
+ slug: z.ZodOptional<z.ZodString>;
126
+ code: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
127
+ destinationType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
128
+ city: "city";
129
+ destination: "destination";
130
+ region: "region";
131
+ country: "country";
132
+ }>>>;
133
+ sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
134
+ active: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
135
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
136
+ }, z.core.$strip>;
137
+ export declare const destinationListQuerySchema: z.ZodObject<{
138
+ parentId: z.ZodOptional<z.ZodString>;
139
+ active: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
140
+ 0: "0";
141
+ 1: "1";
142
+ true: "true";
143
+ false: "false";
144
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
145
+ search: z.ZodOptional<z.ZodString>;
146
+ languageTag: z.ZodOptional<z.ZodString>;
147
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
148
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
149
+ }, z.core.$strip>;
150
+ export declare const insertDestinationTranslationSchema: z.ZodObject<{
151
+ languageTag: z.ZodString;
152
+ name: z.ZodString;
153
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
154
+ seoTitle: z.ZodNullable<z.ZodOptional<z.ZodString>>;
155
+ seoDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
156
+ }, z.core.$strip>;
157
+ export declare const updateDestinationTranslationSchema: z.ZodObject<{
158
+ languageTag: z.ZodOptional<z.ZodString>;
159
+ name: z.ZodOptional<z.ZodString>;
160
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
161
+ seoTitle: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
162
+ seoDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
163
+ }, z.core.$strip>;
164
+ export declare const destinationTranslationListQuerySchema: z.ZodObject<{
165
+ destinationId: z.ZodOptional<z.ZodString>;
166
+ languageTag: z.ZodOptional<z.ZodString>;
167
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
168
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
169
+ }, z.core.$strip>;
170
+ export declare const insertProductDestinationSchema: z.ZodObject<{
171
+ destinationId: z.ZodString;
172
+ sortOrder: z.ZodDefault<z.ZodNumber>;
173
+ }, z.core.$strip>;
174
+ export declare const updateProductDestinationSchema: z.ZodObject<{
175
+ destinationId: z.ZodOptional<z.ZodString>;
176
+ sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
177
+ }, z.core.$strip>;
178
+ export declare const productDestinationListQuerySchema: z.ZodObject<{
179
+ productId: z.ZodOptional<z.ZodString>;
180
+ destinationId: z.ZodOptional<z.ZodString>;
181
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
182
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
183
+ }, z.core.$strip>;
109
184
  export type InsertProductFeature = z.infer<typeof insertProductFeatureSchema>;
110
185
  export type UpdateProductFeature = z.infer<typeof updateProductFeatureSchema>;
111
186
  export type InsertProductFaq = z.infer<typeof insertProductFaqSchema>;
112
187
  export type UpdateProductFaq = z.infer<typeof updateProductFaqSchema>;
113
188
  export type InsertProductLocation = z.infer<typeof insertProductLocationSchema>;
114
189
  export type UpdateProductLocation = z.infer<typeof updateProductLocationSchema>;
190
+ export type InsertDestination = z.infer<typeof insertDestinationSchema>;
191
+ export type UpdateDestination = z.infer<typeof updateDestinationSchema>;
192
+ export type InsertDestinationTranslation = z.infer<typeof insertDestinationTranslationSchema>;
193
+ export type UpdateDestinationTranslation = z.infer<typeof updateDestinationTranslationSchema>;
194
+ export type InsertProductDestination = z.infer<typeof insertProductDestinationSchema>;
195
+ export type UpdateProductDestination = z.infer<typeof updateProductDestinationSchema>;
115
196
  export declare const insertProductTranslationSchema: z.ZodObject<{
116
197
  languageTag: z.ZodString;
117
198
  slug: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -244,6 +325,9 @@ export declare const insertProductMediaSchema: z.ZodObject<{
244
325
  altText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
245
326
  sortOrder: z.ZodDefault<z.ZodNumber>;
246
327
  isCover: z.ZodDefault<z.ZodBoolean>;
328
+ isBrochure: z.ZodDefault<z.ZodBoolean>;
329
+ isBrochureCurrent: z.ZodDefault<z.ZodBoolean>;
330
+ brochureVersion: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
247
331
  dayId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
248
332
  }, z.core.$strip>;
249
333
  export declare const updateProductMediaSchema: z.ZodObject<{
@@ -260,6 +344,18 @@ export declare const updateProductMediaSchema: z.ZodObject<{
260
344
  altText: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
261
345
  sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
262
346
  isCover: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
347
+ isBrochure: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
348
+ isBrochureCurrent: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
349
+ brochureVersion: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
350
+ }, z.core.$strip>;
351
+ export declare const upsertProductBrochureSchema: z.ZodObject<{
352
+ name: z.ZodString;
353
+ sortOrder: z.ZodDefault<z.ZodNumber>;
354
+ url: z.ZodString;
355
+ storageKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
356
+ fileSize: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
357
+ altText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
358
+ mimeType: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
263
359
  }, z.core.$strip>;
264
360
  export declare const productMediaListQuerySchema: z.ZodObject<{
265
361
  dayId: z.ZodOptional<z.ZodString>;
@@ -268,6 +364,18 @@ export declare const productMediaListQuerySchema: z.ZodObject<{
268
364
  video: "video";
269
365
  document: "document";
270
366
  }>>;
367
+ isBrochure: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
368
+ 0: "0";
369
+ 1: "1";
370
+ true: "true";
371
+ false: "false";
372
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
373
+ isBrochureCurrent: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
374
+ 0: "0";
375
+ 1: "1";
376
+ true: "true";
377
+ false: "false";
378
+ }>, z.ZodTransform<boolean, "0" | "1" | "true" | "false">>>;
271
379
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
272
380
  offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
273
381
  }, z.core.$strip>;
@@ -279,6 +387,7 @@ export declare const reorderProductMediaSchema: z.ZodObject<{
279
387
  }, z.core.$strip>;
280
388
  export type InsertProductMedia = z.infer<typeof insertProductMediaSchema>;
281
389
  export type UpdateProductMedia = z.infer<typeof updateProductMediaSchema>;
390
+ export type UpsertProductBrochure = z.infer<typeof upsertProductBrochureSchema>;
282
391
  export type ProductMediaListQuery = z.infer<typeof productMediaListQuerySchema>;
283
392
  export type ReorderProductMedia = z.infer<typeof reorderProductMediaSchema>;
284
393
  export declare const insertProductTypeSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"validation-content.d.ts","sourceRoot":"","sources":["../src/validation-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-content.d.ts","sourceRoot":"","sources":["../src/validation-content.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { booleanQueryParam, languageTagSchema, productFeatureTypeSchema, productLocationTypeSchema, serviceTypeSchema, z, } from "./validation-shared.js";
1
+ import { booleanQueryParam, destinationTypeSchema, languageTagSchema, productFeatureTypeSchema, productLocationTypeSchema, serviceTypeSchema, z, } from "./validation-shared.js";
2
2
  const productFeatureCoreSchema = z.object({
3
3
  featureType: productFeatureTypeSchema.default("highlight"),
4
4
  title: z.string().min(1).max(255),
@@ -23,6 +23,26 @@ const productLocationCoreSchema = z.object({
23
23
  tripadvisorLocationId: z.string().max(255).optional().nullable(),
24
24
  sortOrder: z.number().int().default(0),
25
25
  });
26
+ const destinationCoreSchema = z.object({
27
+ parentId: z.string().optional().nullable(),
28
+ slug: z.string().min(1).max(255),
29
+ code: z.string().max(100).optional().nullable(),
30
+ destinationType: destinationTypeSchema.default("destination"),
31
+ sortOrder: z.number().int().default(0),
32
+ active: z.boolean().default(true),
33
+ metadata: z.record(z.string(), z.unknown()).optional().nullable(),
34
+ });
35
+ const destinationTranslationCoreSchema = z.object({
36
+ languageTag: languageTagSchema,
37
+ name: z.string().min(1).max(255),
38
+ description: z.string().optional().nullable(),
39
+ seoTitle: z.string().max(255).optional().nullable(),
40
+ seoDescription: z.string().optional().nullable(),
41
+ });
42
+ const productDestinationCoreSchema = z.object({
43
+ destinationId: z.string(),
44
+ sortOrder: z.number().int().default(0),
45
+ });
26
46
  export const insertProductFeatureSchema = productFeatureCoreSchema;
27
47
  export const updateProductFeatureSchema = productFeatureCoreSchema.partial();
28
48
  export const productFeatureListQuerySchema = z.object({
@@ -46,6 +66,32 @@ export const productLocationListQuerySchema = z.object({
46
66
  limit: z.coerce.number().int().min(1).max(100).default(50),
47
67
  offset: z.coerce.number().int().min(0).default(0),
48
68
  });
69
+ export const insertDestinationSchema = destinationCoreSchema;
70
+ export const updateDestinationSchema = destinationCoreSchema.partial();
71
+ export const destinationListQuerySchema = z.object({
72
+ parentId: z.string().optional(),
73
+ active: booleanQueryParam.optional(),
74
+ search: z.string().optional(),
75
+ languageTag: languageTagSchema.optional(),
76
+ limit: z.coerce.number().int().min(1).max(100).default(50),
77
+ offset: z.coerce.number().int().min(0).default(0),
78
+ });
79
+ export const insertDestinationTranslationSchema = destinationTranslationCoreSchema;
80
+ export const updateDestinationTranslationSchema = destinationTranslationCoreSchema.partial();
81
+ export const destinationTranslationListQuerySchema = z.object({
82
+ destinationId: z.string().optional(),
83
+ languageTag: languageTagSchema.optional(),
84
+ limit: z.coerce.number().int().min(1).max(100).default(50),
85
+ offset: z.coerce.number().int().min(0).default(0),
86
+ });
87
+ export const insertProductDestinationSchema = productDestinationCoreSchema;
88
+ export const updateProductDestinationSchema = productDestinationCoreSchema.partial();
89
+ export const productDestinationListQuerySchema = z.object({
90
+ productId: z.string().optional(),
91
+ destinationId: z.string().optional(),
92
+ limit: z.coerce.number().int().min(1).max(100).default(50),
93
+ offset: z.coerce.number().int().min(0).default(0),
94
+ });
49
95
  const productTranslationCoreSchema = z.object({
50
96
  languageTag: languageTagSchema,
51
97
  slug: z.string().max(255).optional().nullable(),
@@ -117,14 +163,30 @@ const productMediaCoreSchema = z.object({
117
163
  altText: z.string().max(1000).optional().nullable(),
118
164
  sortOrder: z.number().int().default(0),
119
165
  isCover: z.boolean().default(false),
166
+ isBrochure: z.boolean().default(false),
167
+ isBrochureCurrent: z.boolean().default(false),
168
+ brochureVersion: z.number().int().min(1).optional().nullable(),
120
169
  });
121
170
  export const insertProductMediaSchema = productMediaCoreSchema.extend({
122
171
  dayId: z.string().optional().nullable(),
123
172
  });
124
173
  export const updateProductMediaSchema = productMediaCoreSchema.partial();
174
+ export const upsertProductBrochureSchema = productMediaCoreSchema
175
+ .omit({
176
+ mediaType: true,
177
+ isCover: true,
178
+ isBrochure: true,
179
+ isBrochureCurrent: true,
180
+ brochureVersion: true,
181
+ })
182
+ .extend({
183
+ mimeType: z.string().max(255).optional().nullable().default("application/pdf"),
184
+ });
125
185
  export const productMediaListQuerySchema = z.object({
126
186
  dayId: z.string().optional(),
127
187
  mediaType: productMediaTypeSchema.optional(),
188
+ isBrochure: booleanQueryParam.optional(),
189
+ isBrochureCurrent: booleanQueryParam.optional(),
128
190
  limit: z.coerce.number().int().min(1).max(200).default(50),
129
191
  offset: z.coerce.number().int().min(0).default(0),
130
192
  });