@paroicms/server 1.104.5 → 1.105.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 (123) hide show
  1. package/dist/admin-backend/document/load-documents.queries.js +19 -19
  2. package/dist/admin-backend/document/save-documents.queries.js +11 -11
  3. package/dist/admin-backend/fields/load-fields-of.queries.js +6 -6
  4. package/dist/admin-backend/lnode/lnode-wrap.formatters.d.ts +3 -3
  5. package/dist/admin-backend/lnode/lnode-wrap.formatters.js.map +1 -1
  6. package/dist/admin-backend/lnode/lnode-wrap.resolver.js +11 -13
  7. package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
  8. package/dist/admin-backend/lnode/lnode.queries.d.ts +8 -11
  9. package/dist/admin-backend/lnode/lnode.queries.js +34 -25
  10. package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
  11. package/dist/admin-backend/node/node.queries.js +14 -14
  12. package/dist/admin-backend/node/ordered-node.queries.js +6 -6
  13. package/dist/admin-backend/part/part-node.queries.js +9 -9
  14. package/dist/admin-backend/part/part.queries.js +34 -34
  15. package/dist/common/child-ordering-query.d.ts +2 -2
  16. package/dist/common/child-ordering-query.js +19 -18
  17. package/dist/common/child-ordering-query.js.map +1 -1
  18. package/dist/connector/plugin-loader/init-plugins.js +5 -2
  19. package/dist/connector/plugin-loader/init-plugins.js.map +1 -1
  20. package/dist/connector/plugin-loader/plugin-loader.js +2 -1
  21. package/dist/connector/plugin-loader/plugin-loader.js.map +1 -1
  22. package/dist/connector/plugin-loader/plugin-types.d.ts +10 -11
  23. package/dist/connector/site-schema/site-schema-factory.js +1 -2
  24. package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
  25. package/dist/helpers/utils-helper.d.ts +0 -1
  26. package/dist/helpers/utils-helper.js +0 -4
  27. package/dist/helpers/utils-helper.js.map +1 -1
  28. package/dist/liquidjs-tools/liquidjs-drop.d.ts +4 -0
  29. package/dist/liquidjs-tools/liquidjs-drop.js +4 -1
  30. package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
  31. package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js +11 -2
  32. package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js.map +1 -1
  33. package/dist/liquidjs-tools/render-clone/forloop-drop.js.map +1 -1
  34. package/dist/liquidjs-tools/render-clone/render.d.ts +7 -3
  35. package/dist/liquidjs-tools/render-clone/render.js +82 -12
  36. package/dist/liquidjs-tools/render-clone/render.js.map +1 -1
  37. package/dist/plugin-services/make-backend-plugin-service.js +41 -5
  38. package/dist/plugin-services/make-backend-plugin-service.js.map +1 -1
  39. package/dist/rendered-site/feed/feed-generator.js +14 -14
  40. package/dist/rendered-site/helpers/liquid-function-call-args.d.ts +17 -0
  41. package/dist/rendered-site/helpers/liquid-function-call-args.js +88 -0
  42. package/dist/rendered-site/helpers/liquid-function-call-args.js.map +1 -0
  43. package/dist/rendered-site/helpers/liquid-tag-helpers.d.ts +4 -6
  44. package/dist/rendered-site/helpers/liquid-tag-helpers.js +24 -27
  45. package/dist/rendered-site/helpers/liquid-tag-helpers.js.map +1 -1
  46. package/dist/rendered-site/helpers/out-liquid-tag.d.ts +11 -0
  47. package/dist/rendered-site/helpers/out-liquid-tag.js +51 -0
  48. package/dist/rendered-site/helpers/out-liquid-tag.js.map +1 -0
  49. package/dist/rendered-site/helpers/set-liquid-tag.d.ts +14 -0
  50. package/dist/rendered-site/helpers/set-liquid-tag.js +62 -0
  51. package/dist/rendered-site/helpers/set-liquid-tag.js.map +1 -0
  52. package/dist/rendered-site/liquidjs-filters/info-filter.js +35 -20
  53. package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
  54. package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js +4 -2
  55. package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js.map +1 -1
  56. package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js +40 -28
  57. package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js.map +1 -1
  58. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.d.ts +11 -5
  59. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js +44 -27
  60. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js.map +1 -1
  61. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.d.ts +0 -4
  62. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js +4 -3
  63. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js.map +1 -1
  64. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.d.ts +2 -0
  65. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js +68 -0
  66. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js.map +1 -0
  67. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.d.ts +2 -0
  68. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js +98 -0
  69. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js.map +1 -0
  70. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.d.ts +2 -0
  71. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js +89 -0
  72. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js.map +1 -0
  73. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.d.ts +2 -0
  74. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js +111 -0
  75. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js.map +1 -0
  76. package/dist/rendered-site/page-route/raw-document-payload.js +25 -25
  77. package/dist/rendering-payload/breadcrumb.queries.js +8 -2
  78. package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
  79. package/dist/rendering-payload/cluster-payloads.js +16 -8
  80. package/dist/rendering-payload/cluster-payloads.js.map +1 -1
  81. package/dist/rendering-payload/create-doc-drop.d.ts +3 -1
  82. package/dist/rendering-payload/create-doc-drop.js +16 -4
  83. package/dist/rendering-payload/create-doc-drop.js.map +1 -1
  84. package/dist/rendering-payload/doc-list.queries.d.ts +16 -0
  85. package/dist/rendering-payload/doc-list.queries.js +155 -0
  86. package/dist/rendering-payload/doc-list.queries.js.map +1 -0
  87. package/dist/rendering-payload/doc-values.queries.d.ts +1 -28
  88. package/dist/rendering-payload/doc-values.queries.js +8 -102
  89. package/dist/rendering-payload/doc-values.queries.js.map +1 -1
  90. package/dist/rendering-payload/field-values.js +7 -3
  91. package/dist/rendering-payload/field-values.js.map +1 -1
  92. package/dist/rendering-payload/get-siblings.queries.js +34 -24
  93. package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
  94. package/dist/rendering-payload/make-public-payload.js +4 -4
  95. package/dist/rendering-payload/make-public-payload.js.map +1 -1
  96. package/dist/rendering-payload/parts.queries.js +18 -18
  97. package/dist/rendering-payload/rendering-payload.types.d.ts +9 -13
  98. package/dist/rendering-payload/site-payload.d.ts +1 -1
  99. package/dist/rendering-payload/site-payload.js +8 -3
  100. package/dist/rendering-payload/site-payload.js.map +1 -1
  101. package/dist/rendering-payload/translations.queries.d.ts +1 -1
  102. package/dist/rendering-payload/translations.queries.js +26 -16
  103. package/dist/rendering-payload/translations.queries.js.map +1 -1
  104. package/dist/site-context/core-plugin/create-core-plugin.js +2 -1
  105. package/dist/site-context/core-plugin/create-core-plugin.js.map +1 -1
  106. package/dist/site-context/liquid-init.d.ts +6 -1
  107. package/dist/site-context/liquid-init.js +18 -0
  108. package/dist/site-context/liquid-init.js.map +1 -1
  109. package/dist/site-context/load-site-context.js +14 -15
  110. package/dist/site-context/load-site-context.js.map +1 -1
  111. package/dist/site-context/site-context.types.d.ts +4 -0
  112. package/dist/tsconfig.tsbuildinfo +1 -1
  113. package/package.json +12 -12
  114. package/schema.graphql +6 -6
  115. package/dist/connector/site-schema/site-schema-public-helpers.d.ts +0 -3
  116. package/dist/connector/site-schema/site-schema-public-helpers.js +0 -15
  117. package/dist/connector/site-schema/site-schema-public-helpers.js.map +0 -1
  118. package/dist/public-api/public-api-rendering.d.ts +0 -15
  119. package/dist/public-api/public-api-rendering.js +0 -114
  120. package/dist/public-api/public-api-rendering.js.map +0 -1
  121. package/dist/public-api/search-text/search-text.queries.d.ts +0 -15
  122. package/dist/public-api/search-text/search-text.queries.js +0 -85
  123. package/dist/public-api/search-text/search-text.queries.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/server",
