@voyantjs/products 0.3.1 → 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.
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/routes-public.d.ts +167 -12
- package/dist/routes-public.d.ts.map +1 -1
- package/dist/routes-public.js +13 -1
- package/dist/routes.d.ts +669 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +117 -1
- package/dist/schema-itinerary.d.ts +51 -0
- package/dist/schema-itinerary.d.ts.map +1 -1
- package/dist/schema-itinerary.js +3 -0
- package/dist/schema-relations.d.ts +14 -0
- package/dist/schema-relations.d.ts.map +1 -1
- package/dist/schema-relations.js +28 -1
- package/dist/schema-taxonomy.d.ts +435 -0
- package/dist/schema-taxonomy.d.ts.map +1 -1
- package/dist/schema-taxonomy.js +47 -0
- package/dist/service-catalog.d.ts +237 -0
- package/dist/service-catalog.d.ts.map +1 -0
- package/dist/service-catalog.js +478 -0
- package/dist/service-public.d.ts +136 -12
- package/dist/service-public.d.ts.map +1 -1
- package/dist/service-public.js +146 -260
- package/dist/service.d.ts +292 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +388 -2
- package/dist/tasks/brochure-printers.d.ts +29 -0
- package/dist/tasks/brochure-printers.d.ts.map +1 -0
- package/dist/tasks/brochure-printers.js +94 -0
- package/dist/tasks/brochure-templates.d.ts +36 -0
- package/dist/tasks/brochure-templates.d.ts.map +1 -0
- package/dist/tasks/brochure-templates.js +98 -0
- package/dist/tasks/brochures.d.ts +42 -0
- package/dist/tasks/brochures.d.ts.map +1 -0
- package/dist/tasks/brochures.js +69 -0
- package/dist/tasks/index.d.ts +3 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +3 -0
- package/dist/validation-catalog.d.ts +388 -0
- package/dist/validation-catalog.d.ts.map +1 -0
- package/dist/validation-catalog.js +54 -0
- package/dist/validation-content.d.ts +109 -0
- package/dist/validation-content.d.ts.map +1 -1
- package/dist/validation-content.js +63 -1
- package/dist/validation-public.d.ts +208 -19
- package/dist/validation-public.d.ts.map +1 -1
- package/dist/validation-public.js +39 -2
- package/dist/validation-shared.d.ts +6 -0
- package/dist/validation-shared.d.ts.map +1 -1
- package/dist/validation-shared.js +1 -0
- package/package.json +6 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { booleanQueryParam, languageTagSchema, productBookingModeSchema, productCapabilitySchema, productCapacityModeSchema, productFeatureTypeSchema, productLocationTypeSchema, productMediaTypeSchema, productVisibilitySchema, } from "./validation-shared.js";
|
|
2
|
+
import { booleanQueryParam, destinationTypeSchema, languageTagSchema, productBookingModeSchema, productCapabilitySchema, productCapacityModeSchema, productFeatureTypeSchema, productLocationTypeSchema, productMediaTypeSchema, productVisibilitySchema, } from "./validation-shared.js";
|
|
3
3
|
export const publicCatalogProductListQuerySchema = z.object({
|
|
4
4
|
search: z.string().optional(),
|
|
5
5
|
languageTag: languageTagSchema.optional(),
|
|
@@ -8,6 +8,12 @@ export const publicCatalogProductListQuerySchema = z.object({
|
|
|
8
8
|
productTypeId: z.string().optional(),
|
|
9
9
|
categoryId: z.string().optional(),
|
|
10
10
|
tagId: z.string().optional(),
|
|
11
|
+
destinationId: z.string().optional(),
|
|
12
|
+
destinationSlug: z.string().trim().min(1).optional(),
|
|
13
|
+
locationTitle: z.string().trim().min(1).optional(),
|
|
14
|
+
locationCity: z.string().trim().min(1).optional(),
|
|
15
|
+
locationCountryCode: z.string().trim().min(2).max(3).optional(),
|
|
16
|
+
locationType: productLocationTypeSchema.optional(),
|
|
11
17
|
featured: booleanQueryParam.optional(),
|
|
12
18
|
sort: z.enum(["name", "createdAt", "startDate", "price"]).default("name"),
|
|
13
19
|
direction: z.enum(["asc", "desc"]).default("asc"),
|
|
@@ -25,6 +31,15 @@ export const publicCatalogTagListQuerySchema = z.object({
|
|
|
25
31
|
limit: z.coerce.number().int().min(1).max(100).default(100),
|
|
26
32
|
offset: z.coerce.number().int().min(0).default(0),
|
|
27
33
|
});
|
|
34
|
+
export const publicCatalogDestinationListQuerySchema = z.object({
|
|
35
|
+
search: z.string().optional(),
|
|
36
|
+
parentId: z.string().optional(),
|
|
37
|
+
active: booleanQueryParam.optional(),
|
|
38
|
+
languageTag: languageTagSchema.optional(),
|
|
39
|
+
destinationType: destinationTypeSchema.optional(),
|
|
40
|
+
limit: z.coerce.number().int().min(1).max(100).default(100),
|
|
41
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
42
|
+
});
|
|
28
43
|
export const publicCatalogProductLookupBySlugQuerySchema = z.object({
|
|
29
44
|
languageTag: languageTagSchema.optional(),
|
|
30
45
|
});
|
|
@@ -55,6 +70,9 @@ export const publicCatalogProductMediaSchema = z.object({
|
|
|
55
70
|
altText: z.string().nullable(),
|
|
56
71
|
sortOrder: z.number().int(),
|
|
57
72
|
isCover: z.boolean(),
|
|
73
|
+
isBrochure: z.boolean(),
|
|
74
|
+
isBrochureCurrent: z.boolean(),
|
|
75
|
+
brochureVersion: z.number().int().nullable(),
|
|
58
76
|
});
|
|
59
77
|
export const publicCatalogProductFeatureSchema = z.object({
|
|
60
78
|
id: z.string(),
|
|
@@ -80,6 +98,17 @@ export const publicCatalogProductLocationSchema = z.object({
|
|
|
80
98
|
longitude: z.number().nullable(),
|
|
81
99
|
sortOrder: z.number().int(),
|
|
82
100
|
});
|
|
101
|
+
export const publicCatalogDestinationSchema = z.object({
|
|
102
|
+
id: z.string(),
|
|
103
|
+
parentId: z.string().nullable(),
|
|
104
|
+
slug: z.string(),
|
|
105
|
+
name: z.string(),
|
|
106
|
+
description: z.string().nullable(),
|
|
107
|
+
seoTitle: z.string().nullable(),
|
|
108
|
+
seoDescription: z.string().nullable(),
|
|
109
|
+
destinationType: destinationTypeSchema,
|
|
110
|
+
sortOrder: z.number().int(),
|
|
111
|
+
});
|
|
83
112
|
export const publicCatalogProductSummarySchema = z.object({
|
|
84
113
|
id: z.string(),
|
|
85
114
|
name: z.string(),
|
|
@@ -101,14 +130,16 @@ export const publicCatalogProductSummarySchema = z.object({
|
|
|
101
130
|
categories: z.array(publicCatalogProductCategorySchema),
|
|
102
131
|
tags: z.array(publicCatalogProductTagSchema),
|
|
103
132
|
capabilities: z.array(productCapabilitySchema),
|
|
133
|
+
destinations: z.array(publicCatalogDestinationSchema),
|
|
134
|
+
locations: z.array(publicCatalogProductLocationSchema),
|
|
104
135
|
coverMedia: publicCatalogProductMediaSchema.nullable(),
|
|
105
136
|
isFeatured: z.boolean(),
|
|
106
137
|
});
|
|
107
138
|
export const publicCatalogProductDetailSchema = publicCatalogProductSummarySchema.extend({
|
|
139
|
+
brochure: publicCatalogProductMediaSchema.nullable(),
|
|
108
140
|
media: z.array(publicCatalogProductMediaSchema),
|
|
109
141
|
features: z.array(publicCatalogProductFeatureSchema),
|
|
110
142
|
faqs: z.array(publicCatalogProductFaqSchema),
|
|
111
|
-
locations: z.array(publicCatalogProductLocationSchema),
|
|
112
143
|
});
|
|
113
144
|
export const publicCatalogProductListResponseSchema = z.object({
|
|
114
145
|
data: z.array(publicCatalogProductSummarySchema),
|
|
@@ -128,3 +159,9 @@ export const publicCatalogTagListResponseSchema = z.object({
|
|
|
128
159
|
limit: z.number().int(),
|
|
129
160
|
offset: z.number().int(),
|
|
130
161
|
});
|
|
162
|
+
export const publicCatalogDestinationListResponseSchema = z.object({
|
|
163
|
+
data: z.array(publicCatalogDestinationSchema),
|
|
164
|
+
total: z.number().int(),
|
|
165
|
+
limit: z.number().int(),
|
|
166
|
+
offset: z.number().int(),
|
|
167
|
+
});
|
|
@@ -91,6 +91,12 @@ export declare const productLocationTypeSchema: z.ZodEnum<{
|
|
|
91
91
|
dropoff: "dropoff";
|
|
92
92
|
point_of_interest: "point_of_interest";
|
|
93
93
|
}>;
|
|
94
|
+
export declare const destinationTypeSchema: z.ZodEnum<{
|
|
95
|
+
city: "city";
|
|
96
|
+
destination: "destination";
|
|
97
|
+
region: "region";
|
|
98
|
+
country: "country";
|
|
99
|
+
}>;
|
|
94
100
|
export declare const productMediaTypeSchema: z.ZodEnum<{
|
|
95
101
|
image: "image";
|
|
96
102
|
video: "video";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-shared.d.ts","sourceRoot":"","sources":["../src/validation-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;AAE7C,eAAO,MAAM,mBAAmB;;;;EAA0C,CAAA;AAC1E,eAAO,MAAM,yBAAyB;;;;EAA0C,CAAA;AAChF,eAAO,MAAM,oBAAoB;;;;;;;EAO/B,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;;;EAQnC,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;EAAiD,CAAA;AACvF,eAAO,MAAM,uBAAuB;;;;EAA0C,CAAA;AAC9E,eAAO,MAAM,2BAA2B;;;;EAAwD,CAAA;AAChG,eAAO,MAAM,8BAA8B;;;;;EAKzC,CAAA;AACF,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;EAclC,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;EAMnC,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;;;;;EAQpC,CAAA;AACF,eAAO,MAAM,sBAAsB;;;;EAAyC,CAAA;AAC5E,eAAO,MAAM,iBAAiB,aAIiB,CAAA;AAC/C,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAA"}
|
|
1
|
+
{"version":3,"file":"validation-shared.d.ts","sourceRoot":"","sources":["../src/validation-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;AAE7C,eAAO,MAAM,mBAAmB;;;;EAA0C,CAAA;AAC1E,eAAO,MAAM,yBAAyB;;;;EAA0C,CAAA;AAChF,eAAO,MAAM,oBAAoB;;;;;;;EAO/B,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;;;EAQnC,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;EAAiD,CAAA;AACvF,eAAO,MAAM,uBAAuB;;;;EAA0C,CAAA;AAC9E,eAAO,MAAM,2BAA2B;;;;EAAwD,CAAA;AAChG,eAAO,MAAM,8BAA8B;;;;;EAKzC,CAAA;AACF,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;EAclC,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;EAMnC,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;;;;;EAQpC,CAAA;AACF,eAAO,MAAM,qBAAqB;;;;;EAAuD,CAAA;AACzF,eAAO,MAAM,sBAAsB;;;;EAAyC,CAAA;AAC5E,eAAO,MAAM,iBAAiB,aAIiB,CAAA;AAC/C,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAA"}
|
|
@@ -71,6 +71,7 @@ export const productLocationTypeSchema = z.enum([
|
|
|
71
71
|
"point_of_interest",
|
|
72
72
|
"other",
|
|
73
73
|
]);
|
|
74
|
+
export const destinationTypeSchema = z.enum(["destination", "region", "country", "city"]);
|
|
74
75
|
export const productMediaTypeSchema = z.enum(["image", "video", "document"]);
|
|
75
76
|
export const languageTagSchema = z
|
|
76
77
|
.string()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/products",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"license": "FSL-1.1-Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -42,9 +42,11 @@
|
|
|
42
42
|
"hono": "^4.12.10",
|
|
43
43
|
"pdf-lib": "^1.17.1",
|
|
44
44
|
"zod": "^4.3.6",
|
|
45
|
-
"@voyantjs/core": "0.
|
|
46
|
-
"@voyantjs/db": "0.
|
|
47
|
-
"@voyantjs/hono": "0.
|
|
45
|
+
"@voyantjs/core": "0.4.0",
|
|
46
|
+
"@voyantjs/db": "0.4.0",
|
|
47
|
+
"@voyantjs/hono": "0.4.0",
|
|
48
|
+
"@voyantjs/utils": "0.4.0",
|
|
49
|
+
"@voyantjs/voyant-storage": "0.4.0"
|
|
48
50
|
},
|
|
49
51
|
"devDependencies": {
|
|
50
52
|
"typescript": "^6.0.2",
|