@paroicms/server 1.102.3 → 1.104.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 (355) hide show
  1. package/README.md +1 -16
  2. package/ddl/main.ddl.sql +91 -0
  3. package/dist/admin-backend/account/account.queries.d.ts +3 -3
  4. package/dist/admin-backend/account/account.queries.js.map +1 -1
  5. package/dist/admin-backend/account/account.resolver.d.ts +1 -1
  6. package/dist/admin-backend/account/account.resolver.js +9 -0
  7. package/dist/admin-backend/account/account.resolver.js.map +1 -1
  8. package/dist/admin-backend/auth/auth.service.d.ts +12 -3
  9. package/dist/admin-backend/auth/auth.service.js +7 -7
  10. package/dist/admin-backend/auth/auth.service.js.map +1 -1
  11. package/dist/admin-backend/backup/backup.controller.js +2 -1
  12. package/dist/admin-backend/backup/backup.controller.js.map +1 -1
  13. package/dist/admin-backend/backup/backup.resolver.d.ts +1 -1
  14. package/dist/admin-backend/backup/backup.resolver.js +2 -0
  15. package/dist/admin-backend/backup/backup.resolver.js.map +1 -1
  16. package/dist/admin-backend/backup/hardened-backup.service.js +2 -1
  17. package/dist/admin-backend/backup/hardened-backup.service.js.map +1 -1
  18. package/dist/admin-backend/document/document.resolver.d.ts +1 -1
  19. package/dist/admin-backend/document/document.resolver.extend.d.ts +1 -1
  20. package/dist/admin-backend/document/document.resolver.extend.js +2 -0
  21. package/dist/admin-backend/document/document.resolver.extend.js.map +1 -1
  22. package/dist/admin-backend/document/document.resolver.js +12 -2
  23. package/dist/admin-backend/document/document.resolver.js.map +1 -1
  24. package/dist/admin-backend/document/load-documents.queries.d.ts +1 -1
  25. package/dist/admin-backend/document/load-documents.queries.js.map +1 -1
  26. package/dist/admin-backend/document/save-documents.queries.js +55 -12
  27. package/dist/admin-backend/document/save-documents.queries.js.map +1 -1
  28. package/dist/admin-backend/fields/fields.resolver.d.ts +1 -1
  29. package/dist/admin-backend/fields/fields.resolver.js +10 -2
  30. package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
  31. package/dist/admin-backend/fields/load-fields.queries.d.ts +2 -2
  32. package/dist/admin-backend/fields/load-fields.queries.js +1 -1
  33. package/dist/admin-backend/fields/load-fields.queries.js.map +1 -1
  34. package/dist/admin-backend/lnode/lnode-wrap.resolver.d.ts +1 -1
  35. package/dist/admin-backend/lnode/lnode-wrap.resolver.js +14 -1
  36. package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
  37. package/dist/admin-backend/lnode/lnode.queries.d.ts +2 -0
  38. package/dist/admin-backend/lnode/lnode.queries.js +27 -54
  39. package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
  40. package/dist/admin-backend/login/login.controller.d.ts +2 -2
  41. package/dist/admin-backend/login/login.controller.js +17 -5
  42. package/dist/admin-backend/login/login.controller.js.map +1 -1
  43. package/dist/admin-backend/media/media-upload.controller.js +3 -9
  44. package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
  45. package/dist/admin-backend/media/media.resolver.d.ts +1 -1
  46. package/dist/admin-backend/media/media.resolver.extend.d.ts +1 -1
  47. package/dist/admin-backend/media/media.resolver.extend.js +2 -0
  48. package/dist/admin-backend/media/media.resolver.extend.js.map +1 -1
  49. package/dist/admin-backend/media/media.resolver.js +11 -0
  50. package/dist/admin-backend/media/media.resolver.js.map +1 -1
  51. package/dist/admin-backend/migration/migration.resolver.d.ts +3 -0
  52. package/dist/admin-backend/migration/migration.resolver.js +38 -0
  53. package/dist/admin-backend/migration/migration.resolver.js.map +1 -0
  54. package/dist/admin-backend/node/node-cte.queries.d.ts +25 -0
  55. package/dist/admin-backend/node/node-cte.queries.js +116 -0
  56. package/dist/admin-backend/node/node-cte.queries.js.map +1 -0
  57. package/dist/admin-backend/node/node.queries.d.ts +1 -3
  58. package/dist/admin-backend/node/node.queries.js +5 -19
  59. package/dist/admin-backend/node/node.queries.js.map +1 -1
  60. package/dist/admin-backend/node/node.resolver.d.ts +1 -1
  61. package/dist/admin-backend/node/node.resolver.extend.d.ts +1 -1
  62. package/dist/admin-backend/node/node.resolver.extend.js +2 -0
  63. package/dist/admin-backend/node/node.resolver.extend.js.map +1 -1
  64. package/dist/admin-backend/node/node.resolver.js +7 -2
  65. package/dist/admin-backend/node/node.resolver.js.map +1 -1
  66. package/dist/admin-backend/part/part.queries.js +1 -1
  67. package/dist/admin-backend/part/part.queries.js.map +1 -1
  68. package/dist/admin-backend/part/part.resolver.d.ts +1 -1
  69. package/dist/admin-backend/part/part.resolver.extend.d.ts +1 -1
  70. package/dist/admin-backend/part/part.resolver.extend.js +3 -0
  71. package/dist/admin-backend/part/part.resolver.extend.js.map +1 -1
  72. package/dist/admin-backend/part/part.resolver.js +7 -0
  73. package/dist/admin-backend/part/part.resolver.js.map +1 -1
  74. package/dist/admin-backend/routing-cluster/cluster-management.d.ts +8 -0
  75. package/dist/admin-backend/routing-cluster/cluster-management.js +217 -0
  76. package/dist/admin-backend/routing-cluster/cluster-management.js.map +1 -0
  77. package/dist/admin-backend/routing-cluster/cluster-validation.d.ts +7 -0
  78. package/dist/admin-backend/routing-cluster/cluster-validation.js +48 -0
  79. package/dist/admin-backend/routing-cluster/cluster-validation.js.map +1 -0
  80. package/dist/admin-backend/routing-cluster/routing-cluster.queries.d.ts +3 -0
  81. package/dist/admin-backend/routing-cluster/routing-cluster.queries.js +34 -0
  82. package/dist/admin-backend/routing-cluster/routing-cluster.queries.js.map +1 -0
  83. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.d.ts +3 -0
  84. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +72 -0
  85. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -0
  86. package/dist/admin-backend/site-constants/site-constants.resolver.d.ts +1 -1
  87. package/dist/admin-backend/site-constants/site-constants.resolver.js +6 -5
  88. package/dist/admin-backend/site-constants/site-constants.resolver.js.map +1 -1
  89. package/dist/admin-backend/unprotected/unprotected.resolver.js +14 -3
  90. package/dist/admin-backend/unprotected/unprotected.resolver.js.map +1 -1
  91. package/dist/common/data-format.d.ts +1 -1
  92. package/dist/common/data-format.js.map +1 -1
  93. package/dist/common/media-handles.helpers.d.ts +3 -3
  94. package/dist/common/media-handles.helpers.js +3 -3
  95. package/dist/common/media-handles.helpers.js.map +1 -1
  96. package/dist/common/medias/media-lib.js +1 -1
  97. package/dist/common/medias/media-lib.js.map +1 -1
  98. package/dist/connector/app-conf/app-conf-formatter.d.ts +3 -0
  99. package/dist/connector/app-conf/app-conf-formatter.js +144 -0
  100. package/dist/connector/app-conf/app-conf-formatter.js.map +1 -0
  101. package/dist/connector/app-conf/app-conf-reader.d.ts +3 -0
  102. package/dist/connector/app-conf/app-conf-reader.js +11 -0
  103. package/dist/connector/app-conf/app-conf-reader.js.map +1 -0
  104. package/dist/connector/app-conf/app-conf.types.d.ts +45 -0
  105. package/dist/connector/app-conf/app-conf.types.js +2 -0
  106. package/dist/connector/app-conf/app-conf.types.js.map +1 -0
  107. package/dist/connector/db-init/db-constants.d.ts +2 -0
  108. package/dist/connector/db-init/db-constants.js +3 -0
  109. package/dist/connector/db-init/db-constants.js.map +1 -0
  110. package/dist/connector/db-init/db-init.d.ts +10 -0
  111. package/dist/connector/db-init/db-init.js +42 -0
  112. package/dist/connector/db-init/db-init.js.map +1 -0
  113. package/dist/connector/db-init/ddl-migration.d.ts +6 -0
  114. package/dist/connector/db-init/ddl-migration.js +190 -0
  115. package/dist/connector/db-init/ddl-migration.js.map +1 -0
  116. package/dist/connector/db-init/init-node-queries.d.ts +11 -0
  117. package/dist/connector/db-init/init-node-queries.js +103 -0
  118. package/dist/connector/db-init/init-node-queries.js.map +1 -0
  119. package/dist/connector/db-init/load-routing-cluster.queries.d.ts +36 -0
  120. package/dist/connector/db-init/load-routing-cluster.queries.js +265 -0
  121. package/dist/connector/db-init/load-routing-cluster.queries.js.map +1 -0
  122. package/dist/connector/db-init/populate-routing-documents.d.ts +9 -0
  123. package/dist/connector/db-init/populate-routing-documents.js +66 -0
  124. package/dist/connector/db-init/populate-routing-documents.js.map +1 -0
  125. package/dist/connector/media-storage.d.ts +4 -0
  126. package/dist/connector/media-storage.js +14 -0
  127. package/dist/connector/media-storage.js.map +1 -0
  128. package/dist/connector/plugin-loader/init-plugins.d.ts +8 -0
  129. package/dist/connector/plugin-loader/init-plugins.js +98 -0
  130. package/dist/connector/plugin-loader/init-plugins.js.map +1 -0
  131. package/dist/connector/plugin-loader/plugin-loader.d.ts +8 -0
  132. package/dist/connector/plugin-loader/plugin-loader.js +76 -0
  133. package/dist/connector/plugin-loader/plugin-loader.js.map +1 -0
  134. package/dist/connector/plugin-loader/plugin-public-helpers.d.ts +2 -0
  135. package/dist/connector/plugin-loader/plugin-public-helpers.js +4 -0
  136. package/dist/connector/plugin-loader/plugin-public-helpers.js.map +1 -0
  137. package/dist/connector/plugin-loader/plugin-types.d.ts +53 -0
  138. package/dist/connector/plugin-loader/plugin-types.js +2 -0
  139. package/dist/connector/plugin-loader/plugin-types.js.map +1 -0
  140. package/dist/connector/public-site-context-types.d.ts +16 -0
  141. package/dist/connector/public-site-context-types.js +2 -0
  142. package/dist/connector/public-site-context-types.js.map +1 -0
  143. package/dist/connector/row-types.d.ts +58 -0
  144. package/dist/connector/row-types.js +2 -0
  145. package/dist/connector/row-types.js.map +1 -0
  146. package/dist/connector/single-site-builder/default-config.d.ts +3 -0
  147. package/dist/connector/single-site-builder/default-config.js +24 -0
  148. package/dist/connector/single-site-builder/default-config.js.map +1 -0
  149. package/dist/connector/single-site-builder/default-readme.d.ts +1 -0
  150. package/dist/connector/single-site-builder/default-readme.js +4 -0
  151. package/dist/connector/single-site-builder/default-readme.js.map +1 -0
  152. package/dist/connector/single-site-builder/site-builder.d.ts +27 -0
  153. package/dist/connector/single-site-builder/site-builder.js +91 -0
  154. package/dist/connector/single-site-builder/site-builder.js.map +1 -0
  155. package/dist/connector/site-backup/archiver.helper.d.ts +12 -0
  156. package/dist/connector/site-backup/archiver.helper.js +36 -0
  157. package/dist/connector/site-backup/archiver.helper.js.map +1 -0
  158. package/dist/connector/site-backup/backup-tasks.d.ts +14 -0
  159. package/dist/connector/site-backup/backup-tasks.js +42 -0
  160. package/dist/connector/site-backup/backup-tasks.js.map +1 -0
  161. package/dist/connector/site-backup/backup.d.ts +12 -0
  162. package/dist/connector/site-backup/backup.helper.d.ts +3 -0
  163. package/dist/connector/site-backup/backup.helper.js +8 -0
  164. package/dist/connector/site-backup/backup.helper.js.map +1 -0
  165. package/dist/connector/site-backup/backup.js +34 -0
  166. package/dist/connector/site-backup/backup.js.map +1 -0
  167. package/dist/connector/site-conf/site-conf.d.ts +8 -0
  168. package/dist/connector/site-conf/site-conf.js +117 -0
  169. package/dist/connector/site-conf/site-conf.js.map +1 -0
  170. package/dist/connector/site-conf/site-place-types.d.ts +5 -0
  171. package/dist/connector/site-conf/site-place-types.js +2 -0
  172. package/dist/connector/site-conf/site-place-types.js.map +1 -0
  173. package/dist/connector/site-schema/common-schema-reader.d.ts +2 -0
  174. package/dist/connector/site-schema/common-schema-reader.js +56 -0
  175. package/dist/connector/site-schema/common-schema-reader.js.map +1 -0
  176. package/dist/connector/site-schema/common-schema-types.d.ts +13 -0
  177. package/dist/connector/site-schema/common-schema-types.js +2 -0
  178. package/dist/connector/site-schema/common-schema-types.js.map +1 -0
  179. package/dist/connector/site-schema/default-media-policy.d.ts +3 -0
  180. package/dist/connector/site-schema/default-media-policy.js +21 -0
  181. package/dist/connector/site-schema/default-media-policy.js.map +1 -0
  182. package/dist/connector/site-schema/read-locales.d.ts +23 -0
  183. package/dist/connector/site-schema/read-locales.js +214 -0
  184. package/dist/connector/site-schema/read-locales.js.map +1 -0
  185. package/dist/connector/site-schema/schema-lib.d.ts +29 -0
  186. package/dist/connector/site-schema/schema-lib.js +62 -0
  187. package/dist/connector/site-schema/schema-lib.js.map +1 -0
  188. package/dist/connector/site-schema/site-configuration.d.ts +4 -0
  189. package/dist/connector/site-schema/site-configuration.js +2 -0
  190. package/dist/connector/site-schema/site-configuration.js.map +1 -0
  191. package/dist/connector/site-schema/site-schema-factory.d.ts +21 -0
  192. package/dist/connector/site-schema/site-schema-factory.js +601 -0
  193. package/dist/connector/site-schema/site-schema-factory.js.map +1 -0
  194. package/dist/connector/site-schema/site-schema-helpers.d.ts +3 -0
  195. package/dist/connector/site-schema/site-schema-helpers.js +7 -0
  196. package/dist/connector/site-schema/site-schema-helpers.js.map +1 -0
  197. package/dist/connector/site-schema/site-schema-lib-reader.d.ts +8 -0
  198. package/dist/connector/site-schema/site-schema-lib-reader.js +42 -0
  199. package/dist/connector/site-schema/site-schema-lib-reader.js.map +1 -0
  200. package/dist/connector/site-schema/site-schema-public-helpers.d.ts +3 -0
  201. package/dist/connector/site-schema/site-schema-public-helpers.js +15 -0
  202. package/dist/connector/site-schema/site-schema-public-helpers.js.map +1 -0
  203. package/dist/connector/theme-conf/theme-conf-reader.d.ts +4 -0
  204. package/dist/connector/theme-conf/theme-conf-reader.js +31 -0
  205. package/dist/connector/theme-conf/theme-conf-reader.js.map +1 -0
  206. package/dist/context.d.ts +3 -3
  207. package/dist/context.js +3 -3
  208. package/dist/context.js.map +1 -1
  209. package/dist/express/http-helpers.d.ts +3 -3
  210. package/dist/express/http-redirection-url.d.ts +1 -1
  211. package/dist/express/local-testing-route.js +5 -1
  212. package/dist/express/local-testing-route.js.map +1 -1
  213. package/dist/express/route-handler-wrapper.d.ts +9 -1
  214. package/dist/express/route-handler-wrapper.js +25 -2
  215. package/dist/express/route-handler-wrapper.js.map +1 -1
  216. package/dist/express/site-middleware.js +3 -6
  217. package/dist/express/site-middleware.js.map +1 -1
  218. package/dist/express/static-files.req-handler.d.ts +2 -2
  219. package/dist/express/static-files.req-handler.js +3 -3
  220. package/dist/express/static-files.req-handler.js.map +1 -1
  221. package/dist/graphql/apollo-server-init.js +4 -0
  222. package/dist/graphql/apollo-server-init.js.map +1 -1
  223. package/dist/graphql/graphql.types.d.ts +7 -2
  224. package/dist/graphql/graphql.types.js +6 -1
  225. package/dist/graphql/graphql.types.js.map +1 -1
  226. package/dist/helpers/special-account.helpers.d.ts +1 -1
  227. package/dist/helpers/special-account.helpers.js.map +1 -1
  228. package/dist/index.d.ts +1 -1
  229. package/dist/index.js +2 -1
  230. package/dist/index.js.map +1 -1
  231. package/dist/liquidjs-tools/liquidjs-drop.d.ts +5 -5
  232. package/dist/liquidjs-tools/liquidjs-drop.js +16 -4
  233. package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
  234. package/dist/liquidjs-tools/liquidjs-utils.d.ts +0 -2
  235. package/dist/liquidjs-tools/liquidjs-utils.js +0 -7
  236. package/dist/liquidjs-tools/liquidjs-utils.js.map +1 -1
  237. package/dist/maintenance/maintenance-task.js +4 -2
  238. package/dist/maintenance/maintenance-task.js.map +1 -1
  239. package/dist/plugin-services/make-backend-plugin-service.d.ts +1 -1
  240. package/dist/plugin-services/make-backend-plugin-service.js +3 -3
  241. package/dist/plugin-services/make-backend-plugin-service.js.map +1 -1
  242. package/dist/public-api/password-reset/password-reset.service.js.map +1 -1
  243. package/dist/public-api/public-api-rendering.js +13 -0
  244. package/dist/public-api/public-api-rendering.js.map +1 -1
  245. package/dist/rendered-site/feed/feed-generator.js +1 -1
  246. package/dist/rendered-site/feed/feed-generator.js.map +1 -1
  247. package/dist/rendered-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
  248. package/dist/rendered-site/liquidjs-filters/head-tags-filter.js +7 -3
  249. package/dist/rendered-site/liquidjs-filters/head-tags-filter.js.map +1 -1
  250. package/dist/rendered-site/liquidjs-filters/info-filter.js +4 -2
  251. package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
  252. package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +2 -1
  253. package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js.map +1 -1
  254. package/dist/rendered-site/liquidjs-filters/open-graph-filter.d.ts +1 -1
  255. package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js +1 -1
  256. package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -1
  257. package/dist/rendered-site/liquidjs-tags/get-docs-tag.js +1 -1
  258. package/dist/rendered-site/liquidjs-tags/get-docs-tag.js.map +1 -1
  259. package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js +1 -1
  260. package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -1
  261. package/dist/rendered-site/page-route/make-url.d.ts +5 -2
  262. package/dist/rendered-site/page-route/make-url.js +48 -112
  263. package/dist/rendered-site/page-route/make-url.js.map +1 -1
  264. package/dist/rendered-site/page-route/page-route-parser.d.ts +10 -5
  265. package/dist/rendered-site/page-route/page-route-parser.js +288 -75
  266. package/dist/rendered-site/page-route/page-route-parser.js.map +1 -1
  267. package/dist/rendered-site/page-route/raw-document-payload.js +16 -25
  268. package/dist/rendered-site/page-route/raw-document-payload.js.map +1 -1
  269. package/dist/rendered-site/serve-document/serve-document.js.map +1 -1
  270. package/dist/rendering-payload/breadcrumb.queries.js +6 -2
  271. package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
  272. package/dist/rendering-payload/cluster-payloads.d.ts +7 -0
  273. package/dist/rendering-payload/cluster-payloads.js +50 -0
  274. package/dist/rendering-payload/cluster-payloads.js.map +1 -0
  275. package/dist/rendering-payload/create-doc-drop.d.ts +1 -1
  276. package/dist/rendering-payload/create-doc-drop.js +127 -120
  277. package/dist/rendering-payload/create-doc-drop.js.map +1 -1
  278. package/dist/rendering-payload/create-part-drop.js +1 -2
  279. package/dist/rendering-payload/create-part-drop.js.map +1 -1
  280. package/dist/rendering-payload/doc-values.queries.js +1 -1
  281. package/dist/rendering-payload/doc-values.queries.js.map +1 -1
  282. package/dist/rendering-payload/excerpt.queries.js +1 -1
  283. package/dist/rendering-payload/excerpt.queries.js.map +1 -1
  284. package/dist/rendering-payload/field-values.d.ts +1 -6
  285. package/dist/rendering-payload/field-values.js +2 -58
  286. package/dist/rendering-payload/field-values.js.map +1 -1
  287. package/dist/rendering-payload/get-siblings.queries.d.ts +3 -2
  288. package/dist/rendering-payload/get-siblings.queries.js +42 -27
  289. package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
  290. package/dist/rendering-payload/make-public-payload.d.ts +1 -4
  291. package/dist/rendering-payload/make-public-payload.js +3 -0
  292. package/dist/rendering-payload/make-public-payload.js.map +1 -1
  293. package/dist/rendering-payload/parts.queries.js +1 -1
  294. package/dist/rendering-payload/parts.queries.js.map +1 -1
  295. package/dist/rendering-payload/rendering-payload.types.d.ts +21 -15
  296. package/dist/rendering-payload/site-payload.d.ts +2 -3
  297. package/dist/rendering-payload/site-payload.js +43 -37
  298. package/dist/rendering-payload/site-payload.js.map +1 -1
  299. package/dist/rendering-payload/translations.queries.js +2 -3
  300. package/dist/rendering-payload/translations.queries.js.map +1 -1
  301. package/dist/running-server/running-server-connector.d.ts +2 -0
  302. package/dist/{helpers/running-instance-connector.js → running-server/running-server-connector.js} +20 -8
  303. package/dist/running-server/running-server-connector.js.map +1 -0
  304. package/dist/running-server/single-site-generator.d.ts +2 -0
  305. package/dist/running-server/single-site-generator.js +23 -0
  306. package/dist/running-server/single-site-generator.js.map +1 -0
  307. package/dist/site-context/core-plugin/core-hooks.d.ts +1 -1
  308. package/dist/site-context/core-plugin/create-core-plugin.d.ts +1 -1
  309. package/dist/site-context/core-plugin/create-core-plugin.js.map +1 -1
  310. package/dist/site-context/load-site-context.d.ts +2 -2
  311. package/dist/site-context/load-site-context.js +65 -7
  312. package/dist/site-context/load-site-context.js.map +1 -1
  313. package/dist/site-context/refresh-site-context.d.ts +1 -0
  314. package/dist/site-context/refresh-site-context.js +15 -0
  315. package/dist/site-context/refresh-site-context.js.map +1 -0
  316. package/dist/site-context/site-context.d.ts +7 -7
  317. package/dist/site-context/site-context.js +17 -7
  318. package/dist/site-context/site-context.js.map +1 -1
  319. package/dist/site-context/site-context.types.d.ts +28 -4
  320. package/dist/site-context/site-values-for-site-context.d.ts +1 -1
  321. package/dist/site-context/site-values-for-site-context.js.map +1 -1
  322. package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.d.ts +9 -0
  323. package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.js +61 -0
  324. package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.js.map +1 -0
  325. package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.d.ts +9 -0
  326. package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.js +54 -0
  327. package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.js.map +1 -0
  328. package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.d.ts +9 -0
  329. package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.js +44 -0
  330. package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.js.map +1 -0
  331. package/dist/site-schema-migration/site-schema-migration.d.ts +3 -0
  332. package/dist/site-schema-migration/site-schema-migration.js +43 -0
  333. package/dist/site-schema-migration/site-schema-migration.js.map +1 -0
  334. package/dist/tsconfig.tsbuildinfo +1 -1
  335. package/package.json +16 -12
  336. package/schema.graphql +48 -2
  337. package/site-schema-lib/common-schema.json +40 -0
  338. package/site-schema-lib/common-schema.l10n.de.json +10 -0
  339. package/site-schema-lib/common-schema.l10n.en.json +10 -0
  340. package/site-schema-lib/common-schema.l10n.es.json +10 -0
  341. package/site-schema-lib/common-schema.l10n.fr.json +10 -0
  342. package/site-schema-lib/common-schema.l10n.it.json +10 -0
  343. package/site-schema-lib/common-schema.l10n.pt.json +10 -0
  344. package/site-schema-lib/field-lib.site-schema.json +84 -0
  345. package/site-schema-lib/field-lib.site-schema.l10n.de.json +38 -0
  346. package/site-schema-lib/field-lib.site-schema.l10n.en.json +38 -0
  347. package/site-schema-lib/field-lib.site-schema.l10n.es.json +38 -0
  348. package/site-schema-lib/field-lib.site-schema.l10n.fr.json +41 -0
  349. package/site-schema-lib/field-lib.site-schema.l10n.it.json +38 -0
  350. package/site-schema-lib/field-lib.site-schema.l10n.pt.json +38 -0
  351. package/dist/admin-backend/document/document.helper.d.ts +0 -2
  352. package/dist/admin-backend/document/document.helper.js +0 -6
  353. package/dist/admin-backend/document/document.helper.js.map +0 -1
  354. package/dist/helpers/running-instance-connector.d.ts +0 -2
  355. package/dist/helpers/running-instance-connector.js.map +0 -1
