@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.
Files changed (129) hide show
  1. package/ddl/main.ddl.sql +1 -2
  2. package/dist/admin-backend/document/document.resolver.js +3 -2
  3. package/dist/admin-backend/document/document.resolver.js.map +1 -1
  4. package/dist/admin-backend/document/save-documents.queries.js +54 -11
  5. package/dist/admin-backend/document/save-documents.queries.js.map +1 -1
  6. package/dist/admin-backend/fields/fields.resolver.js +2 -2
  7. package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
  8. package/dist/admin-backend/fields/load-fields.queries.d.ts +2 -2
  9. package/dist/admin-backend/fields/load-fields.queries.js +1 -1
  10. package/dist/admin-backend/fields/load-fields.queries.js.map +1 -1
  11. package/dist/admin-backend/lnode/lnode-wrap.resolver.js +5 -1
  12. package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
  13. package/dist/admin-backend/lnode/lnode.queries.d.ts +3 -1
  14. package/dist/admin-backend/lnode/lnode.queries.js +39 -59
  15. package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
  16. package/dist/admin-backend/media/media-upload.controller.js +3 -9
  17. package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
  18. package/dist/admin-backend/node/node-cte.queries.d.ts +25 -0
  19. package/dist/admin-backend/node/node-cte.queries.js +116 -0
  20. package/dist/admin-backend/node/node-cte.queries.js.map +1 -0
  21. package/dist/admin-backend/node/node.queries.d.ts +1 -3
  22. package/dist/admin-backend/node/node.queries.js +5 -19
  23. package/dist/admin-backend/node/node.queries.js.map +1 -1
  24. package/dist/admin-backend/node/node.resolver.js +2 -2
  25. package/dist/admin-backend/routing-cluster/cluster-management.d.ts +8 -0
  26. package/dist/admin-backend/routing-cluster/cluster-management.js +222 -0
  27. package/dist/admin-backend/routing-cluster/cluster-management.js.map +1 -0
  28. package/dist/admin-backend/routing-cluster/cluster-validation.d.ts +7 -0
  29. package/dist/admin-backend/routing-cluster/cluster-validation.js +48 -0
  30. package/dist/admin-backend/routing-cluster/cluster-validation.js.map +1 -0
  31. package/dist/admin-backend/routing-cluster/routing-cluster.queries.d.ts +3 -0
  32. package/dist/admin-backend/routing-cluster/routing-cluster.queries.js +34 -0
  33. package/dist/admin-backend/routing-cluster/routing-cluster.queries.js.map +1 -0
  34. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.d.ts +3 -0
  35. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +72 -0
  36. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -0
  37. package/dist/admin-backend/site-constants/site-constants.resolver.js +0 -5
  38. package/dist/admin-backend/site-constants/site-constants.resolver.js.map +1 -1
  39. package/dist/common/media-handles.helpers.d.ts +3 -3
  40. package/dist/common/media-handles.helpers.js +3 -3
  41. package/dist/common/media-handles.helpers.js.map +1 -1
  42. package/dist/common/medias/media-lib.js +1 -1
  43. package/dist/common/medias/media-lib.js.map +1 -1
  44. package/dist/connector/db-init/db-constants.d.ts +1 -1
  45. package/dist/connector/db-init/db-constants.js +1 -1
  46. package/dist/connector/db-init/ddl-migration.js +5 -0
  47. package/dist/connector/db-init/ddl-migration.js.map +1 -1
  48. package/dist/connector/db-init/init-node-queries.d.ts +2 -3
  49. package/dist/connector/db-init/init-node-queries.js +39 -32
  50. package/dist/connector/db-init/init-node-queries.js.map +1 -1
  51. package/dist/connector/db-init/load-routing-cluster.queries.d.ts +36 -0
  52. package/dist/connector/db-init/load-routing-cluster.queries.js +265 -0
  53. package/dist/connector/db-init/load-routing-cluster.queries.js.map +1 -0
  54. package/dist/connector/db-init/populate-routing-documents.d.ts +8 -3
  55. package/dist/connector/db-init/populate-routing-documents.js +45 -47
  56. package/dist/connector/db-init/populate-routing-documents.js.map +1 -1
  57. package/dist/connector/row-types.d.ts +0 -1
  58. package/dist/connector/site-schema/site-schema-factory.js +30 -3
  59. package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
  60. package/dist/graphql/apollo-server-init.js +2 -0
  61. package/dist/graphql/apollo-server-init.js.map +1 -1
  62. package/dist/liquidjs-tools/liquidjs-drop.d.ts +5 -5
  63. package/dist/liquidjs-tools/liquidjs-drop.js +16 -4
  64. package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
  65. package/dist/liquidjs-tools/liquidjs-utils.d.ts +0 -2
  66. package/dist/liquidjs-tools/liquidjs-utils.js +0 -7
  67. package/dist/liquidjs-tools/liquidjs-utils.js.map +1 -1
  68. package/dist/public-api/public-api-rendering.js +13 -0
  69. package/dist/public-api/public-api-rendering.js.map +1 -1
  70. package/dist/rendered-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
  71. package/dist/rendered-site/liquidjs-filters/head-tags-filter.js +7 -3
  72. package/dist/rendered-site/liquidjs-filters/head-tags-filter.js.map +1 -1
  73. package/dist/rendered-site/liquidjs-filters/info-filter.js +5 -2
  74. package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
  75. package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +2 -1
  76. package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js.map +1 -1
  77. package/dist/rendered-site/page-route/make-url.d.ts +5 -2
  78. package/dist/rendered-site/page-route/make-url.js +48 -112
  79. package/dist/rendered-site/page-route/make-url.js.map +1 -1
  80. package/dist/rendered-site/page-route/page-route-parser.d.ts +10 -5
  81. package/dist/rendered-site/page-route/page-route-parser.js +288 -75
  82. package/dist/rendered-site/page-route/page-route-parser.js.map +1 -1
  83. package/dist/rendered-site/page-route/raw-document-payload.js +16 -25
  84. package/dist/rendered-site/page-route/raw-document-payload.js.map +1 -1
  85. package/dist/rendered-site/serve-document/serve-document.js.map +1 -1
  86. package/dist/rendering-payload/breadcrumb.queries.js +6 -2
  87. package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
  88. package/dist/rendering-payload/cluster-payloads.d.ts +7 -0
  89. package/dist/rendering-payload/cluster-payloads.js +53 -0
  90. package/dist/rendering-payload/cluster-payloads.js.map +1 -0
  91. package/dist/rendering-payload/create-doc-drop.d.ts +1 -1
  92. package/dist/rendering-payload/create-doc-drop.js +133 -120
  93. package/dist/rendering-payload/create-doc-drop.js.map +1 -1
  94. package/dist/rendering-payload/create-part-drop.js +1 -2
  95. package/dist/rendering-payload/create-part-drop.js.map +1 -1
  96. package/dist/rendering-payload/field-values.d.ts +1 -6
  97. package/dist/rendering-payload/field-values.js +2 -58
  98. package/dist/rendering-payload/field-values.js.map +1 -1
  99. package/dist/rendering-payload/get-siblings.queries.d.ts +3 -2
  100. package/dist/rendering-payload/get-siblings.queries.js +41 -26
  101. package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
  102. package/dist/rendering-payload/make-public-payload.d.ts +1 -4
  103. package/dist/rendering-payload/make-public-payload.js +3 -0
  104. package/dist/rendering-payload/make-public-payload.js.map +1 -1
  105. package/dist/rendering-payload/rendering-payload.types.d.ts +21 -15
  106. package/dist/rendering-payload/site-payload.d.ts +2 -3
  107. package/dist/rendering-payload/site-payload.js +43 -37
  108. package/dist/rendering-payload/site-payload.js.map +1 -1
  109. package/dist/rendering-payload/translations.queries.js +1 -2
  110. package/dist/rendering-payload/translations.queries.js.map +1 -1
  111. package/dist/running-server/running-server-connector.js +4 -4
  112. package/dist/running-server/running-server-connector.js.map +1 -1
  113. package/dist/site-context/load-site-context.js +13 -6
  114. package/dist/site-context/load-site-context.js.map +1 -1
  115. package/dist/site-context/refresh-site-context.d.ts +1 -0
  116. package/dist/site-context/refresh-site-context.js +15 -0
  117. package/dist/site-context/refresh-site-context.js.map +1 -0
  118. package/dist/site-context/site-context.types.d.ts +3 -2
  119. package/dist/site-context/site-values-for-site-context.d.ts +1 -1
  120. package/dist/site-context/site-values-for-site-context.js.map +1 -1
  121. package/dist/tsconfig.tsbuildinfo +1 -1
  122. package/package.json +12 -10
  123. package/schema.graphql +27 -2
  124. package/dist/admin-backend/document/document.helper.d.ts +0 -2
  125. package/dist/admin-backend/document/document.helper.js +0 -6
  126. package/dist/admin-backend/document/document.helper.js.map +0 -1
  127. package/dist/connector/db-init/load-routing-documents.d.ts +0 -3
  128. package/dist/connector/db-init/load-routing-documents.js +0 -85
  129. 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 urlParts;
