@paroicms/server 1.78.1 → 1.79.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.
Files changed (60) hide show
  1. package/dist/common/child-ordering-query.d.ts +2 -3
  2. package/dist/common/child-ordering-query.js +14 -18
  3. package/dist/common/child-ordering-query.js.map +1 -1
  4. package/dist/helpers/running-instance-connector.js +2 -7
  5. package/dist/helpers/running-instance-connector.js.map +1 -1
  6. package/dist/modules/core/account/account.queries.js +53 -90
  7. package/dist/modules/core/account/account.queries.js.map +1 -1
  8. package/dist/modules/core/document/load-documents.queries.js +33 -47
  9. package/dist/modules/core/document/load-documents.queries.js.map +1 -1
  10. package/dist/modules/core/document/save-documents.queries.js +78 -168
  11. package/dist/modules/core/document/save-documents.queries.js.map +1 -1
  12. package/dist/modules/core/fields/load-fields-of.queries.js +8 -10
  13. package/dist/modules/core/fields/load-fields-of.queries.js.map +1 -1
  14. package/dist/modules/core/fields/load-fields.queries.js +12 -24
  15. package/dist/modules/core/fields/load-fields.queries.js.map +1 -1
  16. package/dist/modules/core/fields/save-fields.queries.js +22 -34
  17. package/dist/modules/core/fields/save-fields.queries.js.map +1 -1
  18. package/dist/modules/core/labeling/labeling.queries.js +21 -27
  19. package/dist/modules/core/labeling/labeling.queries.js.map +1 -1
  20. package/dist/modules/core/node/node.queries.d.ts +1 -1
  21. package/dist/modules/core/node/node.queries.js +37 -66
  22. package/dist/modules/core/node/node.queries.js.map +1 -1
  23. package/dist/modules/core/node/ordered-node.queries.js +12 -24
  24. package/dist/modules/core/node/ordered-node.queries.js.map +1 -1
  25. package/dist/modules/core/nodel/nodel-wrap.resolver.js +7 -12
  26. package/dist/modules/core/nodel/nodel-wrap.resolver.js.map +1 -1
  27. package/dist/modules/core/nodel/nodel.queries.d.ts +2 -2
  28. package/dist/modules/core/nodel/nodel.queries.js +54 -66
  29. package/dist/modules/core/nodel/nodel.queries.js.map +1 -1
  30. package/dist/modules/core/part/part-node.queries.d.ts +4 -4
  31. package/dist/modules/core/part/part-node.queries.js +26 -47
  32. package/dist/modules/core/part/part-node.queries.js.map +1 -1
  33. package/dist/modules/core/part/part.queries.js +86 -105
  34. package/dist/modules/core/part/part.queries.js.map +1 -1
  35. package/dist/modules/public-api/password-reset/password-reset.service.js +19 -17
  36. package/dist/modules/public-api/password-reset/password-reset.service.js.map +1 -1
  37. package/dist/modules/public-api/search-text/search-text.queries.js +53 -31
  38. package/dist/modules/public-api/search-text/search-text.queries.js.map +1 -1
  39. package/dist/modules/public-site/feed/feed-generator.js +25 -18
  40. package/dist/modules/public-site/feed/feed-generator.js.map +1 -1
  41. package/dist/modules/public-site/public-route/make-url.js +44 -30
  42. package/dist/modules/public-site/public-route/make-url.js.map +1 -1
  43. package/dist/modules/public-site/public-route/raw-document-payload.js +50 -40
  44. package/dist/modules/public-site/public-route/raw-document-payload.js.map +1 -1
  45. package/dist/public-payload/doc-values.queries.d.ts +2 -2
  46. package/dist/public-payload/doc-values.queries.js +32 -33
  47. package/dist/public-payload/doc-values.queries.js.map +1 -1
  48. package/dist/public-payload/excerpt.queries.js +9 -8
  49. package/dist/public-payload/excerpt.queries.js.map +1 -1
  50. package/dist/public-payload/get-siblings.queries.js +38 -47
  51. package/dist/public-payload/get-siblings.queries.js.map +1 -1
  52. package/dist/public-payload/parts.queries.js +34 -38
  53. package/dist/public-payload/parts.queries.js.map +1 -1
  54. package/dist/public-payload/taxonomies.queries.js +17 -15
  55. package/dist/public-payload/taxonomies.queries.js.map +1 -1
  56. package/dist/public-payload/translations.queries.js +5 -7
  57. package/dist/public-payload/translations.queries.js.map +1 -1
  58. package/dist/site-context/site-context.types.d.ts +2 -2
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +11 -11
@@ -1,16 +1,15 @@
1
1
  import { invalidateDocumentRelationCache } from "../../../common/text-cache.js";