3
- "version": "1.104.5",
3
+ "version": "1.105.1",
4
4
  "description": "The ParoiCMS server",
5
5
  "keywords": [
6
6
  "cms",
@@ -38,16 +38,16 @@
38
38
  "dependencies": {
39
39
  "@apollo/server": "~4.12.2",
40
40
  "@as-integrations/express5": "~1.1.0",
41
- "@paroicms/admin-ui": "1.81.3",
42
- "@paroicms/internal-anywhere-lib": "1.34.1",
43
- "@paroicms/internal-server-lib": "1.20.4",
44
- "@paroicms/playground_demo1": "0.61.2",
45
- "@paroicms/public-anywhere-lib": "0.35.1",
46
- "@paroicms/public-server-lib": "0.45.2",
47
- "@paroicms/script-lib": "0.2.2",
48
- "@paroicms/server-database-media-storage": "1.22.5",
49
- "@paroicms/server-image-cache-engine": "1.27.5",
50
- "@paroicms/server-text-cache-system": "1.19.5",
41
+ "@paroicms/admin-ui": "1.82.0",
42
+ "@paroicms/internal-anywhere-lib": "1.35.0",
43
+ "@paroicms/internal-server-lib": "1.21.0",
44
+ "@paroicms/playground_demo1": "0.62.0",
45
+ "@paroicms/public-anywhere-lib": "0.36.0",
46
+ "@paroicms/public-server-lib": "0.46.0",
47
+ "@paroicms/script-lib": "0.3.0",
48
+ "@paroicms/server-database-media-storage": "1.23.0",
49
+ "@paroicms/server-image-cache-engine": "1.28.0",
50
+ "@paroicms/server-text-cache-system": "1.20.0",
51
51
  "archiver": "~7.0.1",
52
52
  "arktype": "~2.1.20",
53
53
  "bcrypt": "~6.0.0",
@@ -90,7 +90,7 @@
90
90
  "pino-pretty": "~13.0.0",
91
91
  "rimraf": "~6.0.1",
92
92
  "source-map-support": "~0.5.21",
93
- "typescript": "~5.8.3",
93
+ "typescript": "~5.9.2",
94
94
  "vitest": "~3.2.3"
95
95
  },
96
96
  "peerDependencies": {
package/schema.graphql CHANGED
@@ -14,9 +14,9 @@ type Query {
14
14
  searchDocuments(
15
15
  language: String!
16
16
  limit: Int!
17
- orderBy: [OrderByItem!]
17
+ sorting: [SortRule!]
18
18
  queryString: String!
19
- start: Int!
19
+ offset: Int!
20
20
  ): PagedLNodeWraps!
21
21
 
22
22
  # Parts
@@ -26,9 +26,9 @@ type Query {
26
26
  # Nodes
27
27
  pagedLNodeWraps(
28
28
  limit: Int!
29
- orderBy: [OrderByItem!]
29
+ sorting: [SortRule!]
30
30
  parentLNodeId: ID!
31
- start: Int!
31
+ offset: Int!
32
32
  ): PagedLNodeWraps!
33
33
  lNodeWrap(lNodeId: ID!): LNodeWrap!
34
34
  lNodeWraps(parentLNodeId: ID!): [LNodeWrap!]!
@@ -168,7 +168,7 @@ type ImageVariant {
168
168
 
169
169
  type PagedLNodeWraps {
170
170
  items: [LNodeWrap!]!
171
- start: Int!
171
+ offset: Int!
172
172
  total: Int!
173
173
  }
174
174
 
@@ -377,7 +377,7 @@ input CreateNodeWithDocumentValues {
377
377
  typeName: String!
378
378
  }
379
379
 
380
- input OrderByItem {
380
+ input SortRule {
381
381
  direction: String!
382
382
  fieldName: String!
383
383
  }
@@ -1,3 +0,0 @@
1
- import type { ScSorting } from "@paroicms/public-anywhere-lib";
2
- import type { JtSorting } from "@paroicms/public-server-lib";
3
- export declare function parseSorting(val: JtSorting): ScSorting;
@@ -1,15 +0,0 @@
1
- export function parseSorting(val) {
2
- if (val === "manual")
3
- return "manual";
4
- const regularChildrenSorting = [];
5
- const arr = typeof val === "string" ? val.split(/\s*,\s*/) : val;
6
- for (const item of arr) {
7
- const [fieldName, direction] = item.split(/\s+/);
8
- if ((direction !== "asc" && direction !== "desc") || !/^[a-zA-Z]+$/.test(fieldName)) {
9
- throw new Error(`invalid child ordering '${item}'`);
10
- }
11
- regularChildrenSorting.push([fieldName, direction]);
12
- }
13
- return regularChildrenSorting;
14
- }
15
- //# sourceMappingURL=site-schema-public-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"site-schema-public-helpers.js","sourceRoot":"","sources":["../../../src/connector/site-schema/site-schema-public-helpers.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,GAAc;IACzC,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAEtC,MAAM,sBAAsB,GAA+B,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,sBAAsB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { ParsedLNodeId } from "@paroicms/public-anywhere-lib";
2
- import type { LabeledBy, PaHttpContext, PartialsParamsInput } from "@paroicms/public-server-lib";
3
- import type { RenderingContext } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
4
- export declare function renderChildPartials(renderingContext: RenderingContext, httpContext: PaHttpContext, options: {
5
- params: PartialsParamsInput;
6
- parentDocumentId: ParsedLNodeId;
7
- labeledBy?: LabeledBy;
8
- }): Promise<void>;
9
- export declare function renderSearchPartials(renderingContext: RenderingContext, httpContext: PaHttpContext, options: {
10
- language: string;
11
- words: string[];
12
- limit: number;
13
- start: number;
14
- templateName: string;
15
- }): Promise<void>;
@@ -1,114 +0,0 @@
1
- import { type } from "arktype";
2
- import { serveTextFromCacheOr } from "../common/serve-text-or.js";
3
- import { makeCacheDependencyKey } from "../common/text-cache.js";
4
- import { trackerReportToMessage } from "../common/tracker-report.js";
5
- import { loadRoutingClusterFromNode } from "../connector/db-init/load-routing-cluster.queries.js";
6
- import { renderLiquidTemplate } from "../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
7
- import { toTpClusterPayload } from "../rendering-payload/cluster-payloads.js";
8
- import { createDocPayloadDrop } from "../rendering-payload/create-doc-drop.js";
9
- import { getListOfDocValues } from "../rendering-payload/doc-values.queries.js";
10
- import { makeSitePayload } from "../rendering-payload/site-payload.js";
11
- import { searchText } from "./search-text/search-text.queries.js";
12
- const NumberAT = type("number");
13
- export async function renderChildPartials(renderingContext, httpContext, options) {
14
- const { params, parentDocumentId, labeledBy } = options;
15
- const { siteContext, tracker, cacheKey } = renderingContext;
16
- const serveOr = serveTextFromCacheOr(siteContext, httpContext, tracker, {
17
- cacheKey,
18
- contentType: "text/plain; charset=utf-8",
19
- });
20
- if (!(await serveOr.serveFromCache())) {
21
- renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentDocumentId, relation: "children" }));
22
- const { html, dependencyKeys } = await renderChildDocuments(renderingContext, {
23
- parentId: parentDocumentId,
24
- limit: params.limit,
25
- offset: params.offset,
26
- templateName: params.templateName,
27
- labeledBy,
28
- });
29
- await serveOr.putInCacheAndServe(html, dependencyKeys);
30
- }
31
- siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${httpContext.req.relativeUrl}`));
32
- }
33
- export async function renderSearchPartials(renderingContext, httpContext, options) {
34
- const { language, words, limit, start, templateName } = options;
35
- const { siteContext, tracker, cacheKey } = renderingContext;
36
- const serveOr = serveTextFromCacheOr(siteContext, httpContext, tracker, {
37
- cacheKey,
38
- contentType: "application/json",
39
- });
40
- if (!(await serveOr.serveFromCache())) {
41
- renderingContext.addDependencyKey(makeCacheDependencyKey({ global: "all" }));
42
- const { result, dependencyKeys } = await searchAndRender(renderingContext, {
43
- language,
44
- words,
45
- limit: NumberAT.assert(limit),
46
- start: NumberAT.assert(start),
47
- templateName,
48
- });
49
- const content = JSON.stringify(result);
50
- await serveOr.putInCacheAndServe(content, dependencyKeys);
51
- await renderingContext.close();
52
- }
53
- siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${httpContext.req.relativeUrl}`));
54
- }
55
- async function renderChildDocuments(renderingContext, options) {
56
- const { parentId: parentDocumentId, templateName } = options;
57
- const docs = await getListOfDocValues(renderingContext, {
58
- ...options,
59
- documentKind: "regular",
60
- });
61
- const result = [];
62
- for (const row of docs) {
63
- const cluster = await getClusterForDocument(renderingContext, row, parentDocumentId.language);
64
- const payload = {
65
- site: makeSitePayload(renderingContext, parentDocumentId.language),
66
- cluster,
67
- doc: createDocPayloadDrop(renderingContext, row),
68
- };
69
- const html = await renderLiquidTemplate(renderingContext, {
70
- payload,
71
- templateNames: [`partials/${templateName}.public.liquid`],
72
- });
73
- result.push(html);
74
- }
75
- return {
76
- html: result.join(""),
77
- dependencyKeys: renderingContext.getDependencyKeys(),
78
- };
79
- }
80
- async function searchAndRender(renderingContext, options) {
81
- const { siteContext } = renderingContext;
82
- const { language, templateName } = options;
83
- const { rows, total } = await searchText(siteContext, { ...options, onlyPublished: true });
84
- const htmlList = [];
85
- for (const row of rows) {
86
- const cluster = await getClusterForDocument(renderingContext, row, language);
87
- const payload = {
88
- site: makeSitePayload(renderingContext, language),
89
- cluster,
90
- doc: createDocPayloadDrop(renderingContext, row),
91
- };
92
- const tName = templateName.endsWith(".public") ? templateName : `${templateName}.public`;
93
- const html = await renderLiquidTemplate(renderingContext, {
94
- payload,
95
- templateNames: [`partials/${tName}.liquid`],
96
- });
97
- htmlList.push(html);
98
- }
99
- return {
100
- result: {
101
- html: htmlList.join(""),
102
- total,
103
- },
104
- dependencyKeys: renderingContext.getDependencyKeys(),
105
- };
106
- }
107
- async function getClusterForDocument(renderingContext, document, language) {
108
- const cluster = await loadRoutingClusterFromNode(renderingContext.siteContext, {
109
- nodeId: document.nodeId,
110
- typeName: document.type,
111
- });
112
- return toTpClusterPayload(renderingContext, language, cluster);
113
- }
114
- //# sourceMappingURL=public-api-rendering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public-api-rendering.js","sourceRoot":"","sources":["../../src/public-api/public-api-rendering.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { OrderByItem } from "../../admin-backend/lnode/lnode.queries.js";
2
- import type { TpDocValues } from "../../rendering-payload/rendering-payload.types.js";
3
- import type { SiteContext } from "../../site-context/site-context.types.js";
4
- export interface SearchTextOptions {
5
- language: string;
6
- words: string[];
7
- limit: number;
8
- start: number;
9
- onlyPublished?: boolean;
10
- orderBy?: OrderByItem[];
11
- }
12
- export declare function searchText(siteContext: SiteContext, options: SearchTextOptions): Promise<{
13
- rows: TpDocValues[];
14
- total: number;
15
- }>;
@@ -1,85 +0,0 @@
1
- import { type } from "arktype";
2
- import { dbAnyLanguage } from "../../context.js";
3
- import { formatDocValues, querySelectDocValues, } from "../../rendering-payload/doc-values.queries.js";
4
- const SearchTextCountAT = type({
5
- cnt: "number",
6
- "+": "reject",
7
- });
8
- export async function searchText(siteContext, options) {
9
- const { words, language, start, limit, onlyPublished, orderBy = [{ fieldName: "publishDate", direction: "desc" }], } = options;
10
- const query = createBaseSearchTextQueryBuilder(siteContext, { language, words, onlyPublished })
11
- .distinct()
12
- .limit(limit)
13
- .offset(start);
14
- querySelectDocValues(query);
15
- if (orderBy && orderBy.length > 0) {
16
- for (const i of orderBy) {
17
- if (i.fieldName === "title") {
18
- query.orderBy("d.title", i.direction);
19
- }
20
- else if (i.fieldName === "publishDate") {
21
- query.orderBy("l.publishDate", i.direction);
22
- }
23
- }
24
- }
25
- const rows = await query;
26
- let total;
27
- if (rows.length < limit) {
28
- total = start + rows.length;
29
- }
30
- else {
31
- const countQuery = createBaseSearchTextQueryBuilder(siteContext, {
32
- language,
33
- words,
34
- onlyPublished,
35
- }).countDistinct("l.id as cnt");
36
- const countResult = await countQuery.first();
37
- total = countResult ? SearchTextCountAT.assert(countResult).cnt : 0;
38
- }
39
- return {
40
- rows: rows.map((row) => formatDocValues(row, { language })),
41
- total,
42
- };
43
- }
44
- function createBaseSearchTextQueryBuilder(siteContext, { language, words, onlyPublished, }) {
45
- const { cn } = siteContext;
46
- const query = cn("PaDocument as d")
47
- .innerJoin("PaLNode as s", {
48
- "s.nodeId": "d.nodeId",
49
- "s.language": "d.language",
50
- })
51
- .innerJoin("PaNode as l", "s.nodeId", "l.id")
52
- .leftJoin("PaFieldVarchar as fv", function () {
53
- this.on("fv.nodeId", "=", "s.nodeId").andOn(function () {
54
- this.on("fv.language", "=", "s.language").orOn("fv.language", "=", cn.raw("?", [dbAnyLanguage]));
55
- });
56
- })
57
- .leftJoin("PaFieldText as ft", function () {
58
- this.on("ft.nodeId", "=", "d.nodeId").andOn(function () {
59
- this.on("ft.language", "=", "d.language").orOn("ft.language", "=", cn.raw("?", [dbAnyLanguage]));
60
- });
61
- })
62
- .where("s.language", language);
63
- if (onlyPublished) {
64
- query.where("s.ready", 1).whereRaw("l.publishDate <= current_timestamp");
65
- }
66
- for (let index = 0; index < words.length; index++) {
67
- const wordPattern = `%${words[index]}%`;
68
- query.andWhere(function () {
69
- this.where("d.title", "like", wordPattern)
70
- .orWhere("ft.val", "like", wordPattern)
71
- .orWhere("fv.val", "like", wordPattern)
72
- .orWhereRaw(`exists (
73
- select 1
74
- from PaNode l2
75
- inner join PaPartNode p2 on p2.nodeId = l2.id
76
- inner join PaLNode s2 on s2.nodeId = l2.id and s2.language = ?
77
- left join PaFieldVarchar fv2 on fv2.nodeId = s2.nodeId and (fv2.language = s2.language or fv2.language = ?)
78
- left join PaFieldText ft2 on ft2.nodeId = s2.nodeId and (ft2.language = s2.language or ft2.language = ?)
79
- where p2.documentNodeId = l.id ${onlyPublished ? "and s2.ready = 1 and l2.publishDate <= current_timestamp" : ""} and (fv2.val like ? or ft2.val like ?)
80
- )`, [language, dbAnyLanguage, dbAnyLanguage, wordPattern, wordPattern]);
81
- });
82
- }
83
- return query;
84
- }
85
- //# sourceMappingURL=search-text.queries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-text.queries.js","sourceRoot":"","sources":["../../../src/public-api/search-text/search-text.queries.ts"],"names":[],"mappings":"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"}