35
+ let urlSegments;
12
36
  if (siteSchema.languageRoutingMode === "prefixAll") {
13
37
  language = tokens[0];
14
- urlParts = tokens.slice(1);
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
- urlParts = tokens.slice(1);
45
+ urlSegments = tokens.slice(1);
22
46
  }
23
47
  else {
24
48
  language = siteSchema.defaultLanguage;
25
- urlParts = tokens;
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
- const urlCacheKey = [];
33
- if (shouldPrefixWithLanguage(siteSchema, language))
34
- urlCacheKey.push(language);
35
- let prev = siteSchema.nodeTypes.home;
36
- const routingDocuments = [prev];
37
- let depth = 0;
38
- let index = 0;
39
- let frontendApp = prev.hasFrontendApp ? { remainingParts: urlParts } : undefined;
40
- for (; !frontendApp && index < urlParts.length; ++index) {
41
- const urlPart = urlParts[index];
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: prev,
45
- urlPart,
118
+ parent,
119
+ urlSegment,
46
120
  language,
47
121
  });
48
122
  if (!routingDocument)
49
123
  break;
50
- routingDocuments.push(routingDocument);
51
- urlCacheKey.push(urlPart);
52
- ++depth;
53
- prev = routingDocument;
54
- if (routingDocument.hasFrontendApp) {
55
- frontendApp = { remainingParts: urlParts.slice(index + 1) };
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
- let lastRedirectTo = prev.redirectTo;
59
- let parentCandidates = [prev];
60
- const regularRelativeIds = [];
61
- while (!frontendApp && index < urlParts.length) {
62
- const found = findRegularRelativeIdByUrlPath({
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
- urlParts,
66
- index,
162
+ parentCandidates: candidates,
163
+ urlSegments,
164
+ index: currentIndex,
67
165
  });
68
166
  if (!found)
69
- return;
70
- regularRelativeIds.push(found.regularRelativeId);
71
- urlCacheKey.push(`regular:${found.regularRelativeId.relativeId}`);
72
- ++depth;
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
- index += found.skipUrlParts;
75
- parentCandidates = found.regularRelativeId.candidateTypes;
76
- if (found.regularRelativeId.candidateTypes.some((type) => type.hasFrontendApp)) {
77
- frontendApp = { remainingParts: urlParts.slice(index) };
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
- language,
82
- routingDocuments,
83
- regularRelativeIds,
207
+ documentHierarchy,
84
208
  redirectTo: lastRedirectTo,
85
- depth,
86
- urlCacheKey: urlCacheKey.join("/"),
87
- frontendAppPath: frontendApp ? `/${frontendApp.remainingParts.join("/")}` : undefined,
209
+ frontendAppPath: undefined,
88
210
  };
89
211
  }
90
- function parseUrlParameters(urlPath) {
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
- path: urlPath,
265
+ documentHierarchy,
266
+ redirectTo: lastRedirectTo,
267
+ frontendAppPath: undefined,
93
268
  };
94
269
  }