@@ -1,14 +1,10 @@
1
- import { mainDbSchemaName } from "@paroicms/connector";
2
1
  import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
3
- import { parseSqliteDateTime } from "@paroicms/internal-server-lib";
4
- import { type } from "arktype";
5
- import { getNodeDepth } from "../../admin-backend/node/node.queries.js";
2
+ import { getNodeAncestorsWithSlug, } from "../../admin-backend/node/node-cte.queries.js";
6
3
  import { makeCacheDependencyKey, makeCacheKey } from "../../common/text-cache.js";
7
4
  import { shouldPrefixWithLanguage } from "../../helpers/url-helpers.js";
8
- const NumberAT = type("number");
9
- const StringAT = type("string");
10
- const StringOrNullAT = type("string|null");
11
- const StringOrNumberOrDateAT = type("string|number|Date");
5
+ export function getHomeUrl(siteContext, language) {
6
+ return shouldPrefixWithLanguage(siteContext.siteSchema, language) ? `/${language}` : "/";
7
+ }
12
8
  export async function getUrlOfDocument(siteContext, tracker, documentId, options = {}) {
13
9
  const cacheKey = makeCacheKey(siteContext.logger, { kind: "url", documentId });
14
10
  const cacheValue = await siteContext.textCache.getCacheValue(cacheKey, tracker);
@@ -20,24 +16,25 @@ export async function getUrlOfDocument(siteContext, tracker, documentId, options
20
16
  dependencyKeys: await siteContext.textCache.getDependencyKeys(cacheKey, tracker),
21
17
  };
22
18
  }