2
2
  import { getTypeNameOf } from "../node/node.queries.js";
3
3
  export async function setLabeling(siteContext, { labeledNodeId, taxonomyNodeId, terms, }) {
4
- const rows = await siteContext.cn
5
- .createQueryBuilder()
6
- .select("id")
7
- .from("PaNode", "l")
8
- .andWhere("l.id in (:...termIds)", { termIds: terms.map((term) => term.termNodeId) })
9
- .andWhere("l.parentId <> :taxonomyNodeId", { taxonomyNodeId })
10
- .getRawMany();
4
+ const termIds = terms.map((term) => term.termNodeId);
5
+ const rows = await siteContext
6
+ .cn("PaNode as l")
7
+ .select("l.id as id")
8
+ .whereIn("l.id", termIds)
9
+ .andWhereNot("l.parentId", taxonomyNodeId);
11
10
  if (rows.length > 0) {
12
- const termIds = rows.map((row) => row.id);
13
- throw new Error(`term(s) '${termIds.join("', '")}' should be in taxonomy '${taxonomyNodeId}'`);
11
+ const invalidTermIds = rows.map((row) => row.id);
12
+ throw new Error(`term(s) '${invalidTermIds.join("', '")}' should be in taxonomy '${taxonomyNodeId}'`);
14
13
  }
15
14
  await siteContext.cn.transaction(async (tx) => {
16
15
  await deleteOldLabelings(tx, { labeledNodeId, taxonomyNodeId });
@@ -26,28 +25,23 @@ export async function setLabeling(siteContext, { labeledNodeId, taxonomyNodeId,
26
25
  });
27
26
  }
28
27
  async function deleteOldLabelings(cn, { labeledNodeId, taxonomyNodeId }) {
29
- await cn
30
- .createQueryBuilder()
31
- .delete()
32
- .from("PaLabeling")
33
- .andWhere("labeledId = :labeledId", {
34
- labeledId: labeledNodeId,
28
+ await cn("PaLabeling")
29
+ .where("labeledId", labeledNodeId)
30
+ .whereExists(function () {
31
+ this.select(1)
32
+ .from("PaNode as t")
33
+ .whereRaw("t.id = PaLabeling.termId")
34
+ .andWhere("t.parentId", taxonomyNodeId);
35
35
  })
36
- .andWhere(`exists (
37
- select 1
38
- from PaNode t
39
- where t.id = PaLabeling.termId
40
- and t.parentId = :taxonomyNodeId)`, { taxonomyNodeId })
41
- .execute();
36
+ .delete();
42
37
  }
43
38
  async function insertNewLabelings(labeledNodeId, { terms, cn }) {
44
39
  for (const term of terms) {
45
- await cn
46
- .createQueryBuilder()
47
- .insert()
48
- .into("PaLabeling")
49
- .values({ labeledId: labeledNodeId, termId: term.termNodeId, lead: term.isLead })
50
- .execute();
40
+ await cn("PaLabeling").insert({
41
+ labeledId: labeledNodeId,
42
+ termId: term.termNodeId,
43
+ lead: term.isLead,
44
+ });
51
45
  }
52
46
  }
53
47
  //# sourceMappingURL=labeling.queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"labeling.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/labeling/labeling.queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAaxD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAwB,EACxB,EACE,aAAa,EACb,cAAc,EACd,KAAK,GAKN;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE;SAC9B,kBAAkB,EAAE;SACpB,MAAM,CAAC,IAAI,CAAC;SACZ,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;SACnB,QAAQ,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;SACpF,QAAQ,CAAC,+BAA+B,EAAE,EAAE,cAAc,EAAE,CAAC;SAC7D,UAAU,EAAO,CAAC;IACrB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,cAAc,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC5C,MAAM,kBAAkB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhE,MAAM,kBAAkB,CAAC,aAAa,EAAE;YACtC,KAAK;YACL,EAAE,EAAE,EAAE;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,+BAA+B,CAAC,WAAW,EAAE;QACjD,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,MAAM,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAA0B,EAC1B,EAAE,aAAa,EAAE,cAAc,EAAqD;IAEpF,MAAM,EAAE;SACL,kBAAkB,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,YAAY,CAAC;SAClB,QAAQ,CAAC,wBAAwB,EAAE;QAClC,SAAS,EAAE,aAAa;KACzB,CAAC;SACD,QAAQ,CACP;;;;oCAI8B,EAC9B,EAAE,cAAc,EAAE,CACnB;SACA,OAAO,EAAE,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,aAAqB,EACrB,EAAE,KAAK,EAAE,EAAE,EAAuD;IAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE;aACL,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAChF,OAAO,EAAE,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"labeling.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/labeling/labeling.queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAaxD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAwB,EACxB,EACE,aAAa,EACb,cAAc,EACd,KAAK,GAKN;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,WAAW;SAC3B,EAAE,CAAC,aAAa,CAAC;SACjB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;SACxB,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,YAAY,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,cAAc,GAAG,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC5C,MAAM,kBAAkB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhE,MAAM,kBAAkB,CAAC,aAAa,EAAE;YACtC,KAAK;YACL,EAAE,EAAE,EAAE;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,+BAA+B,CAAC,WAAW,EAAE;QACjD,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,MAAM,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAAoB,EACpB,EAAE,aAAa,EAAE,cAAc,EAAqD;IAEpF,MAAM,EAAE,CAAC,YAAY,CAAC;SACnB,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC;SACjC,WAAW,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,IAAI,CAAC,aAAa,CAAC;aACnB,QAAQ,CAAC,0BAA0B,CAAC;aACpC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5C,CAAC,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,aAAqB,EACrB,EAAE,KAAK,EAAE,EAAE,EAAiD;IAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;YAC5B,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Tracker } from "@paroicms/internal-server-lib";
1
+ import { type Tracker } from "@paroicms/internal-server-lib";
2
2
  import type { ScDocumentType } from "@paroicms/public-anywhere-lib";
3
3
  import type { SiteContext } from "../../../site-context/site-context.types.js";
4
4
  import type { LabelingSeed } from "../labeling/labeling.queries.js";
@@ -1,17 +1,17 @@
1
1
  import { dateValOrUndef, listVal, nbVal, strVal } from "@paroi/data-formatters-lib";
2
2
  import { mainDbSchemaName } from "@paroicms/connector";
3
3
  import { getNodeTypeByName } from "@paroicms/internal-anywhere-lib";
4
+ import { sqliteDateTime } from "@paroicms/internal-server-lib";
4
5
  import { ApiError } from "../../../common/api-error-handler.js";
5
6
  import { formatLabelingObjectType, toNodeObjectType } from "../../../common/data-format.js";
6
7
  import { depKeysOfNodeRelationCache, invalidateMultipleDocumentsInCache, invalidateNodeInCache, makeCacheDependencyKey, makeDependencyKeysForDocuments, } from "../../../common/text-cache.js";
7
8
  import { getDocumentNodeIdOfPart } from "../part/part.queries.js";
8
9
  export async function getTypeNameOf(siteContext, nodeId) {
9
- const row = await siteContext.cn
10
- .createQueryBuilder()
11
- .select("l.typeName", "typeName")
12
- .from("PaNode", "l")
13
- .andWhere("l.id = :nodeId", { nodeId })
14
- .getRawOne();
10
+ const row = await siteContext
11
+ .cn("PaNode as l")
12
+ .select("l.typeName")
13
+ .where("l.id", nodeId)
14
+ .first();
15
15
  if (!row)
16
16
  throw new ApiError(`cannot find node '${nodeId}'`, { status: 404 });
17
17
  return strVal(row.typeName);
@@ -24,48 +24,33 @@ export async function getDocumentSchemaOf(siteContext, nodeId) {
24
24
  return nodeType;
25
25
  }
26
26
  export async function findOneNode({ cn }, id) {
27
- const node = await cn
28
- .createQueryBuilder()
29
- .select("l.id", "id")
30
- .addSelect("l.parentId", "parentId")
31
- .addSelect("l.typeName", "typeName")
32
- .addSelect("l.relativeId", "relativeId")
33
- .addSelect("l.publishDate", "publishDate")
34
- .from("PaNode", "l")
35
- .where("l.id = :id", { id })
36
- .getRawOne();
27
+ const node = await cn("PaNode as l")
28
+ .select("l.id", "l.parentId", "l.typeName", "l.relativeId", "l.publishDate")
29
+ .where("l.id", id)
30
+ .first();
37
31
  if (!node)
38
32
  throw new ApiError(`can't find node ${id}`, { status: 404 });
39
33
  return toNodeObjectType(node);
40
34
  }
41
35
  export async function readTranslationsOf({ cn }, nodeId) {
42
- const rows = await cn
43
- .createQueryBuilder()
44
- .addSelect("s.language", "language")
45
- .from("PaNodel", "s")
46
- .where("s.nodeId = :nodeId", { nodeId })
47
- .getRawMany();
36
+ const rows = await cn("PaNodel as s").select("s.language").where("s.nodeId", nodeId);
48
37
  return rows.map((row) => strVal(row.language));
49
38
  }
50
39
  export async function setNodePublishDate(siteContext, { nodeId, publishDate }) {
51
- const row = await siteContext.cn
52
- .createQueryBuilder()
53
- .addSelect("l.typeName", "typeName")
54
- .addSelect("l.publishDate", "publishDate")
55
- .from("PaNode", "l")
56
- .andWhere("l.id = :nodeId", { nodeId })
57
- .getRawOne();
40
+ const { cn, siteSchema } = siteContext;
41
+ const row = await siteContext
42
+ .cn("PaNode as l")
43
+ .select("l.typeName", "l.publishDate")
44
+ .where("l.id", nodeId)
45
+ .first();
58
46
  if (!row)
59
47
  throw new ApiError(`cannot find node '${nodeId}'`, { status: 404 });
60
48
  const typeName = strVal(row.typeName);
61
49
  const prevPublishDate = dateValOrUndef(row.publishDate);
62
- const nodeType = getNodeTypeByName(siteContext.siteSchema, typeName);
63
- await siteContext.cn
64
- .createQueryBuilder()
65
- .update("PaNode")
66
- .set({ publishDate })
67
- .where("id = :nodeId", { nodeId })
68
- .execute();
50
+ const nodeType = getNodeTypeByName(siteSchema, typeName);
51
+ await cn("PaNode")
52
+ .where("id", nodeId)
53
+ .update({ publishDate: sqliteDateTime(publishDate) });
69
54
  if (nodeType.kind === "document") {
70
55
  await invalidateOrScheduleDocument(siteContext, { nodeId, publishDate, prevPublishDate });
71
56
  }
@@ -117,47 +102,33 @@ async function invalidateOrSchedulePart(siteContext, options) {
117
102
  }
118
103
  }
119
104
  export async function loadLabelingTermsOf({ cn }, labeledId) {
120
- const rows = await cn
121
- .createQueryBuilder()
122
- .select("f.lead", "lead")
123
- .addSelect("f.termId", "termId")
124
- .addSelect("l2.typeName", "parentTypeName")
125
- .from("PaLabeling", "f")
126
- .innerJoin("PaNode", "l1", "l1.id = f.termId")
127
- .innerJoin("PaNode", "l2", "l2.id = l1.parentId")
128
- .andWhere("f.labeledId = :labeledId", { labeledId })
129
- .getRawMany();
105
+ const rows = await cn("PaLabeling as f")
106
+ .select("f.lead", "f.termId", "l2.typeName as parentTypeName")
107
+ .innerJoin("PaNode as l1", "l1.id", "f.termId")
108
+ .innerJoin("PaNode as l2", "l2.id", "l1.parentId")
109
+ .where("f.labeledId", labeledId);
130
110
  return listVal(rows, formatLabelingObjectType);
131
111
  }
132
112
  export async function getNodeDepth(siteContext, tracker, nodeId) {
133
- const row = await siteContext.cn
134
- .createQueryBuilder()
135
- .select("l.depth", "depth")
136
- .from("PaNode", "l")
137
- .andWhere("l.id = :nodeId", { nodeId })
138
- .getRawOne();
113
+ const row = await siteContext.cn("PaNode as l").select("l.depth").where("l.id", nodeId).first();
139
114
  tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
140
115
  if (!row)
141
116
  throw new ApiError(`cannot find node '${nodeId}'`, { status: 404 });
142
117
  return nbVal(row.depth);
143
118
  }
144
119
  export async function countNodeChildrenOf(siteContext, parendId) {
145
- const row = await siteContext.cn
146
- .createQueryBuilder()
147
- .select("count(1)", "cnt")
148
- .from("PaNode", "l")
149
- .andWhere("l.parentId = :parendId", { parendId })
150
- .getRawOne();
151
- return nbVal(row?.cnt);
120
+ const result = await siteContext
121
+ .cn("PaNode as l")
122
+ .count("* as cnt")
123
+ .where("l.parentId", parendId)
124
+ .first();
125
+ return nbVal(result?.cnt);
152
126
  }
153
127
  export async function getScheduledNodes(siteContext) {
154
- const rows = await siteContext.cn
155
- .createQueryBuilder()
156
- .select("l.id", "id")
157
- .addSelect("l.publishDate", "publishDate")
158
- .from("PaNode", "l")
159
- .andWhere("l.publishDate > current_timestamp")
160
- .getRawMany();
128
+ const rows = await siteContext
129
+ .cn("PaNode as l")
130
+ .select("l.id", "l.publishDate")
131
+ .whereRaw("l.publishDate > current_timestamp");
161
132
  return rows.map((row) => ({
162
133
  nodeId: strVal(row.id),
163
134
  publishDate: strVal(row.publishDate),
@@ -1 +1 @@
1
- {"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/node/node.queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/node/node.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAgB,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAUlE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAoC,EACpC,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,WAAW;SAC1B,EAAE,CAAC,aAAa,CAAC;SACjB,MAAM,CAAC,YAAY,CAAC;SACpB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmD,EACnD,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,GAAG,CAAC,CAAC;IACzF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,EAAE,EAAe,EAAE,EAAU;IAC/D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,CAAC;SAC3E,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;SACjB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAExE,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAE,EAAE,EAAe,EAAE,MAAc;IAC1E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,EAAE,MAAM,EAAE,WAAW,EAAyC;IAE9D,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,WAAW;SAC1B,EAAE,CAAC,aAAa,CAAC;SACjB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;SACrC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAGzD,MAAM,EAAE,CAAC,QAAQ,CAAC;SACf,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;SACnB,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAGxD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,4BAA4B,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,MAAM,wBAAwB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,WAAwB,EACxB,OAAsE;IAEtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,YAAY,GAAG,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC;IAEvF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC;QAEjC,IAAI,YAAY,EAAE,CAAC;YAEjB,MAAM,qBAAqB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YAEN,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE;gBAClE,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;YACH,MAAM,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,WAAW,CAAC,SAAS,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;SAAM,CAAC;QAEN,IAAI,YAAY,EAAE,CAAC;YAEjB,MAAM,kCAAkC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE;YAClE,cAAc,EAAE,MAAM;YACtB,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,WAAwB,EACxB,OAAsE;IAEtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACzF,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxC,MAAM,kCAAkC,CAAC,WAAW,EAAE;YACpD,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,8BAA8B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAE,EAAE,EAAe,EACnB,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC;SACrC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,+BAA+B,CAAC;SAC7D,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC;SAC9C,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC;SACjD,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAEnC,OAAO,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAoC,EACpC,OAAgB,EAChB,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAEhG,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAoC,EACpC,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,WAAW;SAC7B,EAAE,CAAC,aAAa,CAAC;SACjB,KAAK,CAAC,UAAU,CAAC;SACjB,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;SAC7B,KAAK,EAAE,CAAC;IAEX,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAoC;IAEpC,MAAM,IAAI,GAAG,MAAM,WAAW;SAC3B,EAAE,CAAC,aAAa,CAAC;SACjB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;SAC/B,QAAQ,CAAC,mCAAmC,CAAC,CAAC;IAEjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;KACrC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -2,20 +2,16 @@ import { nbVal, strVal } from "@paroi/data-formatters-lib";
2
2
  import { invalidateMultipleDocumentsInCache } from "../../../common/text-cache.js";
3
3
  export async function reorderNodes(siteContext, { nodeIds, parentNodeId, listName, }) {
4
4
  const { cn } = siteContext;
5
- const query = cn
6
- .createQueryBuilder()
7
- .select("l.id", "nodeId")
8
- .addSelect("o.orderNum", "orderNum")
9
- .from("PaNode", "l")
10
- .innerJoin("PaOrderedNode", "o", "l.id = o.nodeId")
11
- .andWhere("l.parentId = :parentNodeId", { parentNodeId })
5
+ let query = cn("PaNode as l")
6
+ .select(["l.id as nodeId", "o.orderNum as orderNum"])
7
+ .innerJoin("PaOrderedNode as o", "l.id", "o.nodeId")
8
+ .where("l.parentId", parentNodeId)
12
9
  .orderBy("o.orderNum", "ASC")
13
- .addOrderBy("l.id", "ASC");
10
+ .orderBy("l.id", "ASC");
14
11
  if (listName) {
15
- query.innerJoin("PaPartNode", "p", "p.nodeId = l.id");
16
- query.andWhere("p.listName = :listName", { listName });
12
+ query = query.innerJoin("PaPartNode as p", "p.nodeId", "l.id").where("p.listName", listName);
17
13
  }
18
- const rows = await query.getRawMany();
14
+ const rows = await query;
19
15
  const oldItems = rows.map((row) => ({
20
16
  nodeId: strVal(row.nodeId),
21
17
  orderNum: nbVal(row.orderNum),
@@ -35,23 +31,15 @@ export async function reorderNodes(siteContext, { nodeIds, parentNodeId, listNam
35
31
  await cn.transaction(async (tx) => {
36
32
  for (const newItem of newItems) {
37
33
  if (oldItems.find((old) => old.nodeId === newItem.nodeId)) {
38
- await tx
39
- .createQueryBuilder()
40
- .update("PaOrderedNode")
41
- .set({ orderNum: newItem.orderNum })
42
- .where("nodeId = :nodeId", { nodeId: newItem.nodeId })
43
- .execute();
34
+ await tx("PaOrderedNode")
35
+ .update({ orderNum: newItem.orderNum })
36
+ .where("nodeId", newItem.nodeId);
44
37
  }
45
38
  else {
46
- await tx
47
- .createQueryBuilder()
48
- .insert()
49
- .into("PaOrderedNode")
50
- .values({
39
+ await tx("PaOrderedNode").insert({
51
40
  nodeId: newItem.nodeId,
52
41
  orderNum: newItem.orderNum,
53
- })
54
- .execute();
42
+ });
55
43
  }
56
44
  }
57
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ordered-node.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/node/ordered-node.queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ordered-node.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/node/ordered-node.queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AAGnF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAwB,EACxB,EACE,OAAO,EACP,YAAY,EACZ,QAAQ,GACuD;IAEjE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;IAE3B,IAAI,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;SACpD,SAAS,CAAC,oBAAoB,EAAE,MAAM,EAAE,UAAU,CAAC;SACnD,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC;SACjC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,IAAI,GAAU,MAAM,KAAK,CAAC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC,CAAC;IAEJ,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,QAAQ,GAA2C,EAAE,CAAC;IAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,EAAE,QAAQ,CAAC;IACb,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,EAAE,QAAQ,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,EAAE,CAAC,eAAe,CAAC;qBACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;qBACtC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;oBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kCAAkC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -62,22 +62,17 @@ export const nodelWrapResolvers = {
62
62
  },
63
63
  NodelWrap: {
64
64
  translatedInto: async ({ nodeId }, _args, { req, siteContext }) => {
65
- const nodels = await siteContext.cn
66
- .createQueryBuilder()
67
- .select("s.language", "language")
68
- .from("PaNodel", "s")
69
- .andWhere("s.nodeId = :nodeId", { nodeId })
70
- .getRawMany();
65
+ const nodels = await siteContext
66
+ .cn("PaNodel as s")
67
+ .select("s.language as language")
68
+ .where("s.nodeId", nodeId);
71
69
  return nodels.map((item) => strVal(item.language));
72
70
  },
73
71
  translations: async ({ nodeId }, _args, { req, siteContext }) => {
74
72
  const { cn } = siteContext;
75
- const rows = await cn
76
- .createQueryBuilder()
77
- .select("nodel.language", "language")
78
- .from("PaNodel", "nodel")
79
- .andWhere("nodel.nodeId = :nodeId", { nodeId })
80
- .getRawMany();
73
+ const rows = await cn("PaNodel as nodel")
74
+ .select("nodel.language as language")
75
+ .where("nodel.nodeId", nodeId);
81
76
  const translations = rows.map((row) => {
82
77
  const language = strVal(row.language);
83
78
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"nodel-wrap.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/nodel/nodel-wrap.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodel-wrap.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/nodel/nodel-wrap.resolver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type NodelRow } from "@paroicms/connector";
2
2
  import type { Tracker } from "@paroicms/internal-server-lib";
3
3
  import { type ParsedNodelId } from "@paroicms/public-anywhere-lib";
4
- import type { DataSource, EntityManager } from "typeorm";
4
+ import type { Knex } from "knex";
5
5
  import type { SiteContext } from "../../../site-context/site-context.types.js";
6
6
  export interface NodelWrapSeed {
7
7
  nodelId: string;
@@ -48,7 +48,7 @@ export declare function getBreadcrumb(siteContext: Pick<SiteContext, "cn" | "sit
48
48
  ensurePublished?: boolean;
49
49
  skipHome?: boolean;
50
50
  }): Promise<BreadcrumbItem[]>;
51
- export declare function isOrphanNode(cn: EntityManager | DataSource, nodeId: string): Promise<boolean>;
51
+ export declare function isOrphanNode(cn: Knex, nodeId: string): Promise<boolean>;
52
52
  export declare function searchDocuments(siteContext: SiteContext, options: {
53
53
  language: string;
54
54
  queryString: string;
@@ -10,14 +10,9 @@ import { getParentNodelIdOf } from "../document/load-documents.queries.js";
10
10
  import { getNodeDepth, getTypeNameOf } from "../node/node.queries.js";
11
11
  import { getDocumentNodeIdOfPart } from "../part/part.queries.js";
12
12
  export async function nodeNodels({ cn }, nodeId) {
13
- const nodels = await cn
14
- .createQueryBuilder()
15
- .addSelect("s.language", "language")
16
- .addSelect("s.nodeId", "nodeId")
17
- .addSelect("s.ready", "ready")
18
- .from("PaNodel", "s")
19
- .where("s.nodeId = :nodeId", { nodeId })
20
- .getRawMany();
13
+ const nodels = await cn("PaNodel as s")
14
+ .select(["s.language as language", "s.nodeId as nodeId", "s.ready as ready"])
15
+ .where("s.nodeId", nodeId);
21
16
  return nodels.map((nodel) => {
22
17
  return {
23
18
  nodeId,
@@ -27,15 +22,11 @@ export async function nodeNodels({ cn }, nodeId) {
27
22
  });
28
23
  }
29
24
  export async function findOneNodel({ cn }, nodelId) {
30
- const found = await cn
31
- .createQueryBuilder()
32
- .addSelect("s.language", "language")
33
- .addSelect("s.nodeId", "nodeId")
34
- .addSelect("s.ready", "ready")
35
- .from("PaNodel", "s")
36
- .where("s.nodeId = :nodeId", { nodeId: nodelId.nodeId })
37
- .andWhere("s.language = :language", { language: nodelId.language })
38
- .getRawOne();
25
+ const found = await cn("PaNodel as s")
26
+ .select(["s.language as language", "s.nodeId as nodeId", "s.ready as ready"])
27
+ .where("s.nodeId", nodelId.nodeId)
28
+ .andWhere("s.language", nodelId.language)
29
+ .first();
39
30
  if (!found) {
40
31
  throw new ApiError(`can't find nodel ${nodelId.language}:${nodelId.nodeId}`, {
41
32
  status: 404,
@@ -102,10 +93,7 @@ async function getChildNodelsForAllLanguages(siteContext, options) {
102
93
  const query = createBaseChildNodelsForAllLanguagesQueryBuilder(siteContext, {
103
94
  parentNodeId: options.parentNodeId,
104
95
  typeNames: parentDocumentType.regularChildren ?? [],
105
- })
106
- .select("s.nodeId", "nodeId")
107
- .addSelect("s.language", "language")
108
- .addSelect("s.ready", "ready");
96
+ }).select(["s.nodeId as nodeId", "s.language as language", "s.ready as ready"]);
109
97
  applyRegularChildrenSortingOnQuery(siteContext, {
110
98
  query,
111
99
  parentDocumentType,
@@ -115,16 +103,25 @@ async function getChildNodelsForAllLanguages(siteContext, options) {
115
103
  if (options.pagination) {
116
104
  query.limit(options.pagination.limit).offset(options.pagination.start);
117
105
  }
118
- const rows = await query.getRawMany();
106
+ const rows = await query;
119
107
  const formattedRows = rows.map((row) => ({
120
108
  nodeId: strVal(row.nodeId),
121
109
  language: strVal(row.language),
122
110
  ready: boolVal(row.ready),
123
111
  }));
124
112
  if (options.pagination) {
125
- const total = rows.length < options.pagination.limit
126
- ? options.pagination.start + rows.length
127
- : await query.getCount();
113
+ let total;
114
+ if (rows.length < options.pagination.limit) {
115
+ total = options.pagination.start + rows.length;
116
+ }
117
+ else {
118
+ const countQuery = createBaseChildNodelsForAllLanguagesQueryBuilder(siteContext, {
119
+ parentNodeId: options.parentNodeId,
120
+ typeNames: parentDocumentType.regularChildren ?? [],
121
+ });
122
+ const countResult = await countQuery.count("* as total").first();
123
+ total = nbVal(countResult?.total);
124
+ }
128
125
  return {
129
126
  list: formattedRows,
130
127
  total,
@@ -133,14 +130,11 @@ async function getChildNodelsForAllLanguages(siteContext, options) {
133
130
  return formattedRows;
134
131
  }
135
132
  function createBaseChildNodelsForAllLanguagesQueryBuilder(siteContext, { parentNodeId, typeNames, }) {
136
- return siteContext.cn
137
- .createQueryBuilder()
138
- .from("PaNodel", "s")
139
- .innerJoin("PaNode", "l", "l.id = s.nodeId")
140
- .andWhere("l.parentId = :parentId", {
141
- parentId: parentNodeId,
142
- })
143
- .andWhere("l.typeName in (:...typeNames)", { typeNames });
133
+ return siteContext
134
+ .cn("PaNodel as s")
135
+ .innerJoin("PaNode as l", "l.id", "s.nodeId")
136
+ .where("l.parentId", parentNodeId)
137
+ .whereIn("l.typeName", typeNames);
144
138
  }
145
139
  export async function setNodelReady(siteContext, { nodelId, ready }) {
146
140
  const typeName = await getTypeNameOf(siteContext, nodelId.nodeId);
@@ -148,15 +142,10 @@ export async function setNodelReady(siteContext, { nodelId, ready }) {
148
142
  if (nodeType.kind !== "document" && nodeType.kind !== "part") {
149
143
  throw new Error(`invalid nodel type '${typeName}'`);
150
144
  }
151
- await siteContext.cn
152
- .createQueryBuilder()
153
- .update("PaNodel")
154
- .set({ ready })
155
- .where("nodeId = :nodeId and language = :language", {
145
+ await siteContext.cn("PaNodel").update({ ready }).where({
156
146
  nodeId: nodelId.nodeId,
157
147
  language: nodelId.language,
158
- })
159
- .execute();
148
+ });
160
149
  if (nodeType.kind === "document") {
161
150
  const parentId = await getParentNodelIdOf(siteContext, nodelId);
162
151
  if (ready) {
@@ -184,32 +173,35 @@ export async function setNodelReady(siteContext, { nodelId, ready }) {
184
173
  }
185
174
  }
186
175
  export async function getBreadcrumb(siteContext, tracker, documentId, options = {}) {
176
+ const { cn } = siteContext;
187
177
  const depth = await getNodeDepth(siteContext, tracker, documentId.nodeId);
188
178
  if (depth === 0)
189
179
  return [];
190
180
  const language = documentId.language;
191
- const query = siteContext.cn
192
- .createQueryBuilder()
193
- .from("PaNode", `l${depth}`)
194
- .andWhere(`l${depth}.id = :nodeId`, { nodeId: documentId.nodeId });
195
- if (options.ensurePublished)
196
- queryEnsurePublished(query, depth, language);
181
+ const selectColumns = [];
197
182
  const minDepth = options.skipHome ? 1 : 0;
183
+ for (let cur = minDepth; cur < depth; ++cur) {
184
+ selectColumns.push(`l${cur}.id as nodeId${cur}`);
185
+ selectColumns.push(`l${cur}.typeName as typeName${cur}`);
186
+ selectColumns.push(`d${cur}.title as title${cur}`);
187
+ }
188
+ const query = cn(`PaNode as l${depth}`)
189
+ .select(selectColumns)
190
+ .where(`l${depth}.id`, documentId.nodeId);
191
+ if (options.ensurePublished)
192
+ queryEnsurePublished(cn, query, depth, language);
198
193
  let prev = depth;
199
194
  for (let cur = depth - 1; cur >= minDepth; --cur) {
200
- query
201
- .addSelect(`l${cur}.id`, `nodeId${cur}`)
202
- .addSelect(`l${cur}.typeName`, `typeName${cur}`)
203
- .addSelect(`d${cur}.title`, `title${cur}`)
204
- .innerJoin("PaNode", `l${cur}`, `l${cur}.id = l${prev}.parentId`)
205
- .leftJoin("PaDocument", `d${cur}`, `d${cur}.nodeId = l${cur}.id and d${cur}.language = :language`, {
206
- language,
195
+ query.innerJoin(`PaNode as l${cur}`, `l${cur}.id`, `l${prev}.parentId`);
196
+ query.leftJoin(`PaDocument as d${cur}`, {
197
+ [`d${cur}.nodeId`]: `l${cur}.id`,
198
+ [`d${cur}.language`]: cn.raw("?", [language]),
207
199
  });
208
200
  if (options.ensurePublished)
209
- queryEnsurePublished(query, cur, language);
201
+ queryEnsurePublished(cn, query, cur, language);
210
202
  prev = cur;
211
203
  }
212
- const row = await query.getRawOne();
204
+ const row = await query.first();
213
205
  tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
214
206
  if (!row)
215
207
  throw new Error(`cannot get breadcrumb of '${documentId.language}:${documentId.nodeId}'`);
@@ -231,21 +223,17 @@ export async function getBreadcrumb(siteContext, tracker, documentId, options =
231
223
  }
232
224
  return result;
233
225
  }
234
- function queryEnsurePublished(query, d, language) {
226
+ function queryEnsurePublished(cn, query, d, language) {
235
227
  query
236
- .innerJoin("PaNodel", `s${d}`, `s${d}.nodeId = l${d}.id and s${d}.language = :language`, {
237
- language,
228
+ .innerJoin(`PaNodel as s${d}`, {
229
+ [`s${d}.nodeId`]: `l${d}.id`,
230
+ [`s${d}.language`]: cn.raw("?", [language]),
238
231
  })
239
- .andWhere(`s${d}.ready = 1`)
240
- .andWhere(`l${d}.publishDate <= current_timestamp`);
232
+ .where(`s${d}.ready`, 1)
233
+ .whereRaw(`l${d}.publishDate <= current_timestamp`);
241
234
  }
242
235
  export async function isOrphanNode(cn, nodeId) {
243
- const row = await cn
244
- .createQueryBuilder()
245
- .select("count(s.nodeId)", "cnt")
246
- .from("PaNodel", "s")
247
- .where("s.nodeId = :nodeId", { nodeId })
248
- .getRawOne();
236
+ const row = await cn("PaNodel as s").count("s.nodeId as cnt").where("s.nodeId", nodeId).first();
249
237
  return nbVal(row?.cnt) === 0;
250
238
  }
251
239
  export async function searchDocuments(siteContext, options) {