@paroicms/server 1.96.0 → 1.98.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/admin-backend/document/document.resolver.extend.js +1 -1
- package/dist/admin-backend/document/document.resolver.js +14 -14
- package/dist/admin-backend/document/load-documents.queries.d.ts +7 -7
- package/dist/admin-backend/document/load-documents.queries.js +5 -5
- package/dist/admin-backend/document/save-documents.queries.d.ts +5 -5
- package/dist/admin-backend/document/save-documents.queries.js +10 -10
- package/dist/admin-backend/fields/_fields.helpers.d.ts +1 -1
- package/dist/admin-backend/fields/_fields.helpers.js +2 -2
- package/dist/admin-backend/fields/fields.resolver.d.ts +1 -1
- package/dist/admin-backend/fields/fields.resolver.js +10 -10
- package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
- package/dist/admin-backend/fields/labeling.queries.js +1 -1
- package/dist/admin-backend/fields/load-fields-of.queries.d.ts +3 -3
- package/dist/admin-backend/fields/load-fields-of.queries.js +15 -15
- package/dist/admin-backend/fields/load-fields.queries.js +14 -14
- package/dist/admin-backend/fields/save-fields.queries.js +3 -3
- package/dist/admin-backend/{nodel/nodel-wrap.formatters.js → lnode/lnode-wrap.formatters.js} +1 -1
- package/dist/admin-backend/{nodel/nodel-wrap.formatters.js.map → lnode/lnode-wrap.formatters.js.map} +1 -1
- package/dist/admin-backend/{nodel/nodel-wrap.resolver.d.ts → lnode/lnode-wrap.resolver.d.ts} +2 -2
- package/dist/admin-backend/{nodel/nodel-wrap.resolver.js → lnode/lnode-wrap.resolver.js} +31 -31
- package/dist/admin-backend/{nodel/nodel-wrap.resolver.js.map → lnode/lnode-wrap.resolver.js.map} +1 -1
- package/dist/admin-backend/{nodel/nodel.queries.d.ts → lnode/lnode.queries.d.ts} +14 -16
- package/dist/admin-backend/{nodel/nodel.queries.js → lnode/lnode.queries.js} +50 -71
- package/dist/admin-backend/lnode/lnode.queries.js.map +1 -0
- package/dist/admin-backend/node/node.queries.js +1 -1
- package/dist/admin-backend/node/node.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/node/node.resolver.extend.js +2 -2
- package/dist/admin-backend/part/part.queries.d.ts +7 -7
- package/dist/admin-backend/part/part.queries.js +33 -33
- package/dist/admin-backend/part/part.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/part/part.resolver.extend.js +2 -2
- package/dist/admin-backend/part/part.resolver.extend.js.map +1 -1
- package/dist/admin-backend/part/part.resolver.js +8 -8
- package/dist/common/data-format.d.ts +1 -1
- package/dist/common/data-format.js +2 -2
- package/dist/common/media-handles.helpers.js +1 -1
- package/dist/common/text-cache.d.ts +10 -10
- package/dist/common/text-cache.js +6 -6
- package/dist/common/text-cache.js.map +1 -1
- package/dist/graphql/apollo-server-init.js +8 -8
- package/dist/graphql/apollo-server-init.js.map +1 -1
- package/dist/helpers/make-backend-plugin-service.js +2 -2
- package/dist/helpers/running-instance-connector.js +1 -1
- package/dist/helpers/utils-helper.d.ts +1 -1
- package/dist/helpers/utils-helper.js +3 -3
- package/dist/public-api/public-api-rendering.d.ts +2 -2
- package/dist/public-api/search-text/search-text.queries.d.ts +1 -1
- package/dist/public-api/search-text/search-text.queries.js +2 -2
- package/dist/rendered-site/feed/feed-generator.js +5 -5
- package/dist/rendered-site/helpers/format-date.helper.d.ts +1 -8
- package/dist/rendered-site/helpers/format-date.helper.js +53 -18
- package/dist/rendered-site/helpers/format-date.helper.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/format-date.js +2 -0
- package/dist/rendered-site/liquidjs-filters/format-date.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +5 -5
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.js +2 -2
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js +2 -2
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.d.ts +2 -2
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js +2 -2
- package/dist/rendered-site/page-route/make-url.d.ts +3 -3
- package/dist/rendered-site/page-route/make-url.js +4 -4
- package/dist/rendered-site/page-route/raw-document-payload.js +3 -3
- package/dist/rendering-payload/breadcrumb.queries.d.ts +2 -2
- package/dist/rendering-payload/breadcrumb.queries.js +3 -3
- package/dist/rendering-payload/create-doc-drop.js +14 -14
- package/dist/rendering-payload/create-part-drop.js +5 -5
- package/dist/rendering-payload/doc-values.queries.d.ts +5 -5
- package/dist/rendering-payload/doc-values.queries.js +2 -2
- package/dist/rendering-payload/excerpt.queries.d.ts +2 -2
- package/dist/rendering-payload/excerpt.queries.js +3 -3
- package/dist/rendering-payload/field-values.d.ts +2 -2
- package/dist/rendering-payload/field-values.js +9 -9
- package/dist/rendering-payload/get-siblings.queries.d.ts +2 -2
- package/dist/rendering-payload/get-siblings.queries.js +1 -1
- package/dist/rendering-payload/parts.queries.d.ts +3 -3
- package/dist/rendering-payload/parts.queries.js +6 -6
- package/dist/rendering-payload/rendering-payload.types.d.ts +5 -5
- package/dist/rendering-payload/site-payload.d.ts +1 -1
- package/dist/rendering-payload/site-payload.js +7 -7
- package/dist/rendering-payload/translations.queries.d.ts +2 -2
- package/dist/rendering-payload/translations.queries.js +4 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/schema.graphql +25 -25
- package/dist/admin-backend/nodel/nodel.queries.js.map +0 -1
- /package/dist/admin-backend/{nodel/nodel-wrap.formatters.d.ts → lnode/lnode-wrap.formatters.d.ts} +0 -0
|
@@ -1,28 +1,63 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import "dayjs/locale/pt.js";
|
|
8
|
-
import localizedFormat from "dayjs/plugin/localizedFormat.js";
|
|
9
|
-
dayjs.extend(localizedFormat);
|
|
10
|
-
export function formatDate(date, language, format = "short") {
|
|
11
|
-
const dayjsDate = dayjs(date);
|
|
1
|
+
import { format, parseISO } from "date-fns";
|
|
2
|
+
import { de, enUS, es, fr, it, pt } from "date-fns/locale";
|
|
3
|
+
const locales = { de, en: enUS, es, fr, it, pt };
|
|
4
|
+
export function formatDate(date, language, formatType = "short") {
|
|
5
|
+
const dateObj = typeof date === "string" ? parseISO(date) : new Date(date);
|
|
6
|
+
const locale = locales[language] || locales.en;
|
|
12
7
|
let formattedDate;
|
|
13
|
-
if (
|
|
14
|
-
|
|
8
|
+
if (formatType === "long") {
|
|
9
|
+
if (language === "fr") {
|
|
10
|
+
formattedDate = format(dateObj, "d MMMM yyyy", { locale });
|
|
11
|
+
}
|
|
12
|
+
else if (language === "de") {
|
|
13
|
+
formattedDate = format(dateObj, "d. MMMM yyyy", { locale });
|
|
14
|
+
}
|
|
15
|
+
else if (language === "es") {
|
|
16
|
+
formattedDate = format(dateObj, "d 'de' MMMM 'de' yyyy", { locale });
|
|
17
|
+
}
|
|
18
|
+
else if (language === "it") {
|
|
19
|
+
formattedDate = format(dateObj, "d MMMM yyyy", { locale });
|
|
20
|
+
}
|
|
21
|
+
else if (language === "pt") {
|
|
22
|
+
formattedDate = format(dateObj, "d 'de' MMMM 'de' yyyy", { locale });
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
formattedDate = format(dateObj, "MMMM d, yyyy", { locale });
|
|
26
|
+
}
|
|
15
27
|
}
|
|
16
|
-
else if (
|
|
28
|
+
else if (formatType === "long2") {
|
|
17
29
|
if (language === "fr") {
|
|
18
|
-
formattedDate =
|
|
30
|
+
formattedDate = format(dateObj, "EEEE d MMMM yyyy", { locale });
|
|
31
|
+
}
|
|
32
|
+
else if (language === "de") {
|
|
33
|
+
formattedDate = format(dateObj, "EEEE, d. MMMM yyyy", { locale });
|
|
34
|
+
}
|
|
35
|
+
else if (language === "es") {
|
|
36
|
+
formattedDate = format(dateObj, "EEEE, d 'de' MMMM 'de' yyyy", { locale });
|
|
37
|
+
}
|
|
38
|
+
else if (language === "it") {
|
|
39
|
+
formattedDate = format(dateObj, "EEEE, d MMMM yyyy", { locale });
|
|
40
|
+
}
|
|
41
|
+
else if (language === "pt") {
|
|
42
|
+
formattedDate = format(dateObj, "EEEE, d 'de' MMMM 'de' yyyy", { locale });
|
|
19
43
|
}
|
|
20
44
|
else {
|
|
21
|
-
formattedDate =
|
|
45
|
+
formattedDate = format(dateObj, "EEEE, MMMM d, yyyy", { locale });
|
|
22
46
|
}
|
|
23
47
|
}
|
|
24
|
-
else if (
|
|
25
|
-
|
|
48
|
+
else if (formatType === "short") {
|
|
49
|
+
if (language === "fr" || language === "it") {
|
|
50
|
+
formattedDate = format(dateObj, "d/M/yyyy", { locale });
|
|
51
|
+
}
|
|
52
|
+
else if (language === "de") {
|
|
53
|
+
formattedDate = format(dateObj, "d.M.yyyy", { locale });
|
|
54
|
+
}
|
|
55
|
+
else if (language === "es" || language === "pt") {
|
|
56
|
+
formattedDate = format(dateObj, "d/M/yyyy", { locale });
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
formattedDate = format(dateObj, "M/d/yy", { locale });
|
|
60
|
+
}
|
|
26
61
|
}
|
|
27
62
|
else {
|
|
28
63
|
throw new Error("unknown format");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-date.helper.js","sourceRoot":"","sources":["../../../src/rendered-site/helpers/format-date.helper.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"format-date.helper.js","sourceRoot":"","sources":["../../../src/rendered-site/helpers/format-date.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { formatDate } from "../helpers/format-date.helper.js";
|
|
|
2
2
|
export function formatDateLiquidFilter(value, { renderingContext, args }) {
|
|
3
3
|
const format = typeof args[0] === "string" ? args[0] : undefined;
|
|
4
4
|
const dt = typeof value === "string" || value instanceof Date ? value : undefined;
|
|
5
|
+
if (!dt)
|
|
6
|
+
return "";
|
|
5
7
|
return formatDate(dt, renderingContext.language, format);
|
|
6
8
|
}
|
|
7
9
|
//# sourceMappingURL=format-date.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/format-date.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,EAAE,gBAAgB,EAAE,IAAI,EAA2D;IAEnF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,OAAO,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
|
|
1
|
+
{"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/format-date.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,EAAE,gBAAgB,EAAE,IAAI,EAA2D;IAEnF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,OAAO,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getBreadcrumb } from "../../admin-backend/
|
|
1
|
+
import { encodeLNodeId, parseLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import { getBreadcrumb } from "../../admin-backend/lnode/lnode.queries.js";
|
|
3
3
|
export async function injectMenuItemsData(value, { renderingContext }) {
|
|
4
4
|
const str = typeof value === "string" ? value : typeof value === "number" ? String(value) : undefined;
|
|
5
5
|
if (!str)
|
|
6
6
|
return "";
|
|
7
7
|
const { siteContext } = renderingContext;
|
|
8
|
-
const documentId =
|
|
8
|
+
const documentId = parseLNodeId(str);
|
|
9
9
|
const breadcrumb = await getBreadcrumb(siteContext, renderingContext.tracker, documentId, {
|
|
10
10
|
ensurePublished: false,
|
|
11
11
|
});
|
|
12
12
|
breadcrumb.shift();
|
|
13
13
|
const content = {
|
|
14
|
-
id:
|
|
15
|
-
parents: breadcrumb.map((item) =>
|
|
14
|
+
id: encodeLNodeId(documentId),
|
|
15
|
+
parents: breadcrumb.map((item) => encodeLNodeId(item.documentId)),
|
|
16
16
|
};
|
|
17
17
|
return JSON.stringify(content);
|
|
18
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isNumeric, omitProperty,
|
|
1
|
+
import { isNumeric, omitProperty, parseLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import { type } from "arktype";
|
|
3
3
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
4
4
|
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
@@ -24,7 +24,7 @@ export function createGetDocLiquidTag({ deprecated } = {}) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
documentId =
|
|
27
|
+
documentId = parseLNodeId(options.id);
|
|
28
28
|
}
|
|
29
29
|
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId }));
|
|
30
30
|
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseSorting } from "@paroicms/connector";
|
|
2
|
-
import { isDef, omitProperty,
|
|
2
|
+
import { isDef, omitProperty, parseLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import { type } from "arktype";
|
|
4
4
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
5
5
|
import { toNodeId } from "../../helpers/utils-helper.js";
|
|
@@ -26,7 +26,7 @@ export function createGetDocsLiquidTag({ deprecated } = {}) {
|
|
|
26
26
|
const options = validateParameters(parameters, siteContext, { variableName });
|
|
27
27
|
if (options.parentId === undefined)
|
|
28
28
|
return;
|
|
29
|
-
const parentId =
|
|
29
|
+
const parentId = parseLNodeId(options.parentId);
|
|
30
30
|
const cacheKey = makeTagCacheKeyForRendering("getDocs", { tagParameters: options });
|
|
31
31
|
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
32
32
|
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import type { DropInst } from "../../liquidjs-tools/liquidjs-drop.js";
|
|
3
3
|
import { type RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
4
|
import { type PaginatedResult } from "../../rendering-payload/doc-values.queries.js";
|
|
@@ -23,5 +23,5 @@ interface GetPaginatedDocsRawParameters {
|
|
|
23
23
|
pageIndex?: number;
|
|
24
24
|
pageSize: number;
|
|
25
25
|
}
|
|
26
|
-
export declare function loadPaginatedDocs(renderingContext: RenderingContext, parentId:
|
|
26
|
+
export declare function loadPaginatedDocs(renderingContext: RenderingContext, parentId: ParsedLNodeId, options: GetPaginatedDocsRawParameters): Promise<PaginatedResult<DropInst<TpDocPayload>>>;
|
|
27
27
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseSorting } from "@paroicms/connector";
|
|
2
|
-
import { isDef, omitProperty,
|
|
2
|
+
import { isDef, omitProperty, parseLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import { type } from "arktype";
|
|
4
4
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
5
5
|
import { toNodeId } from "../../helpers/utils-helper.js";
|
|
@@ -22,7 +22,7 @@ export function createGetPaginatedDocsLiquidTag() {
|
|
|
22
22
|
const options = validateParameters(parameters, siteContext, { variableName });
|
|
23
23
|
if (options.parentId === undefined)
|
|
24
24
|
return;
|
|
25
|
-
const parentId =
|
|
25
|
+
const parentId = parseLNodeId(options.parentId);
|
|
26
26
|
const cacheKey = makeTagCacheKeyForRendering("getPaginatedDocs", { tagParameters: options });
|
|
27
27
|
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
28
28
|
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Tracker } from "@paroicms/internal-server-lib";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
4
|
-
export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId:
|
|
5
|
-
export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId:
|
|
4
|
+
export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId: ParsedLNodeId): Promise<string>;
|
|
5
|
+
export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId: ParsedLNodeId, options: {
|
|
6
6
|
returnUrlDependencyKeys: true;
|
|
7
7
|
}): Promise<{
|
|
8
8
|
url: string;
|
|
@@ -46,9 +46,9 @@ export async function getUrlOfDocument(siteContext, tracker, documentId, options
|
|
|
46
46
|
}, tracker);
|
|
47
47
|
return options.returnUrlDependencyKeys ? { url, dependencyKeys } : url;
|
|
48
48
|
}
|
|
49
|
-
function buildUrlQuery(siteContext,
|
|
49
|
+
function buildUrlQuery(siteContext, lNodeId, depth) {
|
|
50
50
|
const { cn } = siteContext;
|
|
51
|
-
const { nodeId, language } =
|
|
51
|
+
const { nodeId, language } = lNodeId;
|
|
52
52
|
let cur = depth;
|
|
53
53
|
let query = cn(`PaNode as l${cur}`)
|
|
54
54
|
.select([
|
|
@@ -58,7 +58,7 @@ function buildUrlQuery(siteContext, nodelId, depth) {
|
|
|
58
58
|
`l${cur}.publishDate as publishDate${cur}`,
|
|
59
59
|
`d${cur}.slug as slug${cur}`,
|
|
60
60
|
])
|
|
61
|
-
.innerJoin(`
|
|
61
|
+
.innerJoin(`PaLNode as s${cur}`, {
|
|
62
62
|
[`s${cur}.nodeId`]: `l${cur}.id`,
|
|
63
63
|
[`s${cur}.language`]: cn.raw("?", [language]),
|
|
64
64
|
})
|
|
@@ -85,7 +85,7 @@ function buildUrlQuery(siteContext, nodelId, depth) {
|
|
|
85
85
|
]);
|
|
86
86
|
query = query
|
|
87
87
|
.innerJoin(`PaNode as l${cur}`, `l${cur}.id`, `l${prev}.parentId`)
|
|
88
|
-
.innerJoin(`
|
|
88
|
+
.innerJoin(`PaLNode as s${cur}`, {
|
|
89
89
|
[`s${cur}.nodeId`]: `l${cur}.id`,
|
|
90
90
|
[`s${cur}.language`]: cn.raw("?", [language]),
|
|
91
91
|
})
|
|
@@ -11,7 +11,7 @@ export async function fetchRawDocPayload(siteContext, parsedRoute) {
|
|
|
11
11
|
function buildRawDocPayloadQuery(siteContext, parsedRoute) {
|
|
12
12
|
const { cn } = siteContext;
|
|
13
13
|
let query = cn("PaNode as l0")
|
|
14
|
-
.innerJoin("
|
|
14
|
+
.innerJoin("PaLNode as s0", {
|
|
15
15
|
"l0.id": "s0.nodeId",
|
|
16
16
|
"s0.language": cn.raw("?", [parsedRoute.language]),
|
|
17
17
|
})
|
|
@@ -28,7 +28,7 @@ function buildRawDocPayloadQuery(siteContext, parsedRoute) {
|
|
|
28
28
|
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
29
29
|
[`l${cur}.typeName`]: cn.raw("?", [typeNameParam]),
|
|
30
30
|
})
|
|
31
|
-
.innerJoin(`
|
|
31
|
+
.innerJoin(`PaLNode as s${cur}`, {
|
|
32
32
|
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
33
33
|
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
34
34
|
})
|
|
@@ -44,7 +44,7 @@ function buildRawDocPayloadQuery(siteContext, parsedRoute) {
|
|
|
44
44
|
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
45
45
|
[`l${cur}.relativeId`]: cn.raw("?", [relativeId]),
|
|
46
46
|
})
|
|
47
|
-
.innerJoin(`
|
|
47
|
+
.innerJoin(`PaLNode as s${cur}`, {
|
|
48
48
|
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
49
49
|
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
50
50
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
3
3
|
import type { TpBreadcrumbItem } from "./rendering-payload.types.js";
|
|
4
|
-
export declare function getPublicBreadcrumb(renderingContext: RenderingContext, documentId:
|
|
4
|
+
export declare function getPublicBreadcrumb(renderingContext: RenderingContext, documentId: ParsedLNodeId): Promise<TpBreadcrumbItem[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getBreadcrumb } from "../admin-backend/
|
|
1
|
+
import { encodeLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import { getBreadcrumb } from "../admin-backend/lnode/lnode.queries.js";
|
|
3
3
|
import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
4
4
|
import { getUrlOfDocument } from "../rendered-site/page-route/make-url.js";
|
|
5
5
|
export async function getPublicBreadcrumb(renderingContext, documentId) {
|
|
@@ -12,7 +12,7 @@ export async function getPublicBreadcrumb(renderingContext, documentId) {
|
|
|
12
12
|
for (const item of items) {
|
|
13
13
|
const url = await getUrlOfDocument(siteContext, renderingContext.tracker, item.documentId);
|
|
14
14
|
result.push({
|
|
15
|
-
id:
|
|
15
|
+
id: encodeLNodeId(item.documentId),
|
|
16
16
|
url,
|
|
17
17
|
title: item.title,
|
|
18
18
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
2
|
import { toAbsoluteUrl } from "@paroicms/internal-server-lib";
|
|
3
|
-
import {
|
|
3
|
+
import { encodeLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
4
4
|
import { type } from "arktype";
|
|
5
5
|
import { getSiteFieldValue } from "../admin-backend/fields/load-fields.queries.js";
|
|
6
6
|
import { getHandleOfSiteField } from "../common/media-handles.helpers.js";
|
|
@@ -18,7 +18,7 @@ import { getSiblingDocuments } from "./get-siblings.queries.js";
|
|
|
18
18
|
import { loadDefaultImage } from "./load-default-image.js";
|
|
19
19
|
import { makeImageAvailable } from "./make-image-available.js";
|
|
20
20
|
import { countPartsOf, formatListOfPartValues, keyOfParentPartData, loadPartsOf, } from "./parts.queries.js";
|
|
21
|
-
import {
|
|
21
|
+
import { toPublicRoutingDocumentLNodeIds } from "./site-payload.js";
|
|
22
22
|
import { loadTranslationsAsDrops } from "./translations.queries.js";
|
|
23
23
|
const StringOrUndefinedAT = type("string|undefined");
|
|
24
24
|
export function createDocPayloadDrop(renderingContext, docValues, options = {}) {
|
|
@@ -30,7 +30,7 @@ export function createDocPayloadDrop(renderingContext, docValues, options = {})
|
|
|
30
30
|
});
|
|
31
31
|
return createLiquidDrop({
|
|
32
32
|
renderingContext,
|
|
33
|
-
renderingCacheKey: `doc:${
|
|
33
|
+
renderingCacheKey: `doc:${encodeLNodeId(docValues)}:${options.fieldNames?.join(",") ?? "full"}`,
|
|
34
34
|
values: {
|
|
35
35
|
kind: options.kind ??
|
|
36
36
|
(documentType.documentKind === "routing" ? "routingDocument" : "regularDocument"),
|
|
@@ -42,7 +42,7 @@ export function createDocPayloadDrop(renderingContext, docValues, options = {})
|
|
|
42
42
|
siteContext.logger.warn("'leafId' is deprecated, use 'nodeId' instead");
|
|
43
43
|
return docValues.nodeId;
|
|
44
44
|
},
|
|
45
|
-
id:
|
|
45
|
+
id: encodeLNodeId(docValues),
|
|
46
46
|
get routingIds() {
|
|
47
47
|
return getChildRoutingIds(siteContext.siteIds.homeIds, documentType, docValues);
|
|
48
48
|
},
|
|
@@ -54,7 +54,7 @@ export function createDocPayloadDrop(renderingContext, docValues, options = {})
|
|
|
54
54
|
languageLabel: siteContext.siteSchema.languageLabels[docValues.language],
|
|
55
55
|
url: options.url ?? (() => loadUrlOfDocument(renderingContext, docValues)),
|
|
56
56
|
excerpt: () => loadExcerpt(siteContext, renderingContext.tracker, {
|
|
57
|
-
|
|
57
|
+
lNodeId: docValues,
|
|
58
58
|
fieldTypes: documentType.fields ?? [],
|
|
59
59
|
}),
|
|
60
60
|
list: createPartsDrop(renderingContext, docValues, documentType),
|
|
@@ -93,14 +93,14 @@ export function createDocPayloadDrop(renderingContext, docValues, options = {})
|
|
|
93
93
|
},
|
|
94
94
|
field: () => loadPublicFieldValues(renderingContext, {
|
|
95
95
|
typeName: docValues.type,
|
|
96
|
-
|
|
96
|
+
lNodeId: docValues,
|
|
97
97
|
fieldNames: options.fieldNames,
|
|
98
98
|
}),
|
|
99
99
|
fields: () => {
|
|
100
100
|
siteContext.logger.warn("'fields' is deprecated, use 'field' instead");
|
|
101
101
|
return loadPublicFieldValues(renderingContext, {
|
|
102
102
|
typeName: docValues.type,
|
|
103
|
-
|
|
103
|
+
lNodeId: docValues,
|
|
104
104
|
fieldNames: options.fieldNames,
|
|
105
105
|
});
|
|
106
106
|
},
|
|
@@ -130,7 +130,7 @@ function createPartsDrop(renderingContext, documentId, documentType) {
|
|
|
130
130
|
const { siteContext } = renderingContext;
|
|
131
131
|
return createLiquidDrop({
|
|
132
132
|
renderingContext,
|
|
133
|
-
renderingCacheKey: `partsOf:${
|
|
133
|
+
renderingCacheKey: `partsOf:${encodeLNodeId(documentId)}`,
|
|
134
134
|
values: Object.fromEntries((documentType.lists ?? []).map((listType) => [
|
|
135
135
|
listType.listName,
|
|
136
136
|
async () => {
|
|
@@ -148,7 +148,7 @@ function createPartCountDrop(renderingContext, documentId, documentType) {
|
|
|
148
148
|
const { siteContext } = renderingContext;
|
|
149
149
|
return createLiquidDrop({
|
|
150
150
|
renderingContext,
|
|
151
|
-
renderingCacheKey: `partCountersOf:${
|
|
151
|
+
renderingCacheKey: `partCountersOf:${encodeLNodeId(documentId)}`,
|
|
152
152
|
values: Object.fromEntries((documentType.lists ?? []).map((listType) => [
|
|
153
153
|
listType.listName,
|
|
154
154
|
() => countPartsOf(siteContext, renderingContext.tracker, documentId, listType),
|
|
@@ -165,13 +165,13 @@ async function loadUrlOfDocument(renderingContext, documentId) {
|
|
|
165
165
|
}
|
|
166
166
|
async function makeOgValuesPayload(renderingContext, documentType, docValues, options) {
|
|
167
167
|
const { siteContext } = renderingContext;
|
|
168
|
-
const excerpt = await loadOrFromRenderingCache(renderingContext, `excerpt:${
|
|
169
|
-
|
|
168
|
+
const excerpt = await loadOrFromRenderingCache(renderingContext, `excerpt:${encodeLNodeId(docValues)}:full`, () => loadExcerpt(siteContext, renderingContext.tracker, {
|
|
169
|
+
lNodeId: docValues,
|
|
170
170
|
fieldTypes: documentType.fields ?? [],
|
|
171
171
|
}));
|
|
172
172
|
const url = options.url ??
|
|
173
|
-
(await loadOrFromRenderingCache(renderingContext, `url:${
|
|
174
|
-
const featuredImageId = await loadOrFromRenderingCache(renderingContext, `featuredImage:${
|
|
173
|
+
(await loadOrFromRenderingCache(renderingContext, `url:${encodeLNodeId(docValues)}`, () => loadUrlOfDocument(renderingContext, docValues)));
|
|
174
|
+
const featuredImageId = await loadOrFromRenderingCache(renderingContext, `featuredImage:${encodeLNodeId(docValues)}`, async () => (await getFeaturedImageOf(renderingContext, {
|
|
175
175
|
nodeId: docValues.nodeId,
|
|
176
176
|
documentType,
|
|
177
177
|
}))?.id);
|
|
@@ -217,7 +217,7 @@ function getChildRoutingIds(ids, documentType, parentDocument) {
|
|
|
217
217
|
if (documentType.typeName !== ids.typeName) {
|
|
218
218
|
throw new Error(`Routing identifier type mismatch: "${documentType.typeName}" ≠ "${ids.typeName}"`);
|
|
219
219
|
}
|
|
220
|
-
const { id, ...rest } =
|
|
220
|
+
const { id, ...rest } = toPublicRoutingDocumentLNodeIds(ids, language);
|
|
221
221
|
return Object.keys(rest).length > 0 ? rest : undefined;
|
|
222
222
|
}
|
|
223
223
|
for (const childIds of Object.values(ids.children ?? {})) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPartTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
|
-
import {
|
|
2
|
+
import { encodeLNodeId } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import { toTpSourceMedia } from "../common/medias/to-media-values.js";
|
|
4
4
|
import { getNodeTypeLabel } from "../helpers/label-translator.helper.js";
|
|
5
5
|
import { createLiquidDrop } from "../liquidjs-tools/liquidjs-drop.js";
|
|
@@ -15,7 +15,7 @@ export function createPartDrop(renderingContext, docValues, options) {
|
|
|
15
15
|
});
|
|
16
16
|
return createLiquidDrop({
|
|
17
17
|
renderingContext,
|
|
18
|
-
renderingCacheKey: `part:${
|
|
18
|
+
renderingCacheKey: `part:${encodeLNodeId(docValues)}:${options.fieldNames?.join(",") ?? "full"}`,
|
|
19
19
|
values: {
|
|
20
20
|
kind: "part",
|
|
21
21
|
leafType: async () => {
|
|
@@ -26,7 +26,7 @@ export function createPartDrop(renderingContext, docValues, options) {
|
|
|
26
26
|
siteContext.logger.warn("'leafId' is deprecated, use 'nodeId' instead");
|
|
27
27
|
return docValues.nodeId;
|
|
28
28
|
},
|
|
29
|
-
id:
|
|
29
|
+
id: encodeLNodeId(docValues),
|
|
30
30
|
...docValues,
|
|
31
31
|
typeLabel: typeLabel,
|
|
32
32
|
num: () => {
|
|
@@ -52,14 +52,14 @@ export function createPartDrop(renderingContext, docValues, options) {
|
|
|
52
52
|
},
|
|
53
53
|
field: () => loadPublicFieldValues(renderingContext, {
|
|
54
54
|
typeName: docValues.type,
|
|
55
|
-
|
|
55
|
+
lNodeId: docValues,
|
|
56
56
|
fieldNames: options.fieldNames,
|
|
57
57
|
}),
|
|
58
58
|
fields: () => {
|
|
59
59
|
siteContext.logger.warn("'part.fields' is deprecated, use 'part.field' instead");
|
|
60
60
|
return loadPublicFieldValues(renderingContext, {
|
|
61
61
|
typeName: docValues.type,
|
|
62
|
-
|
|
62
|
+
lNodeId: docValues,
|
|
63
63
|
fieldNames: options.fieldNames,
|
|
64
64
|
});
|
|
65
65
|
},
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Tracker } from "@paroicms/internal-server-lib";
|
|
2
|
-
import type { Obj,
|
|
2
|
+
import type { Obj, ParsedLNodeId, ScDocumentKind, ScSorting } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import type { LabeledBy } from "@paroicms/public-server-lib";
|
|
4
4
|
import type { Knex } from "knex";
|
|
5
5
|
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
6
6
|
import type { SiteContext } from "../site-context/site-context.types.js";
|
|
7
7
|
import type { TpDocValues } from "./rendering-payload.types.js";
|
|
8
|
-
export declare function getDocItem(siteContext: SiteContext, tracker: Tracker, documentId:
|
|
9
|
-
export declare function getDocItem(siteContext: SiteContext, tracker: Tracker, documentId:
|
|
8
|
+
export declare function getDocItem(siteContext: SiteContext, tracker: Tracker, documentId: ParsedLNodeId): Promise<TpDocValues>;
|
|
9
|
+
export declare function getDocItem(siteContext: SiteContext, tracker: Tracker, documentId: ParsedLNodeId, options: {
|
|
10
10
|
allowUndef: true;
|
|
11
11
|
}): Promise<TpDocValues | undefined>;
|
|
12
12
|
export interface PaginatedResult<T> {
|
|
@@ -17,7 +17,7 @@ export interface PaginatedResult<T> {
|
|
|
17
17
|
pageSize: number;
|
|
18
18
|
}
|
|
19
19
|
export interface GetPaginatedDocsOptions {
|
|
20
|
-
parentId:
|
|
20
|
+
parentId: ParsedLNodeId;
|
|
21
21
|
documentKind: ScDocumentKind;
|
|
22
22
|
orderBy?: ScSorting;
|
|
23
23
|
labeledBy?: LabeledBy;
|
|
@@ -26,7 +26,7 @@ export interface GetPaginatedDocsOptions {
|
|
|
26
26
|
}
|
|
27
27
|
export declare function getPaginatedListOfDocValues(renderingContext: RenderingContext, options: GetPaginatedDocsOptions): Promise<PaginatedResult<TpDocValues>>;
|
|
28
28
|
export interface GetDocsOptions {
|
|
29
|
-
parentId:
|
|
29
|
+
parentId: ParsedLNodeId;
|
|
30
30
|
documentKind: ScDocumentKind;
|
|
31
31
|
orderBy?: ScSorting;
|
|
32
32
|
offset?: number;
|
|
@@ -9,7 +9,7 @@ export async function getDocItem(siteContext, tracker, documentId, options = {})
|
|
|
9
9
|
const query = siteContext.cn("PaDocument as d");
|
|
10
10
|
querySelectDocValues(query, { omitId: true });
|
|
11
11
|
query
|
|
12
|
-
.innerJoin("
|
|
12
|
+
.innerJoin("PaLNode as s", {
|
|
13
13
|
"s.nodeId": "d.nodeId",
|
|
14
14
|
"s.language": "d.language",
|
|
15
15
|
})
|
|
@@ -113,7 +113,7 @@ export function querySelectDocValues(query, { omitId } = {}) {
|
|
|
113
113
|
function createBaseDocItemsQueryBuilder(siteContext, { parentId }) {
|
|
114
114
|
const { cn } = siteContext;
|
|
115
115
|
return cn("PaNode as l")
|
|
116
|
-
.innerJoin("
|
|
116
|
+
.innerJoin("PaLNode as s", {
|
|
117
117
|
"s.nodeId": "l.id",
|
|
118
118
|
"s.language": cn.raw("?", [parentId.language]),
|
|
119
119
|
})
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Tracker } from "@paroicms/internal-server-lib";
|
|
2
2
|
import type { ScFieldType } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import type { SiteContext } from "../site-context/site-context.types.js";
|
|
4
|
-
export declare function loadExcerpt(siteContext: SiteContext, tracker: Tracker, {
|
|
5
|
-
|
|
4
|
+
export declare function loadExcerpt(siteContext: SiteContext, tracker: Tracker, { lNodeId, fieldTypes, maxLength, }: {
|
|
5
|
+
lNodeId: {
|
|
6
6
|
nodeId: string;
|
|
7
7
|
language: string;
|
|
8
8
|
};
|
|
@@ -8,7 +8,7 @@ const ExcerptRowAT = type({
|
|
|
8
8
|
}).pipe((data) => ({
|
|
9
9
|
excerpt: data.excerpt ?? undefined,
|
|
10
10
|
}));
|
|
11
|
-
export async function loadExcerpt(siteContext, tracker, {
|
|
11
|
+
export async function loadExcerpt(siteContext, tracker, { lNodeId, fieldTypes, maxLength, }) {
|
|
12
12
|
const excerptFieldTypes = [];
|
|
13
13
|
for (const field of fieldTypes ?? []) {
|
|
14
14
|
if (field.storedAs === "text" &&
|
|
@@ -23,13 +23,13 @@ export async function loadExcerpt(siteContext, tracker, { nodelId, fieldTypes, m
|
|
|
23
23
|
}
|
|
24
24
|
const orderedFieldTypes = excerptFieldTypes.sort((a, b) => a.useAsExcerpt - b.useAsExcerpt);
|
|
25
25
|
for (const field of orderedFieldTypes) {
|
|
26
|
-
const dbLanguage = field.localized ?
|
|
26
|
+
const dbLanguage = field.localized ? lNodeId.language : dbAnyLanguage;
|
|
27
27
|
const row = await siteContext
|
|
28
28
|
.cn("PaFieldText as f")
|
|
29
29
|
.select("f.excerpt")
|
|
30
30
|
.where({
|
|
31
31
|
"f.field": field.name,
|
|
32
|
-
"f.nodeId":
|
|
32
|
+
"f.nodeId": lNodeId.nodeId,
|
|
33
33
|
"f.language": dbLanguage,
|
|
34
34
|
})
|
|
35
35
|
.first();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import { type DropInst } from "../liquidjs-tools/liquidjs-drop.js";
|
|
3
3
|
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
4
|
import type { TpFieldValues } from "./rendering-payload.types.js";
|
|
@@ -9,6 +9,6 @@ export declare function getPublicSiteFieldValues(renderingContext: RenderingCont
|
|
|
9
9
|
}>;
|
|
10
10
|
export declare function loadPublicFieldValues(renderingContext: RenderingContext, options: {
|
|
11
11
|
typeName: string;
|
|
12
|
-
|
|
12
|
+
lNodeId: ParsedLNodeId;
|
|
13
13
|
fieldNames?: string[];
|
|
14
14
|
}): Promise<TpFieldValues>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getNodeTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { encodeLNodeId, isJsonFieldValue, isMediaHandleValue, isReadLabelingFieldValue, pickATermTitle, } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { languageIfLNode } from "../admin-backend/fields/_fields.helpers.js";
|
|
4
4
|
import { loadFieldValues } from "../admin-backend/fields/load-fields.queries.js";
|
|
5
5
|
import { preprocessFields } from "../admin-backend/fields/preprocess-fields.js";
|
|
6
6
|
import { getHandleOfFieldOnNode } from "../common/media-handles.helpers.js";
|
|
@@ -23,7 +23,7 @@ export function getPublicSiteFieldValues(renderingContext, language, { deprecate
|
|
|
23
23
|
const rawFValues = await loadFieldValues(siteContext, {
|
|
24
24
|
fieldTypes,
|
|
25
25
|
nodeId: siteNodeId,
|
|
26
|
-
language:
|
|
26
|
+
language: languageIfLNode(language, fType),
|
|
27
27
|
publishedOnly: true,
|
|
28
28
|
});
|
|
29
29
|
const fValues = await preprocessFields(renderingContext, rawFValues, fieldTypes, {
|
|
@@ -53,8 +53,8 @@ export async function loadPublicFieldValues(renderingContext, options) {
|
|
|
53
53
|
}
|
|
54
54
|
const rawValues = await loadFieldValues(siteContext, {
|
|
55
55
|
fieldTypes,
|
|
56
|
-
nodeId: options.
|
|
57
|
-
language: options.
|
|
56
|
+
nodeId: options.lNodeId.nodeId,
|
|
57
|
+
language: options.lNodeId.language,
|
|
58
58
|
publishedOnly: true,
|
|
59
59
|
});
|
|
60
60
|
const values = await preprocessFields(renderingContext, rawValues, fieldTypes, {
|
|
@@ -66,14 +66,14 @@ export async function loadPublicFieldValues(renderingContext, options) {
|
|
|
66
66
|
const fType = map.get(fieldName);
|
|
67
67
|
if (!fType || !(fType.name in values))
|
|
68
68
|
throw new Error(`missing field type for '${fieldName}'`);
|
|
69
|
-
result[fieldName] = makeFieldValueOrLoader(renderingContext, fType, value, options.
|
|
69
|
+
result[fieldName] = makeFieldValueOrLoader(renderingContext, fType, value, options.lNodeId.language);
|
|
70
70
|
if (fType.withGallery) {
|
|
71
|
-
result[`${fieldName}_gallery`] = createWithGalleryFieldLoader(renderingContext, fType, options.
|
|
71
|
+
result[`${fieldName}_gallery`] = createWithGalleryFieldLoader(renderingContext, fType, options.lNodeId.nodeId);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
return createLiquidDrop({
|
|
75
75
|
renderingContext,
|
|
76
|
-
renderingCacheKey: `fields:${
|
|
76
|
+
renderingCacheKey: `fields:${encodeLNodeId(options.lNodeId)}:${options.fieldNames?.join(",") ?? "full"}`,
|
|
77
77
|
values: result,
|
|
78
78
|
});
|
|
79
79
|
}
|
|
@@ -113,7 +113,7 @@ function createTpTerm(renderingContext, term, rightLanguage) {
|
|
|
113
113
|
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: termId }));
|
|
114
114
|
return createLiquidDrop({
|
|
115
115
|
renderingContext,
|
|
116
|
-
renderingCacheKey: `term:${
|
|
116
|
+
renderingCacheKey: `term:${encodeLNodeId(termId)}`,
|
|
117
117
|
values: {
|
|
118
118
|
nodeId: term.nodeId,
|
|
119
119
|
title,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
3
3
|
import type { TpSiblingDocuments } from "./rendering-payload.types.js";
|
|
4
|
-
export declare function getSiblingDocuments(renderingContext: RenderingContext, documentId:
|
|
4
|
+
export declare function getSiblingDocuments(renderingContext: RenderingContext, documentId: ParsedLNodeId): Promise<TpSiblingDocuments>;
|
|
@@ -66,7 +66,7 @@ async function getSiblingDocumentIds(siteContext, tracker, { documentId, parentN
|
|
|
66
66
|
const { language } = documentId;
|
|
67
67
|
const { cn } = siteContext;
|
|
68
68
|
const subQuery = cn("PaNode as l")
|
|
69
|
-
.innerJoin("
|
|
69
|
+
.innerJoin("PaLNode as s", {
|
|
70
70
|
"s.nodeId": "l.id",
|
|
71
71
|
"s.language": cn.raw("?", [language]),
|
|
72
72
|
})
|