@paroicms/server 1.104.4 → 1.105.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/README.md +2 -2
- package/dist/admin-backend/document/load-documents.queries.js +19 -19
- package/dist/admin-backend/document/save-documents.queries.js +13 -11
- package/dist/admin-backend/document/save-documents.queries.js.map +1 -1
- package/dist/admin-backend/fields/load-fields-of.queries.js +6 -6
- package/dist/admin-backend/lnode/lnode-wrap.formatters.d.ts +3 -3
- package/dist/admin-backend/lnode/lnode-wrap.formatters.js.map +1 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js +11 -13
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
- package/dist/admin-backend/lnode/lnode.queries.d.ts +8 -11
- package/dist/admin-backend/lnode/lnode.queries.js +34 -25
- package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
- package/dist/admin-backend/node/node.queries.js +14 -14
- package/dist/admin-backend/node/ordered-node.queries.js +6 -6
- package/dist/admin-backend/part/part-node.queries.js +9 -9
- package/dist/admin-backend/part/part.queries.js +34 -34
- package/dist/common/child-ordering-query.d.ts +2 -2
- package/dist/common/child-ordering-query.js +19 -18
- package/dist/common/child-ordering-query.js.map +1 -1
- package/dist/connector/plugin-loader/init-plugins.js +5 -2
- package/dist/connector/plugin-loader/init-plugins.js.map +1 -1
- package/dist/connector/plugin-loader/plugin-loader.js +2 -1
- package/dist/connector/plugin-loader/plugin-loader.js.map +1 -1
- package/dist/connector/plugin-loader/plugin-types.d.ts +10 -11
- package/dist/connector/site-schema/site-schema-factory.js +1 -2
- package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
- package/dist/helpers/utils-helper.d.ts +0 -1
- package/dist/helpers/utils-helper.js +0 -4
- package/dist/helpers/utils-helper.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-drop.d.ts +4 -0
- package/dist/liquidjs-tools/liquidjs-drop.js +4 -1
- package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js +11 -2
- package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js.map +1 -1
- package/dist/liquidjs-tools/render-clone/forloop-drop.js.map +1 -1
- package/dist/liquidjs-tools/render-clone/render.d.ts +7 -3
- package/dist/liquidjs-tools/render-clone/render.js +82 -12
- package/dist/liquidjs-tools/render-clone/render.js.map +1 -1
- package/dist/plugin-services/make-backend-plugin-service.js +41 -5
- package/dist/plugin-services/make-backend-plugin-service.js.map +1 -1
- package/dist/rendered-site/feed/feed-generator.js +14 -14
- package/dist/rendered-site/helpers/liquid-function-call-args.d.ts +17 -0
- package/dist/rendered-site/helpers/liquid-function-call-args.js +88 -0
- package/dist/rendered-site/helpers/liquid-function-call-args.js.map +1 -0
- package/dist/rendered-site/helpers/liquid-tag-helpers.d.ts +23 -0
- package/dist/rendered-site/helpers/liquid-tag-helpers.js +68 -0
- package/dist/rendered-site/helpers/liquid-tag-helpers.js.map +1 -0
- package/dist/rendered-site/helpers/out-liquid-tag.d.ts +11 -0
- package/dist/rendered-site/helpers/out-liquid-tag.js +51 -0
- package/dist/rendered-site/helpers/out-liquid-tag.js.map +1 -0
- package/dist/rendered-site/helpers/set-liquid-tag.d.ts +14 -0
- package/dist/rendered-site/helpers/set-liquid-tag.js +62 -0
- package/dist/rendered-site/helpers/set-liquid-tag.js.map +1 -0
- package/dist/rendered-site/liquidjs-filters/info-filter.js +35 -20
- package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.d.ts +1 -0
- package/dist/rendered-site/liquidjs-tags/{get-doc-tag.js → deprecated-get-doc-tag.js} +8 -9
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.d.ts +1 -0
- package/dist/rendered-site/liquidjs-tags/{get-docs-tag.js → deprecated-get-docs-tag.js} +45 -36
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.d.ts +23 -0
- package/dist/rendered-site/liquidjs-tags/{get-paginated-docs-tag.js → deprecated-get-paginated-docs-tag.js} +48 -31
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.d.ts +10 -0
- package/dist/rendered-site/liquidjs-tags/{use-image-tag.js → deprecated-use-image-tag.js} +8 -7
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.d.ts +2 -0
- package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js +68 -0
- package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.d.ts +2 -0
- package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js +98 -0
- package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.d.ts +2 -0
- package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js +89 -0
- package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.d.ts +2 -0
- package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js +111 -0
- package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js.map +1 -0
- package/dist/rendered-site/page-route/raw-document-payload.js +25 -25
- package/dist/rendering-payload/breadcrumb.queries.js +8 -2
- package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
- package/dist/rendering-payload/cluster-payloads.js +16 -8
- package/dist/rendering-payload/cluster-payloads.js.map +1 -1
- package/dist/rendering-payload/create-doc-drop.d.ts +3 -1
- package/dist/rendering-payload/create-doc-drop.js +17 -3
- package/dist/rendering-payload/create-doc-drop.js.map +1 -1
- package/dist/rendering-payload/doc-list.queries.d.ts +16 -0
- package/dist/rendering-payload/doc-list.queries.js +155 -0
- package/dist/rendering-payload/doc-list.queries.js.map +1 -0
- package/dist/rendering-payload/doc-values.queries.d.ts +1 -28
- package/dist/rendering-payload/doc-values.queries.js +8 -102
- package/dist/rendering-payload/doc-values.queries.js.map +1 -1
- package/dist/rendering-payload/field-values.js +7 -3
- package/dist/rendering-payload/field-values.js.map +1 -1
- package/dist/rendering-payload/get-siblings.queries.js +34 -24
- package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
- package/dist/rendering-payload/make-public-payload.js +4 -4
- package/dist/rendering-payload/make-public-payload.js.map +1 -1
- package/dist/rendering-payload/parts.queries.js +18 -18
- package/dist/rendering-payload/rendering-payload.types.d.ts +9 -13
- package/dist/rendering-payload/site-payload.d.ts +1 -1
- package/dist/rendering-payload/site-payload.js +8 -3
- package/dist/rendering-payload/site-payload.js.map +1 -1
- package/dist/rendering-payload/translations.queries.d.ts +1 -1
- package/dist/rendering-payload/translations.queries.js +26 -16
- package/dist/rendering-payload/translations.queries.js.map +1 -1
- package/dist/site-context/core-plugin/create-core-plugin.js +2 -1
- package/dist/site-context/core-plugin/create-core-plugin.js.map +1 -1
- package/dist/site-context/liquid-init.d.ts +6 -1
- package/dist/site-context/liquid-init.js +28 -10
- package/dist/site-context/liquid-init.js.map +1 -1
- package/dist/site-context/load-site-context.js +14 -15
- package/dist/site-context/load-site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +4 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/schema.graphql +6 -6
- package/dist/connector/site-schema/site-schema-public-helpers.d.ts +0 -3
- package/dist/connector/site-schema/site-schema-public-helpers.js +0 -15
- package/dist/connector/site-schema/site-schema-public-helpers.js.map +0 -1
- package/dist/public-api/public-api-rendering.d.ts +0 -15
- package/dist/public-api/public-api-rendering.js +0 -114
- package/dist/public-api/public-api-rendering.js.map +0 -1
- package/dist/public-api/search-text/search-text.queries.d.ts +0 -15
- package/dist/public-api/search-text/search-text.queries.js +0 -85
- package/dist/public-api/search-text/search-text.queries.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.d.ts +0 -13
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.d.ts +0 -13
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.d.ts +0 -27
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.d.ts +0 -32
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.js +0 -59
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/use-image-tag.d.ts +0 -24
- package/dist/rendered-site/liquidjs-tags/use-image-tag.js.map +0 -1
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
1
|
import { parseSqliteDateTime } from "@paroicms/internal-server-lib";
|
|
3
2
|
import { type } from "arktype";
|
|
4
|
-
import { getTypeNameOf } from "../admin-backend/node/node.queries.js";
|
|
5
|
-
import { applyRegularChildrenSortingOnQuery } from "../common/child-ordering-query.js";
|
|
6
|
-
import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
7
3
|
import { mainDbSchemaName } from "../connector/db-init/db-constants.js";
|
|
8
4
|
export async function getDocItem(siteContext, tracker, documentId, options = {}) {
|
|
9
5
|
const query = siteContext.cn("PaDocument as d");
|
|
10
6
|
querySelectDocValues(query, { omitId: true });
|
|
11
7
|
query
|
|
12
|
-
.innerJoin("PaLNode as
|
|
13
|
-
"
|
|
14
|
-
"
|
|
8
|
+
.innerJoin("PaLNode as l", {
|
|
9
|
+
"l.nodeId": "d.nodeId",
|
|
10
|
+
"l.language": "d.language",
|
|
15
11
|
})
|
|
16
|
-
.innerJoin("PaNode as
|
|
12
|
+
.innerJoin("PaNode as n", "n.id", "d.nodeId")
|
|
17
13
|
.where({
|
|
18
14
|
"d.nodeId": documentId.nodeId,
|
|
19
15
|
"d.language": documentId.language,
|
|
20
|
-
"
|
|
16
|
+
"l.ready": 1,
|
|
21
17
|
})
|
|
22
|
-
.whereRaw("
|
|
18
|
+
.whereRaw("n.publishDate <= current_timestamp");
|
|
23
19
|
const row = await query.first();
|
|
24
20
|
tracker.trackAccess(mainDbSchemaName, "PaDocument", "read");
|
|
25
21
|
if (!row) {
|
|
@@ -29,101 +25,11 @@ export async function getDocItem(siteContext, tracker, documentId, options = {})
|
|
|
29
25
|
}
|
|
30
26
|
return formatDocValues(row, documentId);
|
|
31
27
|
}
|
|
32
|
-
export async function getPaginatedListOfDocValues(renderingContext, options) {
|
|
33
|
-
const { siteContext } = renderingContext;
|
|
34
|
-
const { pageIndex, pageSize, ...otherOptions } = options;
|
|
35
|
-
const items = await getListOfDocValues(renderingContext, {
|
|
36
|
-
offset: options.pageIndex > 0 ? options.pageIndex * options.pageSize : undefined,
|
|
37
|
-
limit: options.pageSize,
|
|
38
|
-
...otherOptions,
|
|
39
|
-
});
|
|
40
|
-
const total = options.pageSize === items.length
|
|
41
|
-
? await countDocItems(siteContext, renderingContext.tracker, { parentId: options.parentId })
|
|
42
|
-
: items.length;
|
|
43
|
-
return {
|
|
44
|
-
items,
|
|
45
|
-
total,
|
|
46
|
-
pageIndex,
|
|
47
|
-
pageCount: Math.ceil(total / pageSize),
|
|
48
|
-
pageSize,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export async function getListOfDocValues(renderingContext, options) {
|
|
52
|
-
const { siteContext } = renderingContext;
|
|
53
|
-
const { parentId, documentKind } = options;
|
|
54
|
-
const parentTypeName = await getTypeNameOf(siteContext, parentId.nodeId);
|
|
55
|
-
const parentDocumentType = getDocumentTypeByName(siteContext.siteSchema, parentTypeName);
|
|
56
|
-
const typeNames = documentKind === "regular"
|
|
57
|
-
? parentDocumentType.regularChildren
|
|
58
|
-
: parentDocumentType.routingChildren;
|
|
59
|
-
if (!typeNames?.length)
|
|
60
|
-
return [];
|
|
61
|
-
renderingContext.addDependencyKey(makeCacheDependencyKey({
|
|
62
|
-
relation: "children",
|
|
63
|
-
documentId: parentId,
|
|
64
|
-
}));
|
|
65
|
-
const query = createBaseDocItemsQueryBuilder(siteContext, { parentId });
|
|
66
|
-
query.whereIn("l.typeName", typeNames);
|
|
67
|
-
querySelectDocValues(query);
|
|
68
|
-
applyRegularChildrenSortingOnQuery(siteContext, {
|
|
69
|
-
query,
|
|
70
|
-
parentDocumentType,
|
|
71
|
-
regularChildrenSorting: options.orderBy,
|
|
72
|
-
});
|
|
73
|
-
if (options.labeledBy) {
|
|
74
|
-
const { fieldName, termNodeId } = options.labeledBy;
|
|
75
|
-
query
|
|
76
|
-
.innerJoin("PaFieldLabeling as f", "f.nodeId", "l.id")
|
|
77
|
-
.where("f.termId", termNodeId)
|
|
78
|
-
.where("f.field", fieldName);
|
|
79
|
-
renderingContext.addDependencyKey(makeCacheDependencyKey({
|
|
80
|
-
relation: "labeled",
|
|
81
|
-
termNodeId: termNodeId,
|
|
82
|
-
fieldName,
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
if (options.offset !== undefined) {
|
|
86
|
-
query.offset(options.offset);
|
|
87
|
-
}
|
|
88
|
-
if (options.limit !== undefined) {
|
|
89
|
-
query.limit(options.limit);
|
|
90
|
-
}
|
|
91
|
-
const rows = await query;
|
|
92
|
-
renderingContext.tracker.trackAccess(mainDbSchemaName, "PaDocument", "read");
|
|
93
|
-
return rows.map((row) => formatDocValues(row, { language: parentId.language }));
|
|
94
|
-
}
|
|
95
|
-
const CountDocItemsRowAT = type({
|
|
96
|
-
cnt: "number",
|
|
97
|
-
"+": "reject",
|
|
98
|
-
});
|
|
99
|
-
async function countDocItems(siteContext, tracker, { parentId }) {
|
|
100
|
-
const query = createBaseDocItemsQueryBuilder(siteContext, { parentId });
|
|
101
|
-
const row = await query.count("* as cnt").first();
|
|
102
|
-
tracker.trackAccess(mainDbSchemaName, "PaDocument", "read");
|
|
103
|
-
if (!row)
|
|
104
|
-
return 0;
|
|
105
|
-
return CountDocItemsRowAT.assert(row).cnt;
|
|
106
|
-
}
|
|
107
28
|
export function querySelectDocValues(query, { omitId } = {}) {
|
|
108
29
|
if (!omitId) {
|
|
109
|
-
query.select("
|
|
30
|
+
query.select("n.id as nodeId");
|
|
110
31
|
}
|
|
111
|
-
query.select("
|
|
112
|
-
}
|
|
113
|
-
function createBaseDocItemsQueryBuilder(siteContext, { parentId }) {
|
|
114
|
-
const { cn } = siteContext;
|
|
115
|
-
return cn("PaNode as l")
|
|
116
|
-
.innerJoin("PaLNode as s", {
|
|
117
|
-
"s.nodeId": "l.id",
|
|
118
|
-
"s.language": cn.raw("?", [parentId.language]),
|
|
119
|
-
})
|
|
120
|
-
.innerJoin("PaDocument as d", {
|
|
121
|
-
"d.nodeId": "s.nodeId",
|
|
122
|
-
"d.language": "s.language",
|
|
123
|
-
})
|
|
124
|
-
.where("l.parentId", parentId.nodeId)
|
|
125
|
-
.where("s.ready", 1)
|
|
126
|
-
.whereRaw("l.publishDate <= current_timestamp");
|
|
32
|
+
query.select("n.typeName", "n.relativeId", "n.publishDate", "d.title", "d.slug", "d.metaDescription", "d.metaKeywords");
|
|
127
33
|
}
|
|
128
34
|
const DocValuesRowAT = type({
|
|
129
35
|
typeName: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-values.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/doc-values.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doc-values.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/doc-values.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,6 @@ import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
|
7
7
|
import { createLiquidDrop } from "../liquidjs-tools/liquidjs-drop.js";
|
|
8
8
|
import { executeRenderingHook } from "../plugin-services/rendering-hook.js";
|
|
9
9
|
import { getUrlOfDocument } from "../rendered-site/page-route/make-url.js";
|
|
10
|
-
import { createDocPayloadDrop } from "./create-doc-drop.js";
|
|
11
|
-
import { getDocItem } from "./doc-values.queries.js";
|
|
12
10
|
export async function loadPublicFieldValues(renderingContext, options) {
|
|
13
11
|
const { siteContext } = renderingContext;
|
|
14
12
|
let fieldTypes = getNodeTypeByName(siteContext.siteSchema, options.typeName).fields ?? [];
|
|
@@ -93,7 +91,13 @@ function createTpTerm(renderingContext, term, rightLanguage) {
|
|
|
93
91
|
language,
|
|
94
92
|
})
|
|
95
93
|
: undefined,
|
|
96
|
-
|
|
94
|
+
},
|
|
95
|
+
}, {
|
|
96
|
+
loadDescriptor: {
|
|
97
|
+
load: "one",
|
|
98
|
+
nodeKind: "document",
|
|
99
|
+
descriptorName: "id",
|
|
100
|
+
documentId: termId,
|
|
97
101
|
},
|
|
98
102
|
});
|
|
99
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-values.js","sourceRoot":"","sources":["../../src/rendering-payload/field-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EAExB,cAAc,GAIf,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"field-values.js","sourceRoot":"","sources":["../../src/rendering-payload/field-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
2
|
import { encodeLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { assignLoadDescriptor } from "@paroicms/public-server-lib";
|
|
3
4
|
import { type } from "arktype";
|
|
4
5
|
import { applyRegularChildrenSortingOnQuery } from "../common/child-ordering-query.js";
|
|
5
6
|
import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
6
7
|
import { mainDbSchemaName } from "../connector/db-init/db-constants.js";
|
|
7
8
|
import { createLiquidDrop } from "../liquidjs-tools/liquidjs-drop.js";
|
|
8
|
-
import { createDocPayloadDrop } from "./create-doc-drop.js";
|
|
9
|
-
import { getDocItem } from "./doc-values.queries.js";
|
|
10
9
|
export function getSiblingDocuments(renderingContext, documentId) {
|
|
11
10
|
const { siteContext } = renderingContext;
|
|
12
11
|
const renderingCacheKey = `doc:${encodeLNodeId(documentId)}:siblings`;
|
|
@@ -30,19 +29,30 @@ export function getSiblingDocuments(renderingContext, documentId) {
|
|
|
30
29
|
parentNodeId: parentNode.parentNodeId,
|
|
31
30
|
documentId,
|
|
32
31
|
});
|
|
32
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({
|
|
33
|
+
documentId: {
|
|
34
|
+
nodeId: parentNode.parentNodeId,
|
|
35
|
+
language: documentId.language,
|
|
36
|
+
},
|
|
37
|
+
relation: "children",
|
|
38
|
+
}));
|
|
33
39
|
return {
|
|
34
40
|
renderingCacheKey,
|
|
35
41
|
values: {
|
|
36
42
|
previous: previousDocumentId
|
|
37
|
-
?
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
? assignLoadDescriptor({}, {
|
|
44
|
+
load: "one",
|
|
45
|
+
nodeKind: "document",
|
|
46
|
+
descriptorName: "id",
|
|
47
|
+
documentId: previousDocumentId,
|
|
40
48
|
})
|
|
41
49
|
: undefined,
|
|
42
50
|
next: nextDocumentId
|
|
43
|
-
?
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
? assignLoadDescriptor({}, {
|
|
52
|
+
load: "one",
|
|
53
|
+
nodeKind: "document",
|
|
54
|
+
descriptorName: "id",
|
|
55
|
+
documentId: nextDocumentId,
|
|
46
56
|
})
|
|
47
57
|
: undefined,
|
|
48
58
|
},
|
|
@@ -59,10 +69,10 @@ const ParentNodeRowAT = type({
|
|
|
59
69
|
}));
|
|
60
70
|
async function getParentNode(siteContext, tracker, nodeId) {
|
|
61
71
|
const row = await siteContext
|
|
62
|
-
.cn("PaNode as
|
|
63
|
-
.select(["
|
|
64
|
-
.where("
|
|
65
|
-
.innerJoin("PaNode as
|
|
72
|
+
.cn("PaNode as n")
|
|
73
|
+
.select(["n2.typeName as parentTypeName", "n2.id as parentId"])
|
|
74
|
+
.where("n.id", nodeId)
|
|
75
|
+
.innerJoin("PaNode as n2", "n2.id", "n.parentId")
|
|
66
76
|
.first();
|
|
67
77
|
tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
|
|
68
78
|
if (!row)
|
|
@@ -80,18 +90,18 @@ const SiblingIdsRowAT = type({
|
|
|
80
90
|
async function getSiblingDocumentIds(siteContext, tracker, { documentId, parentNodeId, parentDocumentType, }) {
|
|
81
91
|
const { language } = documentId;
|
|
82
92
|
const { cn } = siteContext;
|
|
83
|
-
const subQuery = cn("PaNode as
|
|
84
|
-
.innerJoin("PaLNode as
|
|
85
|
-
"
|
|
86
|
-
"
|
|
93
|
+
const subQuery = cn("PaNode as n")
|
|
94
|
+
.innerJoin("PaLNode as l", {
|
|
95
|
+
"l.nodeId": "n.id",
|
|
96
|
+
"l.language": cn.raw("?", [language]),
|
|
87
97
|
})
|
|
88
98
|
.innerJoin("PaDocument as d", {
|
|
89
|
-
"d.nodeId": "
|
|
90
|
-
"d.language": "
|
|
99
|
+
"d.nodeId": "l.nodeId",
|
|
100
|
+
"d.language": "l.language",
|
|
91
101
|
})
|
|
92
|
-
.where("
|
|
93
|
-
.andWhere("
|
|
94
|
-
.andWhere("
|
|
102
|
+
.where("n.parentId", parentNodeId)
|
|
103
|
+
.andWhere("l.ready", 1)
|
|
104
|
+
.andWhere("n.publishDate", "<=", cn.fn.now());
|
|
95
105
|
const { orderBy } = applyRegularChildrenSortingOnQuery(siteContext, {
|
|
96
106
|
query: subQuery,
|
|
97
107
|
parentDocumentType,
|
|
@@ -101,9 +111,9 @@ async function getSiblingDocumentIds(siteContext, tracker, { documentId, parentN
|
|
|
101
111
|
if (!orderBy)
|
|
102
112
|
return {};
|
|
103
113
|
subQuery.select([
|
|
104
|
-
"
|
|
105
|
-
cn.raw("lag(
|
|
106
|
-
cn.raw("lead(
|
|
114
|
+
"n.id as id",
|
|
115
|
+
cn.raw("lag(n.id) over (?) as prevId", [cn.raw("order by ?", [cn.raw(orderBy)])]),
|
|
116
|
+
cn.raw("lead(n.id) over (?) as nextId", [cn.raw("order by ?", [cn.raw(orderBy)])]),
|
|
107
117
|
]);
|
|
108
118
|
const query = cn
|
|
109
119
|
.with("ordered_nodes", subQuery)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-siblings.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/get-siblings.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EACL,aAAa,GAId,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-siblings.queries.js","sourceRoot":"","sources":["../../src/rendering-payload/get-siblings.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { toTpClusterPayload } from "./cluster-payloads.js";
|
|
2
2
|
import { createDocPayloadDrop } from "./create-doc-drop.js";
|
|
3
|
-
import { makeSitePayload } from "./site-payload.js";
|
|
4
3
|
import { makeBasicTranslationsPayload } from "./translations.queries.js";
|
|
5
4
|
export function makeDetachedPublicPayload(renderingContext, options) {
|
|
6
5
|
const { siteContext } = renderingContext;
|
|
7
6
|
const language = options.language ?? siteContext.siteSchema.defaultLanguage;
|
|
8
7
|
const cluster = toTpClusterPayload(renderingContext, language, siteContext.homeRoutingCluster);
|
|
9
8
|
return {
|
|
10
|
-
site: makeSitePayload(renderingContext, language),
|
|
11
9
|
doc: {
|
|
12
10
|
kind: "detached",
|
|
13
11
|
language,
|
|
@@ -20,8 +18,10 @@ export function makeDetachedPublicPayload(renderingContext, options) {
|
|
|
20
18
|
}
|
|
21
19
|
export function makeRegularPublicPayload(renderingContext, docValues, options) {
|
|
22
20
|
return {
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
doc: createDocPayloadDrop(renderingContext, docValues, {
|
|
22
|
+
...options,
|
|
23
|
+
documentId: docValues,
|
|
24
|
+
}),
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=make-public-payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-public-payload.js","sourceRoot":"","sources":["../../src/rendering-payload/make-public-payload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"make-public-payload.js","sourceRoot":"","sources":["../../src/rendering-payload/make-public-payload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,UAAU,yBAAyB,CACvC,gBAAkC,EAClC,OAA2E;IAE3E,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;IAE5E,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAE/F,OAAO;QACL,GAAG,EAAE;YACH,IAAI,EAAE,UAAU;YAChB,QAAQ;YACR,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC9D,YAAY,EAAE,4BAA4B,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAc;SACxB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,gBAAkC,EAClC,SAAoC,EACpC,OAIC;IAED,OAAO;QACL,GAAG,EAAE,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,EAAE;YACrD,GAAG,OAAO;YACV,UAAU,EAAE,SAAS;SACtB,CAAQ;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -26,27 +26,27 @@ const LoadPartsRowAT = type({
|
|
|
26
26
|
export async function loadPartsOf(siteContext, tracker, documentId, listType) {
|
|
27
27
|
const { siteSchema, cn } = siteContext;
|
|
28
28
|
const listNames = [...getRecursiveListNames(siteSchema, listType)];
|
|
29
|
-
const rows = await cn("PaNode as
|
|
29
|
+
const rows = await cn("PaNode as n")
|
|
30
30
|
.select([
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
31
|
+
"n.id as nodeId",
|
|
32
|
+
"n.relativeId",
|
|
33
|
+
"n.publishDate",
|
|
34
|
+
"n.typeName",
|
|
35
|
+
"n.parentId",
|
|
36
36
|
"p.listName",
|
|
37
37
|
"o.orderNum",
|
|
38
|
-
"
|
|
38
|
+
"l.nodeId as tNodeId",
|
|
39
39
|
])
|
|
40
|
-
.innerJoin("PaPartNode as p", "p.nodeId", "
|
|
41
|
-
.leftJoin("PaLNode as
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
40
|
+
.innerJoin("PaPartNode as p", "p.nodeId", "n.id")
|
|
41
|
+
.leftJoin("PaLNode as l", {
|
|
42
|
+
"l.nodeId": "n.id",
|
|
43
|
+
"l.language": cn.raw("?", [documentId.language]),
|
|
44
|
+
"l.ready": cn.raw("?", [1]),
|
|
45
45
|
})
|
|
46
|
-
.leftJoin("PaOrderedNode as o", "o.nodeId", "
|
|
46
|
+
.leftJoin("PaOrderedNode as o", "o.nodeId", "n.id")
|
|
47
47
|
.where("p.documentNodeId", documentId.nodeId)
|
|
48
48
|
.whereIn("p.listName", listNames)
|
|
49
|
-
.whereRaw("
|
|
49
|
+
.whereRaw("n.publishDate <= current_timestamp");
|
|
50
50
|
tracker.trackAccess(mainDbSchemaName, "PaPartNode", "read");
|
|
51
51
|
const oneLanguageItems = rows.map((row) => {
|
|
52
52
|
const validated = LoadPartsRowAT.assert(row);
|
|
@@ -126,10 +126,10 @@ async function completeMissingTranslations(siteContext, tracker, list) {
|
|
|
126
126
|
let otherLanguageItems;
|
|
127
127
|
if (missingNodeIds.length > 0) {
|
|
128
128
|
const rows = await siteContext
|
|
129
|
-
.cn("PaLNode as
|
|
130
|
-
.select(["
|
|
131
|
-
.innerJoin("PaNode as
|
|
132
|
-
.whereIn("
|
|
129
|
+
.cn("PaLNode as l")
|
|
130
|
+
.select(["l.nodeId", "l.language", "n.typeName"])
|
|
131
|
+
.innerJoin("PaNode as n", "n.id", "l.nodeId")
|
|
132
|
+
.whereIn("l.nodeId", missingNodeIds);
|
|
133
133
|
tracker.trackAccess(mainDbSchemaName, "PaLNode", "read");
|
|
134
134
|
const formatted = rows.map((row) => MissingTranslationsRowAT.assert(row));
|
|
135
135
|
otherLanguageItems = new Map(formatted.map((item) => [encodeLNodeId(item), item]));
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { MImage } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type { PaUrlQuery } from "@paroicms/public-server-lib";
|
|
2
|
+
import type { PaUrlQuery, WithDocumentsLoadDescriptor, WithOneDocumentLoadDescriptor } from "@paroicms/public-server-lib";
|
|
3
3
|
export type TpTemplatePayload = TpDetachedPublicPayload | TpRegularPublicPayload;
|
|
4
4
|
export interface TpDetachedPublicPayload {
|
|
5
|
-
site: TpSitePayload;
|
|
6
5
|
doc: TpDetachedDocPayload;
|
|
7
6
|
}
|
|
8
7
|
export interface TpRegularPublicPayload {
|
|
9
|
-
site: TpSitePayload;
|
|
10
8
|
doc: TpDocPayload;
|
|
11
9
|
}
|
|
12
10
|
export interface TpSitePayload {
|
|
@@ -33,10 +31,10 @@ export interface TpClusterPayload {
|
|
|
33
31
|
routing: TpRoutingClusterNode;
|
|
34
32
|
parentCluster: TpClusterPayload | undefined;
|
|
35
33
|
}
|
|
36
|
-
export interface TpRoutingClusterNode {
|
|
34
|
+
export interface TpRoutingClusterNode extends WithOneDocumentLoadDescriptor {
|
|
37
35
|
id: string;
|
|
38
|
-
|
|
39
|
-
[typeName: string]: TpRoutingClusterNode |
|
|
36
|
+
children: WithDocumentsLoadDescriptor | undefined;
|
|
37
|
+
[typeName: string]: TpRoutingClusterNode | WithDocumentsLoadDescriptor | string | undefined;
|
|
40
38
|
}
|
|
41
39
|
export interface TpChildRoutingClusterNode {
|
|
42
40
|
[typeName: string]: TpRoutingClusterNode | string;
|
|
@@ -98,21 +96,19 @@ export interface TpDocPayload extends TpDocValues {
|
|
|
98
96
|
routingIds?: TpChildRoutingClusterNode;
|
|
99
97
|
cluster: TpClusterPayload;
|
|
100
98
|
}
|
|
101
|
-
export interface TpDocTranslation {
|
|
99
|
+
export interface TpDocTranslation extends WithOneDocumentLoadDescriptor {
|
|
102
100
|
language: string;
|
|
103
101
|
languageLabel: string;
|
|
104
102
|
active: boolean;
|
|
105
103
|
url: string;
|
|
106
|
-
doc?: TpDocPayload;
|
|
107
104
|
}
|
|
108
|
-
export interface TpTerm {
|
|
105
|
+
export interface TpTerm extends WithOneDocumentLoadDescriptor {
|
|
109
106
|
inRightLanguage: boolean;
|
|
110
107
|
language: string;
|
|
111
108
|
languageLabel: string;
|
|
112
109
|
nodeId: string;
|
|
113
110
|
title?: string;
|
|
114
111
|
url?: string;
|
|
115
|
-
doc: TpDocPayload;
|
|
116
112
|
}
|
|
117
113
|
export interface TpPartValues {
|
|
118
114
|
type: string;
|
|
@@ -149,14 +145,14 @@ export interface TpOgValues {
|
|
|
149
145
|
description?: string;
|
|
150
146
|
locale?: string;
|
|
151
147
|
}
|
|
152
|
-
export interface TpBreadcrumbItem {
|
|
148
|
+
export interface TpBreadcrumbItem extends WithOneDocumentLoadDescriptor {
|
|
153
149
|
id: string;
|
|
154
150
|
title?: string;
|
|
155
151
|
url?: string;
|
|
156
152
|
}
|
|
157
153
|
export interface TpSiblingDocuments {
|
|
158
|
-
previous?:
|
|
159
|
-
next?:
|
|
154
|
+
previous?: WithOneDocumentLoadDescriptor;
|
|
155
|
+
next?: WithOneDocumentLoadDescriptor;
|
|
160
156
|
}
|
|
161
157
|
export interface TpFieldValues {
|
|
162
158
|
[fieldName: string]: string | number | boolean | object | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type DropInst } from "../liquidjs-tools/liquidjs-drop.js";
|
|
2
2
|
import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
3
3
|
import type * as publicPayload from "./rendering-payload.types.js";
|
|
4
|
-
export declare function makeSitePayload(renderingContext: RenderingContext
|
|
4
|
+
export declare function makeSitePayload(renderingContext: RenderingContext): DropInst<publicPayload.TpSitePayload>;
|
|
@@ -4,9 +4,12 @@ import { createLiquidDrop } from "../liquidjs-tools/liquidjs-drop.js";
|
|
|
4
4
|
import { getHomeUrl } from "../rendered-site/page-route/make-url.js";
|
|
5
5
|
import { toTpRoutingClusterNode } from "./cluster-payloads.js";
|
|
6
6
|
import { loadPublicFieldValues } from "./field-values.js";
|
|
7
|
-
export function makeSitePayload(renderingContext
|
|
8
|
-
const
|
|
9
|
-
|
|
7
|
+
export function makeSitePayload(renderingContext) {
|
|
8
|
+
const cached = renderingContext.getValueFromCache("site");
|
|
9
|
+
if (cached.found)
|
|
10
|
+
return cached.val;
|
|
11
|
+
const { siteContext, language } = renderingContext;
|
|
12
|
+
const siteDrop = createLiquidDrop(renderingContext, {
|
|
10
13
|
renderingCacheKey: "site",
|
|
11
14
|
values: {
|
|
12
15
|
kind: "site",
|
|
@@ -50,5 +53,7 @@ export function makeSitePayload(renderingContext, language) {
|
|
|
50
53
|
},
|
|
51
54
|
},
|
|
52
55
|
});
|
|
56
|
+
renderingContext.setValueIntoCache("site", siteDrop);
|
|
57
|
+
return siteDrop;
|
|
53
58
|
}
|
|
54
59
|
//# sourceMappingURL=site-payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-payload.js","sourceRoot":"","sources":["../../src/rendering-payload/site-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oCAAoC,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,UAAU,eAAe,CAC7B,gBAAkC,
|
|
1
|
+
{"version":3,"file":"site-payload.js","sourceRoot":"","sources":["../../src/rendering-payload/site-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oCAAoC,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,UAAU,eAAe,CAC7B,gBAAkC;IAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,CAAwC,MAAM,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC;IAEpC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAA8B,gBAAgB,EAAE;QAC/E,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,GAAG,EAAE,WAAW,CAAC,OAAO;YACxB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC;YACxC,KAAK,EAAE,GAAG,EAAE,CACV,qBAAqB,CAAC,gBAAgB,EAAE;gBACtC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE;oBACP,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU;oBACjD,QAAQ;iBACT;aACF,CAAC;YACJ,MAAM,EAAE,GAAG,EAAE;gBACX,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACjF,OAAO,qBAAqB,CAAC,gBAAgB,EAAE;oBAC7C,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU;wBACjD,QAAQ;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE;gBACJ,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,EAAE,QAAQ,CAAC;gBACrF,GAAG,EAAE,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC;aACvC;YACD,QAAQ;YACR,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC9D,IAAI,YAAY;gBACd,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,uFAAuF,CACxF,CAAC;gBACF,OAAO,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,aAAa;qBACnE,sBAA4C,CAAC;YAClD,CAAC;YACD,aAAa,EAAE;gBACb,IAAI,sBAAsB;oBACxB,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,+GAA+G,CAChH,CAAC;oBACF,OAAO,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,aAAa;yBACnE,sBAAsB,CAAC;gBAC5B,CAAC;aACF;SACF;KACF,CAAC,CAAC;IAEH,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -3,5 +3,5 @@ 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 { SiteContext } from "../site-context/site-context.types.js";
|
|
5
5
|
import type { TpDocTranslation } from "./rendering-payload.types.js";
|
|
6
|
-
export declare function makeBasicTranslationsPayload(siteContext: Pick<SiteContext, "siteSchema">): TpDocTranslation[];
|
|
6
|
+
export declare function makeBasicTranslationsPayload(siteContext: Pick<SiteContext, "siteSchema" | "homeRoutingCluster">): TpDocTranslation[];
|
|
7
7
|
export declare function loadTranslationsAsDrops(renderingContext: RenderingContext, documentId: ParsedLNodeId): Promise<DropInst<TpDocTranslation>[]>;
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
import { encodeLNodeId } from "@paroicms/public-anywhere-lib";
|
|
1
|
+
import { encodeLNodeId, parseLNodeId } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import { assignLoadDescriptor } from "@paroicms/public-server-lib";
|
|
2
3
|
import { type } from "arktype";
|
|
3
4
|
import { makeCacheDependencyKey } from "../common/text-cache.js";
|
|
4
5
|
import { mainDbSchemaName } from "../connector/db-init/db-constants.js";
|
|
5
6
|
import { createLiquidDrop } from "../liquidjs-tools/liquidjs-drop.js";
|
|
6
7
|
import { getHomeUrl, getUrlOfDocument } from "../rendered-site/page-route/make-url.js";
|
|
7
|
-
import { createDocPayloadDrop } from "./create-doc-drop.js";
|
|
8
|
-
import { getDocItem } from "./doc-values.queries.js";
|
|
9
8
|
export function makeBasicTranslationsPayload(siteContext) {
|
|
10
|
-
return siteContext.siteSchema.languages.map((language) =>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
return siteContext.siteSchema.languages.map((language) => {
|
|
10
|
+
return assignLoadDescriptor({
|
|
11
|
+
language,
|
|
12
|
+
languageLabel: siteContext.siteSchema.languageLabels[language],
|
|
13
|
+
active: false,
|
|
14
|
+
url: getHomeUrl(siteContext, language),
|
|
15
|
+
}, {
|
|
16
|
+
load: "one",
|
|
17
|
+
nodeKind: "document",
|
|
18
|
+
descriptorName: "id",
|
|
19
|
+
documentId: parseLNodeId(siteContext.homeRoutingCluster.lNodeIds[language]),
|
|
20
|
+
});
|
|
21
|
+
});
|
|
16
22
|
}
|
|
17
23
|
export async function loadTranslationsAsDrops(renderingContext, documentId) {
|
|
18
24
|
const { siteContext } = renderingContext;
|
|
@@ -34,9 +40,13 @@ export async function loadTranslationsAsDrops(renderingContext, documentId) {
|
|
|
34
40
|
language,
|
|
35
41
|
})
|
|
36
42
|
: getHomeUrl(siteContext, language),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
},
|
|
44
|
+
}, {
|
|
45
|
+
loadDescriptor: {
|
|
46
|
+
load: "one",
|
|
47
|
+
nodeKind: "document",
|
|
48
|
+
descriptorName: "id",
|
|
49
|
+
documentId,
|
|
40
50
|
},
|
|
41
51
|
}));
|
|
42
52
|
if (language !== documentId.language) {
|
|
@@ -52,10 +62,10 @@ const TranslationLanguageRowAT = type({
|
|
|
52
62
|
});
|
|
53
63
|
async function getExistingLanguagesOf(siteContext, tracker, nodeId) {
|
|
54
64
|
const documents = await siteContext
|
|
55
|
-
.cn("PaLNode as
|
|
56
|
-
.select("
|
|
57
|
-
.where("
|
|
58
|
-
.where("
|
|
65
|
+
.cn("PaLNode as l")
|
|
66
|
+
.select("l.language")
|
|
67
|
+
.where("l.nodeId", nodeId)
|
|
68
|
+
.where("l.ready", 1);
|
|
59
69
|
tracker.trackAccess(mainDbSchemaName, "PaLNode", "read");
|
|
60
70
|
return new Set(documents.map((item) => TranslationLanguageRowAT.assert(item).language));
|
|
61
71
|
}
|