95
- function findRoutingDocumentByUrlPath({ siteSchema, parent, urlPart, language, }) {
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 (urlPart === documentType.route[language])
309
+ if (urlSegment === documentType.route[language])
101
310
  return documentType;
102
311
  }
103
312
  }
104
- function findRegularRelativeIdByUrlPath({ siteSchema, parentCandidates, urlParts, index: partsIndex, }) {
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 = urlParts[partsIndex];
325
+ const urlPath = urlSegments[partsIndex];
117
326
  const relativeId = parseRegularRelativeIdSlug(urlPath);
118
327
  return {
119
- regularRelativeId: { relativeId, candidateTypes },
120
- skipUrlParts: 1,
328
+ relativeId,
329
+ candidateTypes,
330
+ skipUrlSegments: 1,
121
331
  };
122
332
  }
123
333
  if (route === ":yyyy/:mm/:dd/:relativeId-:slug") {
124
- if (urlParts.length < partsIndex + 3 ||
125
- !isYear(urlParts[partsIndex]) ||
126
- !isMonth(urlParts[partsIndex + 1]) ||
127
- !isDay(urlParts[partsIndex + 2])) {
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 = urlParts[partsIndex + 3];
340
+ const urlPath = urlSegments[partsIndex + 3];
131
341
  const relativeId = parseRegularRelativeIdSlug(urlPath);
132
342
  return {
133
- regularRelativeId: { relativeId, candidateTypes },
134
- skipUrlParts: 4,
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 routingDocuments = [...parsedRoute.routingDocuments];
169
- const regularRelativeIds = [...parsedRoute.regularRelativeIds];
379
+ const documentHierarchy = [...parsedRoute.documentHierarchy];
170
380
  const urlCacheKey = parsedRoute.urlCacheKey.split("/");
171
- if (regularRelativeIds.length > 0) {
172
- regularRelativeIds.pop();
173
- urlCacheKey.pop();
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 if (routingDocuments.length > 0) {
176
- routingDocuments.pop();
392
+ else {
177
393
  urlCacheKey.pop();
178
394
  }
179
- if (regularRelativeIds.length === 0 && routingDocuments.length === 0)
180
- return;
181
- const lastRegular = regularRelativeIds.length > 0 ? regularRelativeIds[regularRelativeIds.length - 1] : undefined;
182
- const redirectTo = lastRegular
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
- routingDocuments,
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.depth", 0)
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 routingDocument of parsedRoute.routingDocuments.slice(1)) {
22
+ for (const document of parsedRoute.documentHierarchy.slice(1)) {
24
23
  const cur = prev + 1;
25
- const typeNameParam = routingDocument.typeName;
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":"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"}
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":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,iCAAiC,GAElC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAkB3E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAwB,EACxB,WAA0B,EAC1B,OAIC,EACD,OAAgB;IAEhB,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAErE,IAAI,WAAW,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/F,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,MAAM,gBAAgB,CACpD,WAAW,EACX,OAAO,EACP;gBACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,EACD,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAClC,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,CAC/E,WAAW,EACX,OAAO,EACP;QACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,EACD,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAClC,CAAC;IAEF,MAAM,eAAe,GACnB,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe,KAAK,GAAG;QAChE,CAAC,CAAC,WAAW,CAAC,eAAe;QAC7B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,YAAY,GAAG,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,EAAE,CAAC;IAC9D,IAAI,YAAY,KAAK,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAEjF,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE;QACjE,QAAQ;QACR,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,OAAO;QACP,aAAa,EAAE,sBAAsB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,EAAE;QACxD,aAAa,EAAE,CAAC,GAAG,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC;QACzD,OAAO,EAAE,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,EAAE;YAC7D,GAAG,EAAE,MAAM;YACX,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK;YAC/B,eAAe,EAAE,WAAW,CAAC,eAAe;SAC7C,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;IAC5D,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAE/B,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI;QACJ,cAAc;QACd,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC"}
@@ -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: true,
9
+ ensurePublished: false,
9
10
  skipHome: false,
10
11
  });
11
12
  const result = [];
12
13
  for (const item of items) {
13
- const url = await getUrlOfDocument(siteContext, renderingContext.tracker, item.documentId);
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,IAAI;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3F,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"}
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;