19
+ const ancestors = await getNodeAncestorsWithSlug(siteContext, tracker, documentId);
20
+ const publishedAncestors = ensureAncestorsArePublished(ancestors);
21
+ if (!publishedAncestors) {
22
+ if (options.returnUndef)
23
+ return;
24
+ throw new Error(`Document '${documentId.nodeId}:${documentId.language}' is not published yet`);
25
+ }
26
+ publishedAncestors.reverse();
27
+ publishedAncestors.shift();
28
+ const { language } = documentId;
23
29
  let dependencyKeys;
24
30
  let url;
25
- const { nodeId, language } = documentId;
26
- const depth = await getNodeDepth(siteContext, tracker, nodeId);
27
- if (depth === 0) {
31
+ if (publishedAncestors.length === 0) {
28
32
  url = getHomeUrl(siteContext, language);
29
33
  dependencyKeys = [];
30
34
  }
31
35
  else {
32
- const query = buildUrlQuery(siteContext, documentId, depth);
33
- const rows = await query;
34
- tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
35
- if (!rows || rows.length === 0) {
36
- throw new Error(`invalid url data for document "${language}:${nodeId}"`);
37
- }
38
- const urlData = formatUrlData(rows[0], depth);
39
- url = makeDocumentUrl(siteContext, urlData, language);
40
- dependencyKeys = makeUrlDependencyKeys(urlData, language);
36
+ url = makeDocumentUrl(siteContext, publishedAncestors, language);
37
+ dependencyKeys = makeUrlDependencyKeys(publishedAncestors, language);
41
38
  }
42
39
  await siteContext.textCache.setCacheValue({
43
40
  cacheKey,
@@ -46,105 +43,44 @@ export async function getUrlOfDocument(siteContext, tracker, documentId, options
46
43
  }, tracker);
47
44
  return options.returnUrlDependencyKeys ? { url, dependencyKeys } : url;
48
45
  }
49
- function buildUrlQuery(siteContext, lNodeId, depth) {
50
- const { cn } = siteContext;
51
- const { nodeId, language } = lNodeId;
52
- let cur = depth;
53
- let query = cn(`PaNode as l${cur}`)
54
- .select([
55
- `l${cur}.id as id${cur}`,
56
- `l${cur}.typeName as typeName${cur}`,
57
- `l${cur}.relativeId as relativeId${cur}`,
58
- `l${cur}.publishDate as publishDate${cur}`,
59
- `d${cur}.slug as slug${cur}`,
60
- ])
61
- .innerJoin(`PaLNode as s${cur}`, {
62
- [`s${cur}.nodeId`]: `l${cur}.id`,
63
- [`s${cur}.language`]: cn.raw("?", [language]),
64
- })
65
- .leftJoin(`PaDocument as d${cur}`, {
66
- [`d${cur}.nodeId`]: `s${cur}.nodeId`,
67
- [`d${cur}.language`]: `s${cur}.language`,
68
- })
69
- .where(`l${cur}.id`, nodeId)
70
- .whereNotNull(`l${cur}.publishDate`);
71
- let prev = cur;
72
- while (prev > 1) {
73
- cur = prev - 1;
74
- query = query.select([
75
- `l${prev}.id as id${prev}`,
76
- `l${prev}.typeName as typeName${prev}`,
77
- `l${prev}.relativeId as relativeId${prev}`,
78
- `l${prev}.publishDate as publishDate${prev}`,
79
- `d${prev}.slug as slug${prev}`,
80
- `l${cur}.id as id${cur}`,
81
- `l${cur}.typeName as typeName${cur}`,
82
- `l${cur}.relativeId as relativeId${cur}`,
83
- `l${cur}.publishDate as publishDate${cur}`,
84
- `d${cur}.slug as slug${cur}`,
85
- ]);
86
- query = query
87
- .innerJoin(`PaNode as l${cur}`, `l${cur}.id`, `l${prev}.parentId`)
88
- .innerJoin(`PaLNode as s${cur}`, {
89
- [`s${cur}.nodeId`]: `l${cur}.id`,
90
- [`s${cur}.language`]: cn.raw("?", [language]),
91
- })
92
- .leftJoin(`PaDocument as d${cur}`, {
93
- [`d${cur}.nodeId`]: `s${cur}.nodeId`,
94
- [`d${cur}.language`]: `s${cur}.language`,
95
- })
96
- .whereNotNull(`l${cur}.publishDate`);
97
- prev = cur;
98
- }
99
- query = query.where(`l${prev}.parentId`, siteContext.siteIds.homeIds.nodeId);
100
- return query;
101
- }
102
- function formatUrlData(row, depth) {
103
- const parts = new Map();
104
- for (let cur = 1; cur <= depth; ++cur) {
105
- parts.set(cur, {
106
- nodeId: String(NumberAT.assert(row[`id${cur}`])),
107
- typeName: StringAT.assert(row[`typeName${cur}`]),
108
- relativeId: StringAT.assert(row[`relativeId${cur}`]),
109
- slug: StringOrNullAT.assert(row[`slug${cur}`]) ?? undefined,
110
- publishDate: parseSqliteDateTime(StringOrNumberOrDateAT.assert(row[`publishDate${cur}`])),
111
- });
46
+ function ensureAncestorsArePublished(ancestors) {
47
+ const now = Date.now();
48
+ for (const ancestor of ancestors) {
49
+ if (!ancestor.ready ||
50
+ ancestor.publishDate === undefined ||
51
+ ancestor.publishDate.getTime() > now) {
52
+ return;
53
+ }
112
54
  }
113
- return { depth, parts };
55
+ return ancestors;
114
56
  }
115
- export function getHomeUrl(siteContext, language) {
116
- return shouldPrefixWithLanguage(siteContext.siteSchema, language) ? `/${language}` : "/";
117
- }
118
- function makeDocumentUrl(siteContext, urlData, language) {
57
+ function makeDocumentUrl(siteContext, ancestors, language) {
119
58
  const { siteSchema } = siteContext;
120
- const urlParts = shouldPrefixWithLanguage(siteContext.siteSchema, language) ? [language] : [];
59
+ const urlSegments = shouldPrefixWithLanguage(siteContext.siteSchema, language) ? [language] : [];
121
60
  let parent = getDocumentTypeByName(siteSchema, "home");
122
- for (let cur = 1; cur <= urlData.depth; ++cur) {
123
- const part = urlData.parts.get(cur);
124
- if (!part)
125
- throw new Error(`missing url part for depth '${cur}'`);
126
- if (!parent.regularChildren?.includes(part.typeName) &&
127
- !parent.routingChildren?.includes(part.typeName)) {
128
- throw new Error(`schema and database are not compatible, '${part.typeName}' should not be a child of '${parent.typeName}'`);
61
+ for (const ancestor of ancestors) {
62
+ if (!parent.regularChildren?.includes(ancestor.typeName) &&
63
+ !parent.routingChildren?.includes(ancestor.typeName)) {
64
+ throw new Error(`schema and database are not compatible, '${ancestor.typeName}' should not be a child of '${parent.typeName}'`);
129
65
  }
130
- const docType = getDocumentTypeByName(siteSchema, part.typeName);
66
+ const docType = getDocumentTypeByName(siteSchema, ancestor.typeName);
131
67
  if (docType.documentKind === "routing") {
132
- const part = docType.route?.[language];
133
- if (!part) {
68
+ const routePart = docType.route?.[language];
69
+ if (!routePart) {
134
70
  throw new Error(`missing urlPath['${language}'] in document type '${docType.typeName}'`);
135
71
  }
136
- urlParts.push(part);
72
+ urlSegments.push(routePart);
137
73
  }
138
74
  else {
139
75
  if (docType.route === ":relativeId-:slug") {
140
- urlParts.push(makeRelativeIdSlugUrlPart(part));
76
+ urlSegments.push(makeRelativeIdSlugUrlPart(ancestor));
141
77
  }
142
78
  else if (docType.route === ":yyyy/:mm/:dd/:relativeId-:slug") {
143
- const { publishDate } = part;
144
- urlParts.push(String(publishDate.getFullYear()).padStart(4, "0"));
145
- urlParts.push(String(publishDate.getMonth() + 1).padStart(2, "0"));
146
- urlParts.push(String(publishDate.getDate()).padStart(2, "0"));
147
- urlParts.push(makeRelativeIdSlugUrlPart(part));
79
+ const { publishDate } = ancestor;
80
+ urlSegments.push(String(publishDate.getFullYear()).padStart(4, "0"));
81
+ urlSegments.push(String(publishDate.getMonth() + 1).padStart(2, "0"));
82
+ urlSegments.push(String(publishDate.getDate()).padStart(2, "0"));
83
+ urlSegments.push(makeRelativeIdSlugUrlPart(ancestor));
148
84
  }
149
85
  else {
150
86
  throw new Error(`in '${docType.typeName}', unknown value for route: '${docType.route}'`);
@@ -152,15 +88,15 @@ function makeDocumentUrl(siteContext, urlData, language) {
152
88
  }
153
89
  parent = docType;
154
90
  }
155
- return `/${urlParts.join("/")}`;
156
- }
157
- function makeRelativeIdSlugUrlPart(part) {
158
- return part.slug ? `${part.relativeId}-${part.slug}` : part.relativeId;
91
+ return `/${urlSegments.join("/")}`;
159
92
  }
160
- function makeUrlDependencyKeys(urlData, language) {
161
- return Array.from(urlData.parts.values()).map((part) => makeCacheDependencyKey({
93
+ function makeUrlDependencyKeys(ancestors, language) {
94
+ return ancestors.map((part) => makeCacheDependencyKey({
162
95
  documentId: { language, nodeId: part.nodeId },
163
96
  perimeter: "slug",
164
97
  }));
165
98
  }
99
+ function makeRelativeIdSlugUrlPart(part) {
100
+ return part.slug ? `${part.relativeId}-${part.slug}` : part.relativeId;
101
+ }
166
102
  //# sourceMappingURL=make-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-url.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/make-url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-url.js","sourceRoot":"","sources":["../../../src/rendered-site/page-route/make-url.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,21 @@ import type { ScRegularDocumentType, ScRoutingDocumentType } from "@paroicms/pub
2
2
  import type { SiteContext } from "../../site-context/site-context.types.js";
3
3
  export interface ParsedPageRoute {
4
4
  language: string;
5
- routingDocuments: ScRoutingDocumentType[];
6
- regularRelativeIds: RegularRelativeId[];
7
5
  redirectTo: "parent" | undefined;
8
- depth: number;
9
- urlCacheKey: string;
10
6
  frontendAppPath?: string;
7
+ urlCacheKey: string;
8
+ documentHierarchy: DocumentHierarchyEntry[];
9
+ }
10
+ export type DocumentHierarchyEntry = RoutingDocumentHierarchyEntry | RegularDocumentHierarchyEntry;
11
+ export interface RoutingDocumentHierarchyEntry {
12
+ entryKind: "routing";
13
+ documentType: ScRoutingDocumentType;
11
14
  }
12
- export interface RegularRelativeId {
15
+ export interface RegularDocumentHierarchyEntry {
16
+ entryKind: "regular";
13
17
  relativeId: string;
14
18
  candidateTypes: ScRegularDocumentType[];
19
+ isClusterRoot: boolean;
15
20
  }
16
21
  export declare function parsePageRoute(siteContext: Pick<SiteContext, "siteSchema">, urlPath: string): ParsedPageRoute | undefined;
17
22
  export declare function findParentParsedRouteWithDocument(parsedRoute: ParsedPageRoute): ParsedPageRoute | undefined;