@paroicms/server 1.103.0 → 1.104.1
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/ddl/main.ddl.sql +1 -2
- package/dist/admin-backend/document/document.resolver.js +3 -2
- package/dist/admin-backend/document/document.resolver.js.map +1 -1
- package/dist/admin-backend/document/save-documents.queries.js +54 -11
- package/dist/admin-backend/document/save-documents.queries.js.map +1 -1
- package/dist/admin-backend/fields/fields.resolver.js +2 -2
- package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
- package/dist/admin-backend/fields/load-fields.queries.d.ts +2 -2
- package/dist/admin-backend/fields/load-fields.queries.js +1 -1
- package/dist/admin-backend/fields/load-fields.queries.js.map +1 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js +5 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
- package/dist/admin-backend/lnode/lnode.queries.d.ts +3 -1
- package/dist/admin-backend/lnode/lnode.queries.js +39 -59
- package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
- package/dist/admin-backend/media/media-upload.controller.js +3 -9
- package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
- package/dist/admin-backend/node/node-cte.queries.d.ts +25 -0
- package/dist/admin-backend/node/node-cte.queries.js +116 -0
- package/dist/admin-backend/node/node-cte.queries.js.map +1 -0
- package/dist/admin-backend/node/node.queries.d.ts +1 -3
- package/dist/admin-backend/node/node.queries.js +5 -19
- package/dist/admin-backend/node/node.queries.js.map +1 -1
- package/dist/admin-backend/node/node.resolver.js +2 -2
- package/dist/admin-backend/routing-cluster/cluster-management.d.ts +8 -0
- package/dist/admin-backend/routing-cluster/cluster-management.js +222 -0
- package/dist/admin-backend/routing-cluster/cluster-management.js.map +1 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.d.ts +7 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.js +48 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.js.map +1 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.d.ts +3 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.js +34 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.js.map +1 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.d.ts +3 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +72 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -0
- package/dist/admin-backend/site-constants/site-constants.resolver.js +0 -5
- package/dist/admin-backend/site-constants/site-constants.resolver.js.map +1 -1
- package/dist/common/media-handles.helpers.d.ts +3 -3
- package/dist/common/media-handles.helpers.js +3 -3
- package/dist/common/media-handles.helpers.js.map +1 -1
- package/dist/common/medias/media-lib.js +1 -1
- package/dist/common/medias/media-lib.js.map +1 -1
- package/dist/connector/db-init/db-constants.d.ts +1 -1
- package/dist/connector/db-init/db-constants.js +1 -1
- package/dist/connector/db-init/ddl-migration.js +5 -0
- package/dist/connector/db-init/ddl-migration.js.map +1 -1
- package/dist/connector/db-init/init-node-queries.d.ts +2 -3
- package/dist/connector/db-init/init-node-queries.js +39 -32
- package/dist/connector/db-init/init-node-queries.js.map +1 -1
- package/dist/connector/db-init/load-routing-cluster.queries.d.ts +36 -0
- package/dist/connector/db-init/load-routing-cluster.queries.js +265 -0
- package/dist/connector/db-init/load-routing-cluster.queries.js.map +1 -0
- package/dist/connector/db-init/populate-routing-documents.d.ts +8 -3
- package/dist/connector/db-init/populate-routing-documents.js +45 -47
- package/dist/connector/db-init/populate-routing-documents.js.map +1 -1
- package/dist/connector/row-types.d.ts +0 -1
- package/dist/connector/site-schema/site-schema-factory.js +30 -3
- package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
- package/dist/graphql/apollo-server-init.js +2 -0
- package/dist/graphql/apollo-server-init.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-drop.d.ts +5 -5
- package/dist/liquidjs-tools/liquidjs-drop.js +16 -4
- package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-utils.d.ts +0 -2
- package/dist/liquidjs-tools/liquidjs-utils.js +0 -7
- package/dist/liquidjs-tools/liquidjs-utils.js.map +1 -1
- package/dist/public-api/public-api-rendering.js +13 -0
- package/dist/public-api/public-api-rendering.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js +7 -3
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/info-filter.js +5 -2
- package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +2 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js.map +1 -1
- package/dist/rendered-site/page-route/make-url.d.ts +5 -2
- package/dist/rendered-site/page-route/make-url.js +48 -112
- package/dist/rendered-site/page-route/make-url.js.map +1 -1
- package/dist/rendered-site/page-route/page-route-parser.d.ts +10 -5
- package/dist/rendered-site/page-route/page-route-parser.js +288 -75
- package/dist/rendered-site/page-route/page-route-parser.js.map +1 -1
- package/dist/rendered-site/page-route/raw-document-payload.js +16 -25
- package/dist/rendered-site/page-route/raw-document-payload.js.map +1 -1
- package/dist/rendered-site/serve-document/serve-document.js.map +1 -1
- package/dist/rendering-payload/breadcrumb.queries.js +6 -2
- package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
- package/dist/rendering-payload/cluster-payloads.d.ts +7 -0
- package/dist/rendering-payload/cluster-payloads.js +53 -0
- package/dist/rendering-payload/cluster-payloads.js.map +1 -0
- package/dist/rendering-payload/create-doc-drop.d.ts +1 -1
- package/dist/rendering-payload/create-doc-drop.js +133 -120
- package/dist/rendering-payload/create-doc-drop.js.map +1 -1
- package/dist/rendering-payload/create-part-drop.js +1 -2
- package/dist/rendering-payload/create-part-drop.js.map +1 -1
- package/dist/rendering-payload/field-values.d.ts +1 -6
- package/dist/rendering-payload/field-values.js +2 -58
- package/dist/rendering-payload/field-values.js.map +1 -1
- package/dist/rendering-payload/get-siblings.queries.d.ts +3 -2
- package/dist/rendering-payload/get-siblings.queries.js +41 -26
- package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
- package/dist/rendering-payload/make-public-payload.d.ts +1 -4
- package/dist/rendering-payload/make-public-payload.js +3 -0
- package/dist/rendering-payload/make-public-payload.js.map +1 -1
- package/dist/rendering-payload/rendering-payload.types.d.ts +21 -15
- package/dist/rendering-payload/site-payload.d.ts +2 -3
- package/dist/rendering-payload/site-payload.js +43 -37
- package/dist/rendering-payload/site-payload.js.map +1 -1
- package/dist/rendering-payload/translations.queries.js +1 -2
- package/dist/rendering-payload/translations.queries.js.map +1 -1
- package/dist/running-server/running-server-connector.js +4 -4
- package/dist/running-server/running-server-connector.js.map +1 -1
- package/dist/site-context/load-site-context.js +13 -6
- package/dist/site-context/load-site-context.js.map +1 -1
- package/dist/site-context/refresh-site-context.d.ts +1 -0
- package/dist/site-context/refresh-site-context.js +15 -0
- package/dist/site-context/refresh-site-context.js.map +1 -0
- package/dist/site-context/site-context.types.d.ts +3 -2
- package/dist/site-context/site-values-for-site-context.d.ts +1 -1
- package/dist/site-context/site-values-for-site-context.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -10
- package/schema.graphql +27 -2
- package/dist/admin-backend/document/document.helper.d.ts +0 -2
- package/dist/admin-backend/document/document.helper.js +0 -6
- package/dist/admin-backend/document/document.helper.js.map +0 -1
- package/dist/connector/db-init/load-routing-documents.d.ts +0 -3
- package/dist/connector/db-init/load-routing-documents.js +0 -85
- package/dist/connector/db-init/load-routing-documents.js.map +0 -1
|
@@ -7,101 +7,310 @@ export function parsePageRoute(siteContext, urlPath) {
|
|
|
7
7
|
.split("/")
|
|
8
8
|
.slice(1)
|
|
9
9
|
.filter((token) => token.length > 0);
|
|
10
|
+
const languageResult = parseLanguageFromUrl(siteSchema, tokens);
|
|
11
|
+
if (!languageResult)
|
|
12
|
+
return;
|
|
13
|
+
const { language, urlSegments } = languageResult;
|
|
14
|
+
const urlCacheKey = [];
|
|
15
|
+
if (shouldPrefixWithLanguage(siteSchema, language))
|
|
16
|
+
urlCacheKey.push(language);
|
|
17
|
+
const hierarchyResult = parseDocumentHierarchy(siteSchema, urlSegments, language, urlCacheKey);
|
|
18
|
+
if (!hierarchyResult)
|
|
19
|
+
return;
|
|
20
|
+
return {
|
|
21
|
+
language,
|
|
22
|
+
redirectTo: hierarchyResult.redirectTo,
|
|
23
|
+
frontendAppPath: hierarchyResult.frontendAppPath,
|
|
24
|
+
urlCacheKey: urlCacheKey.join("/"),
|
|
25
|
+
documentHierarchy: hierarchyResult.documentHierarchy,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function parseUrlParameters(urlPath) {
|
|
29
|
+
return {
|
|
30
|
+
path: urlPath,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function parseLanguageFromUrl(siteSchema, tokens) {
|
|
10
34
|
let language;
|
|
11
|
-
let
|
|
35
|
+
let urlSegments;
|
|
12
36
|
if (siteSchema.languageRoutingMode === "prefixAll") {
|
|
13
37
|
language = tokens[0];
|
|
14
|
-
|
|
38
|
+
urlSegments = tokens.slice(1);
|
|
15
39
|
}
|
|
16
40
|
else if (siteSchema.languageRoutingMode === "prefixSecondary") {
|
|
17
41
|
if (tokens.length > 0 &&
|
|
18
42
|
siteSchema.languages.includes(tokens[0]) &&
|
|
19
43
|
tokens[0] !== siteSchema.defaultLanguage) {
|
|
20
44
|
language = tokens[0];
|
|
21
|
-
|
|
45
|
+
urlSegments = tokens.slice(1);
|
|
22
46
|
}
|
|
23
47
|
else {
|
|
24
48
|
language = siteSchema.defaultLanguage;
|
|
25
|
-
|
|
49
|
+
urlSegments = tokens;
|
|
26
50
|
}
|
|
27
51
|
}
|
|
28
52
|
else
|
|
29
53
|
throw new Error(`invalid routing mode "${siteSchema.languageRoutingMode}"`);
|
|
30
54
|
if (!language || !siteSchema.languages.includes(language))
|
|
31
55
|
return;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
56
|
+
return { language, urlSegments };
|
|
57
|
+
}
|
|
58
|
+
function parseDocumentHierarchy(siteSchema, urlSegments, language, urlCacheKey) {
|
|
59
|
+
const documentHierarchy = [];
|
|
60
|
+
const homeDocument = siteSchema.nodeTypes.home;
|
|
61
|
+
documentHierarchy.push({
|
|
62
|
+
entryKind: "routing",
|
|
63
|
+
documentType: homeDocument,
|
|
64
|
+
});
|
|
65
|
+
const homeFrontendAppResult = checkFrontendAppWithRoutingPrecedence(homeDocument, urlSegments, 0, siteSchema, language);
|
|
66
|
+
if (homeFrontendAppResult.shouldUseFrontendApp) {
|
|
67
|
+
return {
|
|
68
|
+
documentHierarchy,
|
|
69
|
+
redirectTo: homeDocument.redirectTo,
|
|
70
|
+
frontendAppPath: `/${urlSegments.join("/")}`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return parseDocumentHierarchyRecursive({
|
|
74
|
+
siteSchema,
|
|
75
|
+
urlSegments,
|
|
76
|
+
language,
|
|
77
|
+
urlCacheKey,
|
|
78
|
+
documentHierarchy,
|
|
79
|
+
currentParent: homeDocument,
|
|
80
|
+
index: 0,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function parseDocumentHierarchyRecursive({ siteSchema, urlSegments, language, urlCacheKey, documentHierarchy, currentParent, index, }) {
|
|
84
|
+
const routingResult = parseRoutingDocuments({
|
|
85
|
+
siteSchema,
|
|
86
|
+
urlSegments,
|
|
87
|
+
language,
|
|
88
|
+
urlCacheKey,
|
|
89
|
+
documentHierarchy,
|
|
90
|
+
currentParent,
|
|
91
|
+
index,
|
|
92
|
+
});
|
|
93
|
+
if (routingResult.frontendAppPath || routingResult.index >= urlSegments.length) {
|
|
94
|
+
return {
|
|
95
|
+
documentHierarchy,
|
|
96
|
+
redirectTo: routingResult.redirectTo,
|
|
97
|
+
frontendAppPath: routingResult.frontendAppPath,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return parseRegularDocuments({
|
|
101
|
+
siteSchema,
|
|
102
|
+
urlSegments,
|
|
103
|
+
language,
|
|
104
|
+
urlCacheKey,
|
|
105
|
+
documentHierarchy,
|
|
106
|
+
parentCandidates: [routingResult.currentParent],
|
|
107
|
+
index: routingResult.index,
|
|
108
|
+
redirectTo: routingResult.redirectTo,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function parseRoutingDocuments({ siteSchema, urlSegments, language, urlCacheKey, documentHierarchy, currentParent, index, }) {
|
|
112
|
+
let currentIndex = index;
|
|
113
|
+
let parent = currentParent;
|
|
114
|
+
while (currentIndex < urlSegments.length) {
|
|
115
|
+
const urlSegment = urlSegments[currentIndex];
|
|
42
116
|
const routingDocument = findRoutingDocumentByUrlPath({
|
|
43
117
|
siteSchema,
|
|
44
|
-
parent
|
|
45
|
-
|
|
118
|
+
parent,
|
|
119
|
+
urlSegment,
|
|
46
120
|
language,
|
|
47
121
|
});
|
|
48
122
|
if (!routingDocument)
|
|
49
123
|
break;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
124
|
+
documentHierarchy.push({
|
|
125
|
+
entryKind: "routing",
|
|
126
|
+
documentType: routingDocument,
|
|
127
|
+
});
|
|
128
|
+
urlCacheKey.push(urlSegment);
|
|
129
|
+
parent = routingDocument;
|
|
130
|
+
currentIndex++;
|
|
131
|
+
const frontendAppResult = checkFrontendAppWithRoutingPrecedence(routingDocument, urlSegments, currentIndex, siteSchema, language);
|
|
132
|
+
if (frontendAppResult.shouldUseFrontendApp) {
|
|
133
|
+
return {
|
|
134
|
+
currentParent: parent,
|
|
135
|
+
index: currentIndex,
|
|
136
|
+
redirectTo: routingDocument.redirectTo,
|
|
137
|
+
frontendAppPath: `/${urlSegments.slice(currentIndex).join("/")}`,
|
|
138
|
+
};
|
|
56
139
|
}
|
|
57
140
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
141
|
+
return {
|
|
142
|
+
currentParent: parent,
|
|
143
|
+
index: currentIndex,
|
|
144
|
+
redirectTo: parent.redirectTo,
|
|
145
|
+
frontendAppPath: undefined,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function parseRegularDocuments({ siteSchema, urlSegments, language, urlCacheKey, documentHierarchy, parentCandidates, index, redirectTo, }) {
|
|
149
|
+
let currentIndex = index;
|
|
150
|
+
let candidates = parentCandidates;
|
|
151
|
+
let lastRedirectTo = redirectTo;
|
|
152
|
+
if (currentIndex >= urlSegments.length) {
|
|
153
|
+
return {
|
|
154
|
+
documentHierarchy,
|
|
155
|
+
redirectTo: lastRedirectTo,
|
|
156
|
+
frontendAppPath: undefined,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
while (currentIndex < urlSegments.length) {
|
|
160
|
+
const found = findRegularDocumentByUrlPath({
|
|
63
161
|
siteSchema,
|
|
64
|
-
parentCandidates,
|
|
65
|
-
|
|
66
|
-
index,
|
|
162
|
+
parentCandidates: candidates,
|
|
163
|
+
urlSegments,
|
|
164
|
+
index: currentIndex,
|
|
67
165
|
});
|
|
68
166
|
if (!found)
|
|
69
|
-
return;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
167
|
+
return undefined;
|
|
168
|
+
const isClusterRoot = found.candidateTypes.some((type) => (type.routingChildren?.length ?? 0) > 0);
|
|
169
|
+
documentHierarchy.push({
|
|
170
|
+
entryKind: "regular",
|
|
171
|
+
relativeId: found.relativeId,
|
|
172
|
+
candidateTypes: found.candidateTypes,
|
|
173
|
+
isClusterRoot,
|
|
174
|
+
});
|
|
175
|
+
urlCacheKey.push(`regular:${found.relativeId}`);
|
|
73
176
|
lastRedirectTo = undefined;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
177
|
+
currentIndex += found.skipUrlSegments;
|
|
178
|
+
candidates = found.candidateTypes;
|
|
179
|
+
const frontendAppResult = checkRegularDocumentFrontendApp({
|
|
180
|
+
candidateTypes: found.candidateTypes,
|
|
181
|
+
urlSegments,
|
|
182
|
+
index: currentIndex,
|
|
183
|
+
siteSchema,
|
|
184
|
+
language,
|
|
185
|
+
});
|
|
186
|
+
if (frontendAppResult.shouldUseFrontendApp) {
|
|
187
|
+
return {
|
|
188
|
+
documentHierarchy,
|
|
189
|
+
redirectTo: lastRedirectTo,
|
|
190
|
+
frontendAppPath: `/${urlSegments.slice(currentIndex).join("/")}`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
if (isClusterRoot && currentIndex < urlSegments.length) {
|
|
194
|
+
const clusterResult = parseClusterDocuments({
|
|
195
|
+
siteSchema,
|
|
196
|
+
urlSegments,
|
|
197
|
+
language,
|
|
198
|
+
urlCacheKey,
|
|
199
|
+
documentHierarchy,
|
|
200
|
+
regularCandidates: found.candidateTypes,
|
|
201
|
+
index: currentIndex,
|
|
202
|
+
});
|
|
203
|
+
return clusterResult;
|
|
78
204
|
}
|
|
79
205
|
}
|
|
80
206
|
return {
|
|
81
|
-
|
|
82
|
-
routingDocuments,
|
|
83
|
-
regularRelativeIds,
|
|
207
|
+
documentHierarchy,
|
|
84
208
|
redirectTo: lastRedirectTo,
|
|
85
|
-
|
|
86
|
-
urlCacheKey: urlCacheKey.join("/"),
|
|
87
|
-
frontendAppPath: frontendApp ? `/${frontendApp.remainingParts.join("/")}` : undefined,
|
|
209
|
+
frontendAppPath: undefined,
|
|
88
210
|
};
|
|
89
211
|
}
|
|
90
|
-
function
|
|
212
|
+
function parseClusterDocuments({ siteSchema, urlSegments, language, urlCacheKey, documentHierarchy, regularCandidates, index, }) {
|
|
213
|
+
let currentIndex = index;
|
|
214
|
+
let lastRedirectTo;
|
|
215
|
+
while (currentIndex < urlSegments.length) {
|
|
216
|
+
const urlSegment = urlSegments[currentIndex];
|
|
217
|
+
let routingDocument;
|
|
218
|
+
for (const candidateType of regularCandidates) {
|
|
219
|
+
if (!candidateType.routingChildren)
|
|
220
|
+
continue;
|
|
221
|
+
routingDocument = findRoutingDocumentByUrlPath({
|
|
222
|
+
siteSchema,
|
|
223
|
+
parent: candidateType,
|
|
224
|
+
urlSegment,
|
|
225
|
+
language,
|
|
226
|
+
});
|
|
227
|
+
if (routingDocument)
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
if (!routingDocument) {
|
|
231
|
+
return {
|
|
232
|
+
documentHierarchy,
|
|
233
|
+
redirectTo: lastRedirectTo,
|
|
234
|
+
frontendAppPath: undefined,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
documentHierarchy.push({
|
|
238
|
+
entryKind: "routing",
|
|
239
|
+
documentType: routingDocument,
|
|
240
|
+
});
|
|
241
|
+
urlCacheKey.push(urlSegment);
|
|
242
|
+
currentIndex++;
|
|
243
|
+
lastRedirectTo = routingDocument.redirectTo;
|
|
244
|
+
const frontendAppResult = checkFrontendAppWithRoutingPrecedence(routingDocument, urlSegments, currentIndex, siteSchema, language);
|
|
245
|
+
if (frontendAppResult.shouldUseFrontendApp) {
|
|
246
|
+
return {
|
|
247
|
+
documentHierarchy,
|
|
248
|
+
redirectTo: routingDocument.redirectTo,
|
|
249
|
+
frontendAppPath: `/${urlSegments.slice(currentIndex).join("/")}`,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
if (routingDocument.regularChildren && currentIndex < urlSegments.length) {
|
|
253
|
+
return parseDocumentHierarchyRecursive({
|
|
254
|
+
siteSchema,
|
|
255
|
+
urlSegments,
|
|
256
|
+
language,
|
|
257
|
+
urlCacheKey,
|
|
258
|
+
documentHierarchy,
|
|
259
|
+
currentParent: routingDocument,
|
|
260
|
+
index: currentIndex,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
91
264
|
return {
|
|
92
|
-
|
|
265
|
+
documentHierarchy,
|
|
266
|
+
redirectTo: lastRedirectTo,
|
|
267
|
+
frontendAppPath: undefined,
|
|
93
268
|
};
|
|
94
269
|
}
|
|
95
|
-
function
|
|
270
|
+
function checkRegularDocumentFrontendApp({ candidateTypes, urlSegments, index, siteSchema, language, }) {
|
|
271
|
+
const hasFrontendApp = candidateTypes.some((type) => type.hasFrontendApp);
|
|
272
|
+
if (!hasFrontendApp) {
|
|
273
|
+
return { shouldUseFrontendApp: false };
|
|
274
|
+
}
|
|
275
|
+
const hasRoutingPrecedence = index < urlSegments.length &&
|
|
276
|
+
candidateTypes.some((type) => {
|
|
277
|
+
if (!type.routingChildren?.length)
|
|
278
|
+
return false;
|
|
279
|
+
const nextUrlSegment = urlSegments[index];
|
|
280
|
+
return type.routingChildren.some((childTypeName) => {
|
|
281
|
+
const childType = getRoutingDocumentTypeByName(siteSchema, childTypeName);
|
|
282
|
+
return childType.route && nextUrlSegment === childType.route[language];
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
return { shouldUseFrontendApp: !hasRoutingPrecedence };
|
|
286
|
+
}
|
|
287
|
+
function checkFrontendAppWithRoutingPrecedence(document, urlSegments, currentIndex, siteSchema, language) {
|
|
288
|
+
if (!document.hasFrontendApp) {
|
|
289
|
+
return { shouldUseFrontendApp: false };
|
|
290
|
+
}
|
|
291
|
+
if (currentIndex >= urlSegments.length) {
|
|
292
|
+
return { shouldUseFrontendApp: true };
|
|
293
|
+
}
|
|
294
|
+
const nextUrlSegment = urlSegments[currentIndex];
|
|
295
|
+
const hasRoutingMatch = (document.routingChildren ?? []).some((childTypeName) => {
|
|
296
|
+
const childType = getRoutingDocumentTypeByName(siteSchema, childTypeName);
|
|
297
|
+
return childType.route && nextUrlSegment === childType.route[language];
|
|
298
|
+
});
|
|
299
|
+
if (hasRoutingMatch) {
|
|
300
|
+
return { shouldUseFrontendApp: false };
|
|
301
|
+
}
|
|
302
|
+
return { shouldUseFrontendApp: true };
|
|
303
|
+
}
|
|
304
|
+
function findRoutingDocumentByUrlPath({ siteSchema, parent, urlSegment, language, }) {
|
|
96
305
|
for (const typeName of parent.routingChildren ?? []) {
|
|
97
306
|
const documentType = getRoutingDocumentTypeByName(siteSchema, typeName);
|
|
98
307
|
if (!documentType.route)
|
|
99
308
|
continue;
|
|
100
|
-
if (
|
|
309
|
+
if (urlSegment === documentType.route[language])
|
|
101
310
|
return documentType;
|
|
102
311
|
}
|
|
103
312
|
}
|
|
104
|
-
function
|
|
313
|
+
function findRegularDocumentByUrlPath({ siteSchema, parentCandidates, urlSegments, index: partsIndex, }) {
|
|
105
314
|
const candidateTypes = parentCandidates
|
|
106
315
|
.reduce((childTypeNames, parent) => {
|
|
107
316
|
if (parent.regularChildren)
|
|
@@ -113,25 +322,27 @@ function findRegularRelativeIdByUrlPath({ siteSchema, parentCandidates, urlParts
|
|
|
113
322
|
return;
|
|
114
323
|
const route = candidateTypes[0].route;
|
|
115
324
|
if (route === ":relativeId-:slug") {
|
|
116
|
-
const urlPath =
|
|
325
|
+
const urlPath = urlSegments[partsIndex];
|
|
117
326
|
const relativeId = parseRegularRelativeIdSlug(urlPath);
|
|
118
327
|
return {
|
|
119
|
-
|
|
120
|
-
|
|
328
|
+
relativeId,
|
|
329
|
+
candidateTypes,
|
|
330
|
+
skipUrlSegments: 1,
|
|
121
331
|
};
|
|
122
332
|
}
|
|
123
333
|
if (route === ":yyyy/:mm/:dd/:relativeId-:slug") {
|
|
124
|
-
if (
|
|
125
|
-
!isYear(
|
|
126
|
-
!isMonth(
|
|
127
|
-
!isDay(
|
|
334
|
+
if (urlSegments.length < partsIndex + 3 ||
|
|
335
|
+
!isYear(urlSegments[partsIndex]) ||
|
|
336
|
+
!isMonth(urlSegments[partsIndex + 1]) ||
|
|
337
|
+
!isDay(urlSegments[partsIndex + 2])) {
|
|
128
338
|
return;
|
|
129
339
|
}
|
|
130
|
-
const urlPath =
|
|
340
|
+
const urlPath = urlSegments[partsIndex + 3];
|
|
131
341
|
const relativeId = parseRegularRelativeIdSlug(urlPath);
|
|
132
342
|
return {
|
|
133
|
-
|
|
134
|
-
|
|
343
|
+
relativeId,
|
|
344
|
+
candidateTypes,
|
|
345
|
+
skipUrlSegments: 4,
|
|
135
346
|
};
|
|
136
347
|
}
|
|
137
348
|
}
|
|
@@ -165,30 +376,32 @@ export function findParentParsedRouteWithDocument(parsedRoute) {
|
|
|
165
376
|
}
|
|
166
377
|
}
|
|
167
378
|
function findParentParsedRoute(parsedRoute) {
|
|
168
|
-
const
|
|
169
|
-
const regularRelativeIds = [...parsedRoute.regularRelativeIds];
|
|
379
|
+
const documentHierarchy = [...parsedRoute.documentHierarchy];
|
|
170
380
|
const urlCacheKey = parsedRoute.urlCacheKey.split("/");
|
|
171
|
-
if (
|
|
172
|
-
|
|
173
|
-
|
|
381
|
+
if (documentHierarchy.length <= 1)
|
|
382
|
+
return;
|
|
383
|
+
const lastEntry = documentHierarchy.pop();
|
|
384
|
+
if (!lastEntry)
|
|
385
|
+
return;
|
|
386
|
+
if (lastEntry.entryKind === "regular") {
|
|
387
|
+
const expectedKey = `regular:${lastEntry.relativeId}`;
|
|
388
|
+
if (urlCacheKey[urlCacheKey.length - 1] === expectedKey) {
|
|
389
|
+
urlCacheKey.pop();
|
|
390
|
+
}
|
|
174
391
|
}
|
|
175
|
-
else
|
|
176
|
-
routingDocuments.pop();
|
|
392
|
+
else {
|
|
177
393
|
urlCacheKey.pop();
|
|
178
394
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
? undefined
|
|
184
|
-
: routingDocuments[routingDocuments.length - 1]?.redirectTo;
|
|
395
|
+
const lastRemainingEntry = documentHierarchy[documentHierarchy.length - 1];
|
|
396
|
+
const redirectTo = lastRemainingEntry?.entryKind === "routing"
|
|
397
|
+
? lastRemainingEntry.documentType.redirectTo
|
|
398
|
+
: undefined;
|
|
185
399
|
return {
|
|
186
400
|
language: parsedRoute.language,
|
|
187
|
-
|
|
188
|
-
regularRelativeIds,
|
|
401
|
+
documentHierarchy,
|
|
189
402
|
redirectTo,
|
|
190
|
-
depth: parsedRoute.depth - 1,
|
|
191
403
|
urlCacheKey: urlCacheKey.join("/"),
|
|
404
|
+
frontendAppPath: undefined,
|
|
192
405
|
};
|
|
193
406
|
}
|
|
194
407
|
//# sourceMappingURL=page-route-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-route-parser.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/page-route-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-route-parser.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/page-route-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,40 +15,31 @@ function buildRawDocPayloadQuery(siteContext, parsedRoute) {
|
|
|
15
15
|
"l0.id": "s0.nodeId",
|
|
16
16
|
"s0.language": cn.raw("?", [parsedRoute.language]),
|
|
17
17
|
})
|
|
18
|
-
.where("l0.
|
|
19
|
-
.where("l0.typeName", "home")
|
|
18
|
+
.where("l0.id", siteContext.homeRoutingCluster.nodeId)
|
|
20
19
|
.whereRaw("l0.publishDate <= current_timestamp")
|
|
21
20
|
.where("s0.ready", 1);
|
|
22
21
|
let prev = 0;
|
|
23
|
-
for (const
|
|
22
|
+
for (const document of parsedRoute.documentHierarchy.slice(1)) {
|
|
24
23
|
const cur = prev + 1;
|
|
25
|
-
|
|
24
|
+
if (document.entryKind === "routing") {
|
|
25
|
+
query = query.innerJoin(`PaNode as l${cur}`, {
|
|
26
|
+
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
27
|
+
[`l${cur}.typeName`]: cn.raw("?", [document.documentType.typeName]),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
query = query
|
|
32
|
+
.innerJoin(`PaNode as l${cur}`, {
|
|
33
|
+
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
34
|
+
[`l${cur}.relativeId`]: cn.raw("?", [document.relativeId]),
|
|
35
|
+
})
|
|
36
|
+
.whereIn(`l${cur}.typeName`, document.candidateTypes.map((t) => t.typeName));
|
|
37
|
+
}
|
|
26
38
|
query = query
|
|
27
|
-
.innerJoin(`PaNode as l${cur}`, {
|
|
28
|
-
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
29
|
-
[`l${cur}.typeName`]: cn.raw("?", [typeNameParam]),
|
|
30
|
-
})
|
|
31
|
-
.innerJoin(`PaLNode as s${cur}`, {
|
|
32
|
-
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
33
|
-
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
34
|
-
})
|
|
35
|
-
.whereRaw(`l${cur}.publishDate <= current_timestamp`)
|
|
36
|
-
.where(`s${cur}.ready`, 1);
|
|
37
|
-
prev = cur;
|
|
38
|
-
}
|
|
39
|
-
for (const { candidateTypes, relativeId } of parsedRoute.regularRelativeIds) {
|
|
40
|
-
const cur = prev + 1;
|
|
41
|
-
const typeNames = candidateTypes.map((t) => t.typeName);
|
|
42
|
-
query = query
|
|
43
|
-
.innerJoin(`PaNode as l${cur}`, {
|
|
44
|
-
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
45
|
-
[`l${cur}.relativeId`]: cn.raw("?", [relativeId]),
|
|
46
|
-
})
|
|
47
39
|
.innerJoin(`PaLNode as s${cur}`, {
|
|
48
40
|
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
49
41
|
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
50
42
|
})
|
|
51
|
-
.whereIn(`l${cur}.typeName`, typeNames)
|
|
52
43
|
.whereRaw(`l${cur}.publishDate <= current_timestamp`)
|
|
53
44
|
.where(`s${cur}.ready`, 1);
|
|
54
45
|
prev = cur;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-document-payload.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/raw-document-payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAKhF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,WAA4B;IAE5B,MAAM,KAAK,GAAG,uBAAuB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,IAAI,GAAU,MAAM,KAAK,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAwB,EAAE,WAA4B;IACrF,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"raw-document-payload.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/raw-document-payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-document.js","sourceRoot":"","sources":["../../../src/rendered-site/serve-document/serve-document.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serve-document.js","sourceRoot":"","sources":["../../../src/rendered-site/serve-document/serve-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { documentTypeHasData, getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
1
2
|
import { encodeLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
3
|
import { getBreadcrumb } from "../admin-backend/lnode/lnode.queries.js";
|
|
3
4
|
import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
@@ -5,12 +6,15 @@ import { getUrlOfDocument } from "../rendered-site/page-route/make-url.js";
|
|
|
5
6
|
export async function getPublicBreadcrumb(renderingContext, documentId) {
|
|
6
7
|
const { siteContext } = renderingContext;
|
|
7
8
|
const items = await getBreadcrumb(siteContext, renderingContext.tracker, documentId, {
|
|
8
|
-
ensurePublished:
|
|
9
|
+
ensurePublished: false,
|
|
9
10
|
skipHome: false,
|
|
10
11
|
});
|
|
11
12
|
const result = [];
|
|
12
13
|
for (const item of items) {
|
|
13
|
-
const
|
|
14
|
+
const documentType = getDocumentTypeByName(siteContext.siteSchema, item.typeName);
|
|
15
|
+
const url = documentTypeHasData(documentType) && item.documentId.nodeId !== documentId.nodeId
|
|
16
|
+
? await getUrlOfDocument(siteContext, renderingContext.tracker, item.documentId)
|
|
17
|
+
: undefined;
|
|
14
18
|
result.push({
|
|
15
19
|
id: encodeLNodeId(item.documentId),
|
|
16
20
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/breadcrumb.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,gBAAkC,EAClC,UAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;QACnF,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"breadcrumb.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/breadcrumb.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAsB,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,gBAAkC,EAClC,UAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;QACnF,eAAe,EAAE,KAAK;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,GAAG,GACP,mBAAmB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YAC/E,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;YAChF,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IACD,gBAAgB,CAAC,gBAAgB,CAC/B,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAChF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type RoutingCluster, type RoutingClusterNode } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import { type DropInst } from "../liquidjs-tools/liquidjs-drop.js";
|
|
3
|
+
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
|
+
import type * as publicPayload from "./rendering-payload.types.js";
|
|
5
|
+
export declare function toTpClusterPayload(renderingContext: RenderingContext, language: string, cluster: RoutingCluster): DropInst<publicPayload.TpClusterPayload>;
|
|
6
|
+
export declare function toTpRoutingClusterNode(renderingContext: RenderingContext, clusterNode: RoutingClusterNode, language: string): publicPayload.TpRoutingClusterNode;
|
|
7
|
+
export declare function getClusterNodeOf(cluster: RoutingClusterNode, routingDocumentNodeId: string): RoutingClusterNode | undefined;
|