@paroicms/server 1.84.0 → 1.85.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 (426) hide show
  1. package/dist/bo-backend/backup/backup.resolver.js +2 -2
  2. package/dist/bo-backend/labeling/labeling.queries.d.ts +15 -0
  3. package/dist/bo-backend/labeling/labeling.queries.js +47 -0
  4. package/dist/bo-backend/labeling/labeling.queries.js.map +1 -0
  5. package/dist/bo-backend/labeling/labeling.resolver.d.ts +3 -0
  6. package/dist/bo-backend/labeling/labeling.resolver.js +21 -0
  7. package/dist/bo-backend/labeling/labeling.resolver.js.map +1 -0
  8. package/dist/bo-backend/login/login.controller.d.ts +1 -1
  9. package/dist/bo-backend/site-constants/site-constants.resolver.js +2 -2
  10. package/dist/common/api-error-handler.d.ts +10 -0
  11. package/dist/common/api-error-handler.js +28 -0
  12. package/dist/common/api-error-handler.js.map +1 -0
  13. package/dist/common/data-format.js +2 -2
  14. package/dist/context.d.ts +3 -1
  15. package/dist/context.js +5 -1
  16. package/dist/context.js.map +1 -1
  17. package/dist/express/create-redirect-url.d.ts +4 -0
  18. package/dist/express/create-redirect-url.js +25 -0
  19. package/dist/express/create-redirect-url.js.map +1 -0
  20. package/dist/express/small-middlewares.d.ts +4 -0
  21. package/dist/express/small-middlewares.js +25 -0
  22. package/dist/express/small-middlewares.js.map +1 -0
  23. package/dist/graphql/complexity-plugin.js.map +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +5 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/modules/app.controller.d.ts +3 -0
  28. package/dist/modules/app.controller.js +52 -0
  29. package/dist/modules/app.controller.js.map +1 -0
  30. package/dist/modules/bo-backend/account/account.formatters.d.ts +2 -0
  31. package/dist/modules/bo-backend/account/account.formatters.js +7 -0
  32. package/dist/modules/bo-backend/account/account.formatters.js.map +1 -0
  33. package/dist/modules/bo-backend/account/account.queries.d.ts +41 -0
  34. package/dist/modules/bo-backend/account/account.queries.js +231 -0
  35. package/dist/modules/bo-backend/account/account.queries.js.map +1 -0
  36. package/dist/modules/bo-backend/account/account.resolver.d.ts +3 -0
  37. package/dist/modules/bo-backend/account/account.resolver.js +65 -0
  38. package/dist/modules/bo-backend/account/account.resolver.js.map +1 -0
  39. package/dist/modules/bo-backend/auth/auth.helper.d.ts +15 -0
  40. package/dist/modules/bo-backend/auth/auth.helper.js +69 -0
  41. package/dist/modules/bo-backend/auth/auth.helper.js.map +1 -0
  42. package/dist/modules/bo-backend/auth/auth.service.d.ts +5 -0
  43. package/dist/modules/bo-backend/auth/auth.service.js +144 -0
  44. package/dist/modules/bo-backend/auth/auth.service.js.map +1 -0
  45. package/dist/modules/bo-backend/auth/auth.types.d.ts +27 -0
  46. package/dist/modules/bo-backend/auth/auth.types.js +2 -0
  47. package/dist/modules/bo-backend/auth/auth.types.js.map +1 -0
  48. package/dist/modules/bo-backend/backup/backup.controller.d.ts +2 -0
  49. package/dist/modules/bo-backend/backup/backup.controller.js +26 -0
  50. package/dist/modules/bo-backend/backup/backup.controller.js.map +1 -0
  51. package/dist/modules/bo-backend/backup/backup.helper.d.ts +6 -0
  52. package/dist/modules/bo-backend/backup/backup.helper.js +15 -0
  53. package/dist/modules/bo-backend/backup/backup.helper.js.map +1 -0
  54. package/dist/modules/bo-backend/backup/backup.resolver.d.ts +7 -0
  55. package/dist/modules/bo-backend/backup/backup.resolver.js +24 -0
  56. package/dist/modules/bo-backend/backup/backup.resolver.js.map +1 -0
  57. package/dist/modules/bo-backend/document/document.helper.d.ts +2 -0
  58. package/dist/modules/bo-backend/document/document.helper.js +6 -0
  59. package/dist/modules/bo-backend/document/document.helper.js.map +1 -0
  60. package/dist/modules/bo-backend/document/document.resolver.d.ts +3 -0
  61. package/dist/modules/bo-backend/document/document.resolver.extend.d.ts +3 -0
  62. package/dist/modules/bo-backend/document/document.resolver.extend.js +25 -0
  63. package/dist/modules/bo-backend/document/document.resolver.extend.js.map +1 -0
  64. package/dist/modules/bo-backend/document/document.resolver.js +83 -0
  65. package/dist/modules/bo-backend/document/document.resolver.js.map +1 -0
  66. package/dist/modules/bo-backend/document/load-documents.queries.d.ts +17 -0
  67. package/dist/modules/bo-backend/document/load-documents.queries.js +90 -0
  68. package/dist/modules/bo-backend/document/load-documents.queries.js.map +1 -0
  69. package/dist/modules/bo-backend/document/save-documents.queries.d.ts +36 -0
  70. package/dist/modules/bo-backend/document/save-documents.queries.js +206 -0
  71. package/dist/modules/bo-backend/document/save-documents.queries.js.map +1 -0
  72. package/dist/modules/bo-backend/fields/_fields.helpers.d.ts +2 -0
  73. package/dist/modules/bo-backend/fields/_fields.helpers.js +8 -0
  74. package/dist/modules/bo-backend/fields/_fields.helpers.js.map +1 -0
  75. package/dist/modules/bo-backend/fields/fields.resolver.d.ts +5 -0
  76. package/dist/modules/bo-backend/fields/fields.resolver.js +119 -0
  77. package/dist/modules/bo-backend/fields/fields.resolver.js.map +1 -0
  78. package/dist/modules/bo-backend/fields/load-fields-of.queries.d.ts +14 -0
  79. package/dist/modules/bo-backend/fields/load-fields-of.queries.js +93 -0
  80. package/dist/modules/bo-backend/fields/load-fields-of.queries.js.map +1 -0
  81. package/dist/modules/bo-backend/fields/load-fields.queries.d.ts +16 -0
  82. package/dist/modules/bo-backend/fields/load-fields.queries.js +206 -0
  83. package/dist/modules/bo-backend/fields/load-fields.queries.js.map +1 -0
  84. package/dist/modules/bo-backend/fields/preprocess-fields.d.ts +6 -0
  85. package/dist/modules/bo-backend/fields/preprocess-fields.js +28 -0
  86. package/dist/modules/bo-backend/fields/preprocess-fields.js.map +1 -0
  87. package/dist/modules/bo-backend/fields/save-fields.queries.d.ts +10 -0
  88. package/dist/modules/bo-backend/fields/save-fields.queries.js +173 -0
  89. package/dist/modules/bo-backend/fields/save-fields.queries.js.map +1 -0
  90. package/dist/modules/bo-backend/labeling/labeling.queries.d.ts +15 -0
  91. package/dist/modules/bo-backend/labeling/labeling.queries.js +47 -0
  92. package/dist/modules/bo-backend/labeling/labeling.queries.js.map +1 -0
  93. package/dist/modules/bo-backend/labeling/labeling.resolver.d.ts +3 -0
  94. package/dist/modules/bo-backend/labeling/labeling.resolver.js +21 -0
  95. package/dist/modules/bo-backend/labeling/labeling.resolver.js.map +1 -0
  96. package/dist/modules/bo-backend/login/login.controller.d.ts +2 -0
  97. package/dist/modules/bo-backend/login/login.controller.js +17 -0
  98. package/dist/modules/bo-backend/login/login.controller.js.map +1 -0
  99. package/dist/modules/bo-backend/media/add-media-to-node.d.ts +14 -0
  100. package/dist/modules/bo-backend/media/add-media-to-node.js +116 -0
  101. package/dist/modules/bo-backend/media/add-media-to-node.js.map +1 -0
  102. package/dist/modules/bo-backend/media/media-upload.controller.d.ts +2 -0
  103. package/dist/modules/bo-backend/media/media-upload.controller.js +36 -0
  104. package/dist/modules/bo-backend/media/media-upload.controller.js.map +1 -0
  105. package/dist/modules/bo-backend/media/media.d.ts +21 -0
  106. package/dist/modules/bo-backend/media/media.js +63 -0
  107. package/dist/modules/bo-backend/media/media.js.map +1 -0
  108. package/dist/modules/bo-backend/media/media.resolver.d.ts +3 -0
  109. package/dist/modules/bo-backend/media/media.resolver.extend.d.ts +3 -0
  110. package/dist/modules/bo-backend/media/media.resolver.extend.js +10 -0
  111. package/dist/modules/bo-backend/media/media.resolver.extend.js.map +1 -0
  112. package/dist/modules/bo-backend/media/media.resolver.js +145 -0
  113. package/dist/modules/bo-backend/media/media.resolver.js.map +1 -0
  114. package/dist/modules/bo-backend/node/node.queries.d.ts +26 -0
  115. package/dist/modules/bo-backend/node/node.queries.js +137 -0
  116. package/dist/modules/bo-backend/node/node.queries.js.map +1 -0
  117. package/dist/modules/bo-backend/node/node.resolver.d.ts +3 -0
  118. package/dist/modules/bo-backend/node/node.resolver.extend.d.ts +3 -0
  119. package/dist/modules/bo-backend/node/node.resolver.extend.js +11 -0
  120. package/dist/modules/bo-backend/node/node.resolver.extend.js.map +1 -0
  121. package/dist/modules/bo-backend/node/node.resolver.js +39 -0
  122. package/dist/modules/bo-backend/node/node.resolver.js.map +1 -0
  123. package/dist/modules/bo-backend/node/ordered-node.queries.d.ts +6 -0
  124. package/dist/modules/bo-backend/node/ordered-node.queries.js +49 -0
  125. package/dist/modules/bo-backend/node/ordered-node.queries.js.map +1 -0
  126. package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.d.ts +3 -0
  127. package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.js +14 -0
  128. package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.js.map +1 -0
  129. package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.d.ts +3 -0
  130. package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.js +100 -0
  131. package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.js.map +1 -0
  132. package/dist/modules/bo-backend/nodel/nodel.queries.d.ts +58 -0
  133. package/dist/modules/bo-backend/nodel/nodel.queries.js +266 -0
  134. package/dist/modules/bo-backend/nodel/nodel.queries.js.map +1 -0
  135. package/dist/modules/bo-backend/part/part-node.queries.d.ts +9 -0
  136. package/dist/modules/bo-backend/part/part-node.queries.js +38 -0
  137. package/dist/modules/bo-backend/part/part-node.queries.js.map +1 -0
  138. package/dist/modules/bo-backend/part/part.queries.d.ts +37 -0
  139. package/dist/modules/bo-backend/part/part.queries.js +235 -0
  140. package/dist/modules/bo-backend/part/part.queries.js.map +1 -0
  141. package/dist/modules/bo-backend/part/part.resolver.d.ts +3 -0
  142. package/dist/modules/bo-backend/part/part.resolver.extend.d.ts +3 -0
  143. package/dist/modules/bo-backend/part/part.resolver.extend.js +37 -0
  144. package/dist/modules/bo-backend/part/part.resolver.extend.js.map +1 -0
  145. package/dist/modules/bo-backend/part/part.resolver.js +50 -0
  146. package/dist/modules/bo-backend/part/part.resolver.js.map +1 -0
  147. package/dist/modules/bo-backend/site-constants/site-constants.resolver.d.ts +3 -0
  148. package/dist/modules/bo-backend/site-constants/site-constants.resolver.js +45 -0
  149. package/dist/modules/bo-backend/site-constants/site-constants.resolver.js.map +1 -0
  150. package/dist/modules/bo-backend/unprotected/unprotected.resolver.d.ts +9 -0
  151. package/dist/modules/bo-backend/unprotected/unprotected.resolver.js +59 -0
  152. package/dist/modules/bo-backend/unprotected/unprotected.resolver.js.map +1 -0
  153. package/dist/modules/core/account/account.formatters.d.ts +2 -0
  154. package/dist/modules/core/account/account.formatters.js +7 -0
  155. package/dist/modules/core/account/account.formatters.js.map +1 -0
  156. package/dist/modules/core/account/account.queries.d.ts +41 -0
  157. package/dist/modules/core/account/account.queries.js +231 -0
  158. package/dist/modules/core/account/account.queries.js.map +1 -0
  159. package/dist/modules/core/account/account.resolver.d.ts +3 -0
  160. package/dist/modules/core/account/account.resolver.js +65 -0
  161. package/dist/modules/core/account/account.resolver.js.map +1 -0
  162. package/dist/modules/core/account-auth/account-auth.service.d.ts +3 -0
  163. package/dist/modules/core/account-auth/account-auth.service.js +25 -0
  164. package/dist/modules/core/account-auth/account-auth.service.js.map +1 -0
  165. package/dist/modules/core/account-auth/account-auth.strategy.d.ts +3 -0
  166. package/dist/modules/core/account-auth/account-auth.strategy.js +26 -0
  167. package/dist/modules/core/account-auth/account-auth.strategy.js.map +1 -0
  168. package/dist/modules/core/auth/auth.helper.d.ts +15 -0
  169. package/dist/modules/core/auth/auth.helper.js +69 -0
  170. package/dist/modules/core/auth/auth.helper.js.map +1 -0
  171. package/dist/modules/core/auth/auth.service.d.ts +5 -0
  172. package/dist/modules/core/auth/auth.service.js +144 -0
  173. package/dist/modules/core/auth/auth.service.js.map +1 -0
  174. package/dist/modules/core/auth/auth.types.d.ts +27 -0
  175. package/dist/modules/core/auth/auth.types.js +2 -0
  176. package/dist/modules/core/auth/auth.types.js.map +1 -0
  177. package/dist/modules/core/backup/backup.controller.d.ts +2 -0
  178. package/dist/modules/core/backup/backup.controller.js +26 -0
  179. package/dist/modules/core/backup/backup.controller.js.map +1 -0
  180. package/dist/modules/core/backup/backup.helper.d.ts +6 -0
  181. package/dist/modules/core/backup/backup.helper.js +15 -0
  182. package/dist/modules/core/backup/backup.helper.js.map +1 -0
  183. package/dist/modules/core/backup/backup.resolver.d.ts +7 -0
  184. package/dist/modules/core/backup/backup.resolver.js +24 -0
  185. package/dist/modules/core/backup/backup.resolver.js.map +1 -0
  186. package/dist/modules/core/document/document.helper.d.ts +2 -0
  187. package/dist/modules/core/document/document.helper.js +6 -0
  188. package/dist/modules/core/document/document.helper.js.map +1 -0
  189. package/dist/modules/core/document/document.resolver.d.ts +3 -0
  190. package/dist/modules/core/document/document.resolver.extend.d.ts +3 -0
  191. package/dist/modules/core/document/document.resolver.extend.js +25 -0
  192. package/dist/modules/core/document/document.resolver.extend.js.map +1 -0
  193. package/dist/modules/core/document/document.resolver.js +83 -0
  194. package/dist/modules/core/document/document.resolver.js.map +1 -0
  195. package/dist/modules/core/document/load-documents.queries.d.ts +17 -0
  196. package/dist/modules/core/document/load-documents.queries.js +90 -0
  197. package/dist/modules/core/document/load-documents.queries.js.map +1 -0
  198. package/dist/modules/core/document/save-documents.queries.d.ts +36 -0
  199. package/dist/modules/core/document/save-documents.queries.js +206 -0
  200. package/dist/modules/core/document/save-documents.queries.js.map +1 -0
  201. package/dist/modules/core/fields/_fields.helpers.d.ts +2 -0
  202. package/dist/modules/core/fields/_fields.helpers.js +8 -0
  203. package/dist/modules/core/fields/_fields.helpers.js.map +1 -0
  204. package/dist/modules/core/fields/fields.resolver.d.ts +5 -0
  205. package/dist/modules/core/fields/fields.resolver.js +119 -0
  206. package/dist/modules/core/fields/fields.resolver.js.map +1 -0
  207. package/dist/modules/core/fields/load-fields-of.queries.d.ts +14 -0
  208. package/dist/modules/core/fields/load-fields-of.queries.js +93 -0
  209. package/dist/modules/core/fields/load-fields-of.queries.js.map +1 -0
  210. package/dist/modules/core/fields/load-fields.queries.d.ts +16 -0
  211. package/dist/modules/core/fields/load-fields.queries.js +206 -0
  212. package/dist/modules/core/fields/load-fields.queries.js.map +1 -0
  213. package/dist/modules/core/fields/preprocess-fields.d.ts +6 -0
  214. package/dist/modules/core/fields/preprocess-fields.js +28 -0
  215. package/dist/modules/core/fields/preprocess-fields.js.map +1 -0
  216. package/dist/modules/core/fields/save-fields.queries.d.ts +10 -0
  217. package/dist/modules/core/fields/save-fields.queries.js +173 -0
  218. package/dist/modules/core/fields/save-fields.queries.js.map +1 -0
  219. package/dist/modules/core/labeling/labeling.queries.d.ts +15 -0
  220. package/dist/modules/core/labeling/labeling.queries.js +47 -0
  221. package/dist/modules/core/labeling/labeling.queries.js.map +1 -0
  222. package/dist/modules/core/labeling/labeling.resolver.d.ts +3 -0
  223. package/dist/modules/core/labeling/labeling.resolver.js +21 -0
  224. package/dist/modules/core/labeling/labeling.resolver.js.map +1 -0
  225. package/dist/modules/core/login/login.controller.d.ts +2 -0
  226. package/dist/modules/core/login/login.controller.js +17 -0
  227. package/dist/modules/core/login/login.controller.js.map +1 -0
  228. package/dist/modules/core/media/add-media-to-node.d.ts +14 -0
  229. package/dist/modules/core/media/add-media-to-node.js +116 -0
  230. package/dist/modules/core/media/add-media-to-node.js.map +1 -0
  231. package/dist/modules/core/media/media-upload.controller.d.ts +2 -0
  232. package/dist/modules/core/media/media-upload.controller.js +36 -0
  233. package/dist/modules/core/media/media-upload.controller.js.map +1 -0
  234. package/dist/modules/core/media/media.d.ts +21 -0
  235. package/dist/modules/core/media/media.js +63 -0
  236. package/dist/modules/core/media/media.js.map +1 -0
  237. package/dist/modules/core/media/media.resolver.d.ts +3 -0
  238. package/dist/modules/core/media/media.resolver.extend.d.ts +3 -0
  239. package/dist/modules/core/media/media.resolver.extend.js +10 -0
  240. package/dist/modules/core/media/media.resolver.extend.js.map +1 -0
  241. package/dist/modules/core/media/media.resolver.js +145 -0
  242. package/dist/modules/core/media/media.resolver.js.map +1 -0
  243. package/dist/modules/core/node/node.queries.d.ts +26 -0
  244. package/dist/modules/core/node/node.queries.js +137 -0
  245. package/dist/modules/core/node/node.queries.js.map +1 -0
  246. package/dist/modules/core/node/node.resolver.d.ts +3 -0
  247. package/dist/modules/core/node/node.resolver.extend.d.ts +3 -0
  248. package/dist/modules/core/node/node.resolver.extend.js +11 -0
  249. package/dist/modules/core/node/node.resolver.extend.js.map +1 -0
  250. package/dist/modules/core/node/node.resolver.js +39 -0
  251. package/dist/modules/core/node/node.resolver.js.map +1 -0
  252. package/dist/modules/core/node/ordered-node.queries.d.ts +6 -0
  253. package/dist/modules/core/node/ordered-node.queries.js +49 -0
  254. package/dist/modules/core/node/ordered-node.queries.js.map +1 -0
  255. package/dist/modules/core/nodel/nodel-wrap.formatters.d.ts +3 -0
  256. package/dist/modules/core/nodel/nodel-wrap.formatters.js +14 -0
  257. package/dist/modules/core/nodel/nodel-wrap.formatters.js.map +1 -0
  258. package/dist/modules/core/nodel/nodel-wrap.resolver.d.ts +3 -0
  259. package/dist/modules/core/nodel/nodel-wrap.resolver.js +100 -0
  260. package/dist/modules/core/nodel/nodel-wrap.resolver.js.map +1 -0
  261. package/dist/modules/core/nodel/nodel.queries.d.ts +58 -0
  262. package/dist/modules/core/nodel/nodel.queries.js +266 -0
  263. package/dist/modules/core/nodel/nodel.queries.js.map +1 -0
  264. package/dist/modules/core/part/part-node.queries.d.ts +9 -0
  265. package/dist/modules/core/part/part-node.queries.js +38 -0
  266. package/dist/modules/core/part/part-node.queries.js.map +1 -0
  267. package/dist/modules/core/part/part.queries.d.ts +37 -0
  268. package/dist/modules/core/part/part.queries.js +235 -0
  269. package/dist/modules/core/part/part.queries.js.map +1 -0
  270. package/dist/modules/core/part/part.resolver.d.ts +3 -0
  271. package/dist/modules/core/part/part.resolver.extend.d.ts +3 -0
  272. package/dist/modules/core/part/part.resolver.extend.js +37 -0
  273. package/dist/modules/core/part/part.resolver.extend.js.map +1 -0
  274. package/dist/modules/core/part/part.resolver.js +50 -0
  275. package/dist/modules/core/part/part.resolver.js.map +1 -0
  276. package/dist/modules/core/site-constants/site-constants.resolver.d.ts +3 -0
  277. package/dist/modules/core/site-constants/site-constants.resolver.js +45 -0
  278. package/dist/modules/core/site-constants/site-constants.resolver.js.map +1 -0
  279. package/dist/modules/core/unprotected/unprotected.resolver.d.ts +9 -0
  280. package/dist/modules/core/unprotected/unprotected.resolver.js +59 -0
  281. package/dist/modules/core/unprotected/unprotected.resolver.js.map +1 -0
  282. package/dist/modules/graphql.types.d.ts +7 -0
  283. package/dist/modules/graphql.types.js +2 -0
  284. package/dist/modules/graphql.types.js.map +1 -0
  285. package/dist/modules/public-api/mail/validate-recaptcha-response.d.ts +5 -0
  286. package/dist/modules/public-api/mail/validate-recaptcha-response.js +21 -0
  287. package/dist/modules/public-api/mail/validate-recaptcha-response.js.map +1 -0
  288. package/dist/modules/public-api/partials/partials-params.dto.d.ts +6 -0
  289. package/dist/modules/public-api/partials/partials-params.dto.js +41 -0
  290. package/dist/modules/public-api/partials/partials-params.dto.js.map +1 -0
  291. package/dist/modules/public-api/password-reset/password-reset.controller.d.ts +5 -0
  292. package/dist/modules/public-api/password-reset/password-reset.controller.js +22 -0
  293. package/dist/modules/public-api/password-reset/password-reset.controller.js.map +1 -0
  294. package/dist/modules/public-api/password-reset/password-reset.dto.d.ts +3 -0
  295. package/dist/modules/public-api/password-reset/password-reset.dto.js +29 -0
  296. package/dist/modules/public-api/password-reset/password-reset.dto.js.map +1 -0
  297. package/dist/modules/public-api/password-reset/password-reset.service.d.ts +19 -0
  298. package/dist/modules/public-api/password-reset/password-reset.service.js +57 -0
  299. package/dist/modules/public-api/password-reset/password-reset.service.js.map +1 -0
  300. package/dist/modules/public-api/public-api-controller.d.ts +8 -0
  301. package/dist/modules/public-api/public-api-controller.js +6 -0
  302. package/dist/modules/public-api/public-api-controller.js.map +1 -0
  303. package/dist/modules/public-api/public-api-rendering.d.ts +20 -0
  304. package/dist/modules/public-api/public-api-rendering.js +115 -0
  305. package/dist/modules/public-api/public-api-rendering.js.map +1 -0
  306. package/dist/modules/public-api/search-text/search-text.dto.d.ts +7 -0
  307. package/dist/modules/public-api/search-text/search-text.dto.js +46 -0
  308. package/dist/modules/public-api/search-text/search-text.dto.js.map +1 -0
  309. package/dist/modules/public-api/search-text/search-text.queries.d.ts +15 -0
  310. package/dist/modules/public-api/search-text/search-text.queries.js +82 -0
  311. package/dist/modules/public-api/search-text/search-text.queries.js.map +1 -0
  312. package/dist/modules/public-site/feed/feed-generator.d.ts +20 -0
  313. package/dist/modules/public-site/feed/feed-generator.js +199 -0
  314. package/dist/modules/public-site/feed/feed-generator.js.map +1 -0
  315. package/dist/modules/public-site/feed/feed-helpers.d.ts +3 -0
  316. package/dist/modules/public-site/feed/feed-helpers.js +7 -0
  317. package/dist/modules/public-site/feed/feed-helpers.js.map +1 -0
  318. package/dist/modules/public-site/feed/feed.middleware.d.ts +2 -0
  319. package/dist/modules/public-site/feed/feed.middleware.js +59 -0
  320. package/dist/modules/public-site/feed/feed.middleware.js.map +1 -0
  321. package/dist/modules/public-site/helpers/format-date.helper.d.ts +4 -0
  322. package/dist/modules/public-site/helpers/format-date.helper.js +28 -0
  323. package/dist/modules/public-site/helpers/format-date.helper.js.map +1 -0
  324. package/dist/modules/public-site/helpers/medias.helpers.d.ts +7 -0
  325. package/dist/modules/public-site/helpers/medias.helpers.js +14 -0
  326. package/dist/modules/public-site/helpers/medias.helpers.js.map +1 -0
  327. package/dist/modules/public-site/liquidjs-filters/format-date.d.ts +7 -0
  328. package/dist/modules/public-site/liquidjs-filters/format-date.js +11 -0
  329. package/dist/modules/public-site/liquidjs-filters/format-date.js.map +1 -0
  330. package/dist/modules/public-site/liquidjs-filters/format-number.d.ts +6 -0
  331. package/dist/modules/public-site/liquidjs-filters/format-number.js +13 -0
  332. package/dist/modules/public-site/liquidjs-filters/format-number.js.map +1 -0
  333. package/dist/modules/public-site/liquidjs-filters/head-tags-filter.d.ts +6 -0
  334. package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js +55 -0
  335. package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js.map +1 -0
  336. package/dist/modules/public-site/liquidjs-filters/image-zoom-url.d.ts +6 -0
  337. package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js +22 -0
  338. package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js.map +1 -0
  339. package/dist/modules/public-site/liquidjs-filters/info-filter.d.ts +1 -0
  340. package/dist/modules/public-site/liquidjs-filters/info-filter.js +183 -0
  341. package/dist/modules/public-site/liquidjs-filters/info-filter.js.map +1 -0
  342. package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.d.ts +6 -0
  343. package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js +21 -0
  344. package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js.map +1 -0
  345. package/dist/modules/public-site/liquidjs-filters/make-excerpt.d.ts +3 -0
  346. package/dist/modules/public-site/liquidjs-filters/make-excerpt.js +6 -0
  347. package/dist/modules/public-site/liquidjs-filters/make-excerpt.js.map +1 -0
  348. package/dist/modules/public-site/liquidjs-filters/obfuscate.d.ts +8 -0
  349. package/dist/modules/public-site/liquidjs-filters/obfuscate.js +21 -0
  350. package/dist/modules/public-site/liquidjs-filters/obfuscate.js.map +1 -0
  351. package/dist/modules/public-site/liquidjs-filters/open-graph-filter.d.ts +9 -0
  352. package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js +37 -0
  353. package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js.map +1 -0
  354. package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.d.ts +7 -0
  355. package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.js +22 -0
  356. package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -0
  357. package/dist/modules/public-site/liquidjs-filters/translate-filter.d.ts +7 -0
  358. package/dist/modules/public-site/liquidjs-filters/translate-filter.js +19 -0
  359. package/dist/modules/public-site/liquidjs-filters/translate-filter.js.map +1 -0
  360. package/dist/modules/public-site/liquidjs-tags/get-doc-tag.d.ts +15 -0
  361. package/dist/modules/public-site/liquidjs-tags/get-doc-tag.js +70 -0
  362. package/dist/modules/public-site/liquidjs-tags/get-doc-tag.js.map +1 -0
  363. package/dist/modules/public-site/liquidjs-tags/get-docs-tag.d.ts +15 -0
  364. package/dist/modules/public-site/liquidjs-tags/get-docs-tag.js +108 -0
  365. package/dist/modules/public-site/liquidjs-tags/get-docs-tag.js.map +1 -0
  366. package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.d.ts +28 -0
  367. package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.js +80 -0
  368. package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -0
  369. package/dist/modules/public-site/liquidjs-tags/use-image-tag.d.ts +13 -0
  370. package/dist/modules/public-site/liquidjs-tags/use-image-tag.js +73 -0
  371. package/dist/modules/public-site/liquidjs-tags/use-image-tag.js.map +1 -0
  372. package/dist/modules/public-site/media-serve/_media-serve-helpers.d.ts +5 -0
  373. package/dist/modules/public-site/media-serve/_media-serve-helpers.js +15 -0
  374. package/dist/modules/public-site/media-serve/_media-serve-helpers.js.map +1 -0
  375. package/dist/modules/public-site/media-serve/media-serve.controller.d.ts +4 -0
  376. package/dist/modules/public-site/media-serve/media-serve.controller.js +173 -0
  377. package/dist/modules/public-site/media-serve/media-serve.controller.js.map +1 -0
  378. package/dist/modules/public-site/public-route/make-url.d.ts +11 -0
  379. package/dist/modules/public-site/public-route/make-url.js +160 -0
  380. package/dist/modules/public-site/public-route/make-url.js.map +1 -0
  381. package/dist/modules/public-site/public-route/public-route-parser.d.ts +17 -0
  382. package/dist/modules/public-site/public-route/public-route-parser.js +176 -0
  383. package/dist/modules/public-site/public-route/public-route-parser.js.map +1 -0
  384. package/dist/modules/public-site/public-route/raw-document-payload.d.ts +4 -0
  385. package/dist/modules/public-site/public-route/raw-document-payload.js +77 -0
  386. package/dist/modules/public-site/public-route/raw-document-payload.js.map +1 -0
  387. package/dist/modules/public-site/public-site.controller.d.ts +2 -0
  388. package/dist/modules/public-site/public-site.controller.js +27 -0
  389. package/dist/modules/public-site/public-site.controller.js.map +1 -0
  390. package/dist/modules/public-site/public-site.middleware.d.ts +2 -0
  391. package/dist/modules/public-site/public-site.middleware.js +47 -0
  392. package/dist/modules/public-site/public-site.middleware.js.map +1 -0
  393. package/dist/modules/public-site/serve-document/serve-document.d.ts +20 -0
  394. package/dist/modules/public-site/serve-document/serve-document.js +50 -0
  395. package/dist/modules/public-site/serve-document/serve-document.js.map +1 -0
  396. package/dist/public-api/partials/partials-params.dto.d.ts +6 -0
  397. package/dist/public-api/partials/partials-params.dto.js +41 -0
  398. package/dist/public-api/partials/partials-params.dto.js.map +1 -0
  399. package/dist/public-api/password-reset/password-reset.dto.d.ts +3 -0
  400. package/dist/public-api/password-reset/password-reset.dto.js +29 -0
  401. package/dist/public-api/password-reset/password-reset.dto.js.map +1 -0
  402. package/dist/public-api/search-text/search-text.dto.d.ts +7 -0
  403. package/dist/public-api/search-text/search-text.dto.js +46 -0
  404. package/dist/public-api/search-text/search-text.dto.js.map +1 -0
  405. package/dist/public-api/search-text/search-text.queries.js +3 -4
  406. package/dist/public-api/search-text/search-text.queries.js.map +1 -1
  407. package/dist/public-payload/parts.queries.js +6 -6
  408. package/dist/public-payload/parts.queries.js.map +1 -1
  409. package/dist/public-payload/site-payload.js +1 -1
  410. package/dist/public-payload/site-payload.js.map +1 -1
  411. package/dist/public-payload/taxonomies.queries.d.ts +14 -0
  412. package/dist/public-payload/taxonomies.queries.js +42 -0
  413. package/dist/public-payload/taxonomies.queries.js.map +1 -0
  414. package/dist/public-site/feed/feed-generator.js +2 -2
  415. package/dist/public-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
  416. package/dist/public-site/liquidjs-filters/open-graph-filter.d.ts +1 -1
  417. package/dist/public-site/public-site.controller.d.ts +2 -0
  418. package/dist/public-site/public-site.controller.js +27 -0
  419. package/dist/public-site/public-site.controller.js.map +1 -0
  420. package/dist/site-context/create-site-context.js +2 -2
  421. package/dist/site-context/create-site-context.js.map +1 -1
  422. package/dist/start.js +1 -1
  423. package/dist/start.js.map +1 -1
  424. package/dist/tsconfig.tsbuildinfo +1 -1
  425. package/package.json +9 -9
  426. package/schema.graphql +1 -1
@@ -0,0 +1,17 @@
1
+ import type { ScRegularDocumentType, ScRoutingDocumentType } from "@paroicms/public-anywhere-lib";
2
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
3
+ export interface ParsedPublicRoute {
4
+ language: string;
5
+ routingDocuments: ScRoutingDocumentType[];
6
+ regularRelativeIds: RegularRelativeId[];
7
+ redirectTo: "parent" | undefined;
8
+ depth: number;
9
+ urlCacheKey: string;
10
+ urlParameters?: string;
11
+ }
12
+ export interface RegularRelativeId {
13
+ relativeId: string;
14
+ candidateTypes: ScRegularDocumentType[];
15
+ }
16
+ export declare function parsePublicRoute(siteContext: Pick<SiteContext, "siteSchema">, path: string): ParsedPublicRoute | undefined;
17
+ export declare function findParentParsedRouteWithDocument(parsedRoute: ParsedPublicRoute): ParsedPublicRoute | undefined;
@@ -0,0 +1,176 @@
1
+ import { getRegularDocumentTypeByName, getRoutingDocumentTypeByName, } from "@paroicms/internal-anywhere-lib";
2
+ export function parsePublicRoute(siteContext, path) {
3
+ const { siteSchema } = siteContext;
4
+ const { cleanedPath, urlParameters } = parseUrlParameters(path);
5
+ const tokens = cleanedPath
6
+ .split("/")
7
+ .slice(1)
8
+ .filter((token) => token.length > 0);
9
+ const language = siteSchema.isMultilingual ? tokens[0] : siteSchema.defaultLanguage;
10
+ const parts = siteSchema.isMultilingual ? tokens.slice(1) : tokens;
11
+ if (!language || !siteSchema.languages.includes(language))
12
+ return;
13
+ const urlCacheKey = [];
14
+ if (siteSchema.isMultilingual)
15
+ urlCacheKey.push(language);
16
+ let prev = siteSchema.nodeTypes.home;
17
+ const routingDocuments = [prev];
18
+ let depth = 0;
19
+ let i = 0;
20
+ for (; i < parts.length; ++i) {
21
+ const urlPath = parts[i];
22
+ const routingDocument = findRoutingDocumentByUrlPath({
23
+ siteSchema,
24
+ parent: prev,
25
+ urlPath,
26
+ language,
27
+ });
28
+ if (!routingDocument)
29
+ break;
30
+ routingDocuments.push(routingDocument);
31
+ urlCacheKey.push(urlPath);
32
+ ++depth;
33
+ prev = routingDocument;
34
+ }
35
+ let lastRedirectTo = prev.redirectTo;
36
+ let parentCandidates = [prev];
37
+ const regularRelativeIds = [];
38
+ while (i < parts.length) {
39
+ const found = findRegularRelativeIdByUrlPath({
40
+ siteSchema,
41
+ parentCandidates,
42
+ parts,
43
+ partsIndex: i,
44
+ });
45
+ if (!found)
46
+ return;
47
+ regularRelativeIds.push(found.regularRelativeId);
48
+ urlCacheKey.push(`regular:${found.regularRelativeId.relativeId}`);
49
+ ++depth;
50
+ parentCandidates = found.regularRelativeId.candidateTypes;
51
+ i += found.skipUrlParts;
52
+ lastRedirectTo = undefined;
53
+ }
54
+ return {
55
+ language,
56
+ routingDocuments,
57
+ regularRelativeIds,
58
+ redirectTo: lastRedirectTo,
59
+ depth,
60
+ urlCacheKey: urlCacheKey.join("/"),
61
+ urlParameters,
62
+ };
63
+ }
64
+ function parseUrlParameters(path) {
65
+ const result = path.match(/(^.+)(\?.*)$/);
66
+ if (result) {
67
+ return {
68
+ cleanedPath: result[1],
69
+ urlParameters: result[2],
70
+ };
71
+ }
72
+ return {
73
+ cleanedPath: path,
74
+ urlParameters: undefined,
75
+ };
76
+ }
77
+ function findRoutingDocumentByUrlPath({ siteSchema, parent, urlPath, language, }) {
78
+ for (const typeName of parent.routingChildren ?? []) {
79
+ const documentType = getRoutingDocumentTypeByName(siteSchema, typeName);
80
+ if (!documentType.route)
81
+ continue;
82
+ if (urlPath === documentType.route[language])
83
+ return documentType;
84
+ }
85
+ }
86
+ function findRegularRelativeIdByUrlPath({ siteSchema, parentCandidates, parts, partsIndex, }) {
87
+ const candidateTypes = parentCandidates
88
+ .reduce((childTypeNames, parent) => {
89
+ if (parent.regularChildren)
90
+ childTypeNames.push(...parent.regularChildren);
91
+ return childTypeNames;
92
+ }, [])
93
+ ?.map((typeName) => getRegularDocumentTypeByName(siteSchema, typeName));
94
+ if (!candidateTypes || candidateTypes.length === 0)
95
+ return;
96
+ const route = candidateTypes[0].route;
97
+ if (route === ":relativeId-:slug") {
98
+ const urlPath = parts[partsIndex];
99
+ const relativeId = parseRegularRelativeIdSlug(urlPath);
100
+ return {
101
+ regularRelativeId: { relativeId, candidateTypes },
102
+ skipUrlParts: 1,
103
+ };
104
+ }
105
+ if (route === ":yyyy/:mm/:dd/:relativeId-:slug") {
106
+ if (parts.length < partsIndex + 3 ||
107
+ !isYear(parts[partsIndex]) ||
108
+ !isMonth(parts[partsIndex + 1]) ||
109
+ !isDay(parts[partsIndex + 2])) {
110
+ return;
111
+ }
112
+ const urlPath = parts[partsIndex + 3];
113
+ const relativeId = parseRegularRelativeIdSlug(urlPath);
114
+ return {
115
+ regularRelativeId: { relativeId, candidateTypes },
116
+ skipUrlParts: 4,
117
+ };
118
+ }
119
+ }
120
+ function parseRegularRelativeIdSlug(urlPath) {
121
+ const index = urlPath.indexOf("-");
122
+ return index === -1 ? urlPath : urlPath.substring(0, index);
123
+ }
124
+ function isYear(s) {
125
+ return /[0-9]{4}/.test(s);
126
+ }
127
+ function isMonth(s) {
128
+ if (!/[0-9]{2}/.test(s))
129
+ return false;
130
+ const val = Number(s);
131
+ return val >= 1 && val <= 12;
132
+ }
133
+ function isDay(s) {
134
+ if (!/[0-9]{2}/.test(s))
135
+ return false;
136
+ const val = Number(s);
137
+ return val >= 1 && val <= 31;
138
+ }
139
+ export function findParentParsedRouteWithDocument(parsedRoute) {
140
+ let curRoute = parsedRoute;
141
+ while (true) {
142
+ curRoute = findParentParsedRoute(curRoute);
143
+ if (!curRoute)
144
+ break;
145
+ if (!curRoute.redirectTo)
146
+ return curRoute;
147
+ }
148
+ }
149
+ function findParentParsedRoute(parsedRoute) {
150
+ const routingDocuments = [...parsedRoute.routingDocuments];
151
+ const regularRelativeIds = [...parsedRoute.regularRelativeIds];
152
+ const urlCacheKey = parsedRoute.urlCacheKey.split("/");
153
+ if (regularRelativeIds.length > 0) {
154
+ regularRelativeIds.pop();
155
+ urlCacheKey.pop();
156
+ }
157
+ else if (routingDocuments.length > 0) {
158
+ routingDocuments.pop();
159
+ urlCacheKey.pop();
160
+ }
161
+ if (regularRelativeIds.length === 0 && routingDocuments.length === 0)
162
+ return;
163
+ const lastRegular = regularRelativeIds.length > 0 ? regularRelativeIds[regularRelativeIds.length - 1] : undefined;
164
+ const redirectTo = lastRegular
165
+ ? undefined
166
+ : routingDocuments[routingDocuments.length - 1]?.redirectTo;
167
+ return {
168
+ language: parsedRoute.language,
169
+ routingDocuments,
170
+ regularRelativeIds,
171
+ redirectTo,
172
+ depth: parsedRoute.depth - 1,
173
+ urlCacheKey: urlCacheKey.join("/"),
174
+ };
175
+ }
176
+ //# sourceMappingURL=public-route-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-route-parser.js","sourceRoot":"","sources":["../../../../src/modules/public-site/public-route/public-route-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DocValues } from "../../../public-payload/public-payload.types.js";
2
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
3
+ import type { ParsedPublicRoute } from "./public-route-parser.js";
4
+ export declare function fetchRawDocPayload(siteContext: SiteContext, parsedRoute: ParsedPublicRoute): Promise<DocValues | undefined>;
@@ -0,0 +1,77 @@
1
+ import { formatDocValues } from "../../../public-payload/doc-values.queries.js";
2
+ export async function fetchRawDocPayload(siteContext, parsedRoute) {
3
+ const query = buildRawDocPayloadQuery(siteContext, parsedRoute);
4
+ const rows = await query;
5
+ if (!rows || rows.length === 0)
6
+ return;
7
+ return formatDocValues(rows[0], {
8
+ language: parsedRoute.language,
9
+ });
10
+ }
11
+ function buildRawDocPayloadQuery(siteContext, parsedRoute) {
12
+ const { cn } = siteContext;
13
+ let query = cn("PaNode as l0")
14
+ .innerJoin("PaNodel as s0", {
15
+ "l0.id": "s0.nodeId",
16
+ "s0.language": cn.raw("?", [parsedRoute.language]),
17
+ })
18
+ .where("l0.depth", 0)
19
+ .where("l0.typeName", "home")
20
+ .whereRaw("l0.publishDate <= current_timestamp")
21
+ .where("s0.ready", 1);
22
+ let prev = 0;
23
+ for (const routingDocument of parsedRoute.routingDocuments.slice(1)) {
24
+ const cur = prev + 1;
25
+ const typeNameParam = routingDocument.typeName;
26
+ query = query
27
+ .innerJoin(`PaNode as l${cur}`, {
28
+ [`l${prev}.id`]: `l${cur}.parentId`,
29
+ [`l${cur}.typeName`]: cn.raw("?", [typeNameParam]),
30
+ })
31
+ .innerJoin(`PaNodel as s${cur}`, {
32
+ [`l${cur}.id`]: `s${cur}.nodeId`,
33
+ [`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
34
+ })
35
+ .whereRaw(`l${cur}.publishDate <= current_timestamp`)
36
+ .where(`s${cur}.ready`, 1);
37
+ prev = cur;
38
+ }
39
+ for (const { candidateTypes, relativeId } of parsedRoute.regularRelativeIds) {
40
+ const cur = prev + 1;
41
+ const typeNames = candidateTypes.map((t) => t.typeName);
42
+ query = query
43
+ .innerJoin(`PaNode as l${cur}`, {
44
+ [`l${prev}.id`]: `l${cur}.parentId`,
45
+ [`l${cur}.relativeId`]: cn.raw("?", [relativeId]),
46
+ })
47
+ .innerJoin(`PaNodel as s${cur}`, {
48
+ [`l${cur}.id`]: `s${cur}.nodeId`,
49
+ [`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
50
+ })
51
+ .whereIn(`l${cur}.typeName`, typeNames)
52
+ .whereRaw(`l${cur}.publishDate <= current_timestamp`)
53
+ .where(`s${cur}.ready`, 1);
54
+ prev = cur;
55
+ }
56
+ query = query.select([
57
+ `l${prev}.typeName as typeName`,
58
+ `l${prev}.id as nodeId`,
59
+ `l${prev}.relativeId as relativeId`,
60
+ `l${prev}.publishDate as publishDate`,
61
+ ]);
62
+ if (!parsedRoute.redirectTo) {
63
+ query = query
64
+ .select([
65
+ "d.title as title",
66
+ "d.slug as slug",
67
+ "d.metaDescription as metaDescription",
68
+ "d.metaKeywords as metaKeywords",
69
+ ])
70
+ .innerJoin("PaDocument as d", {
71
+ [`l${prev}.id`]: "d.nodeId",
72
+ [`s${prev}.language`]: "d.language",
73
+ });
74
+ }
75
+ return query;
76
+ }
77
+ //# sourceMappingURL=raw-document-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-document-payload.js","sourceRoot":"","sources":["../../../../src/modules/public-site/public-route/raw-document-payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Request, Response } from "express";
2
+ export declare function indexController(req: Request, res: Response): Promise<void>;
@@ -0,0 +1,27 @@
1
+ import { createTracker } from "@paroicms/internal-server-lib";
2
+ import { serveTextFromCacheOr } from "../../common/serve-text-or.js";
3
+ import { makeCacheKey } from "../../common/text-cache.js";
4
+ import { trackerReportToMessage } from "../../common/tracker-report.js";
5
+ import { getReqSiteContext } from "../../express/http-helpers.js";
6
+ import { renderLiquidTemplate } from "../../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
7
+ import { createRenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
8
+ import { makeDetachedPublicPayload } from "../../public-payload/make-public-payload.js";
9
+ export async function indexController(req, res) {
10
+ const siteContext = getReqSiteContext(req);
11
+ const tracker = createTracker();
12
+ await serveIndexPage(siteContext, req, res, tracker);
13
+ siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
14
+ }
15
+ async function serveIndexPage(siteContext, req, res, tracker) {
16
+ const cacheKey = makeCacheKey(siteContext.logger, { kind: "html", url: req.url });
17
+ const serveOr = serveTextFromCacheOr(siteContext, tracker, { cacheKey, req, res });
18
+ if (await serveOr.serveFromCache())
19
+ return;
20
+ const renderingContext = await createRenderingContext(siteContext, { cacheKey, tracker });
21
+ const html = await renderLiquidTemplate(siteContext, renderingContext, {
22
+ templateNames: ["index", "default"],
23
+ payload: makeDetachedPublicPayload(siteContext, renderingContext),
24
+ });
25
+ await serveOr.putInCacheAndServe(html, renderingContext.getDependencyKeys());
26
+ }
27
+ //# sourceMappingURL=public-site.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-site.controller.js","sourceRoot":"","sources":["../../../src/modules/public-site/public-site.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAGxF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAY,EAAE,GAAa;IAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,WAAwB,EACxB,GAAY,EACZ,GAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnF,IAAI,MAAM,OAAO,CAAC,cAAc,EAAE;QAAE,OAAO;IAE3C,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,EAAE;QACrE,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QACnC,OAAO,EAAE,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC;KAClE,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ export declare function publicSiteMiddleware(req: Request, res: Response, next: NextFunction): Promise<void>;
@@ -0,0 +1,47 @@
1
+ import { createTracker } from "@paroicms/internal-server-lib";
2
+ import { render404Html, serveTextFromCacheOr } from "../../common/serve-text-or.js";
3
+ import { makeCacheKey } from "../../common/text-cache.js";
4
+ import { trackerReportToMessage } from "../../common/tracker-report.js";
5
+ import { getReqSiteContext, serve301Redirect } from "../../express/http-helpers.js";
6
+ import { parsePublicRoute } from "./public-route/public-route-parser.js";
7
+ import { generateDocumentHtml } from "./serve-document/serve-document.js";
8
+ export async function publicSiteMiddleware(req, res, next) {
9
+ const siteContext = getReqSiteContext(req);
10
+ const parsedRoute = parsePublicRoute(siteContext, req.url);
11
+ if (!parsedRoute) {
12
+ next();
13
+ return;
14
+ }
15
+ const tracker = createTracker();
16
+ await serveDocument(siteContext, req, res, parsedRoute, tracker);
17
+ siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
18
+ }
19
+ async function serveDocument(siteContext, req, res, parsedRoute, tracker) {
20
+ const cacheKey = makeCacheKey(siteContext.logger, { kind: "html", url: req.url });
21
+ const serveOr = serveTextFromCacheOr(siteContext, tracker, { cacheKey, req, res });
22
+ if (await serveOr.serveFromCache())
23
+ return;
24
+ const redirectCacheKey = makeCacheKey(siteContext.logger, {
25
+ kind: "redirect",
26
+ urlKey: parsedRoute.urlCacheKey,
27
+ });
28
+ const cacheRedirect = await siteContext.textCache.getCacheValue(redirectCacheKey, tracker);
29
+ if (cacheRedirect && cacheRedirect.value !== req.url) {
30
+ return serve301Redirect(res, cacheRedirect.value);
31
+ }
32
+ const generated = await generateDocumentHtml(siteContext, { req, parsedRoute, cacheKey }, tracker);
33
+ if (generated.status === 301) {
34
+ await siteContext.textCache.setCacheValue({
35
+ cacheKey: redirectCacheKey,
36
+ dependencyKeys: generated.dependencyKeys,
37
+ value: generated.url,
38
+ }, tracker);
39
+ return serve301Redirect(res, generated.url);
40
+ }
41
+ if (generated.status === 404) {
42
+ await render404Html(siteContext, res, { language: parsedRoute.language });
43
+ return;
44
+ }
45
+ await serveOr.putInCacheAndServe(generated.html, generated.dependencyKeys);
46
+ }
47
+ //# sourceMappingURL=public-site.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-site.middleware.js","sourceRoot":"","sources":["../../../src/modules/public-site/public-site.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Tracker } from "@paroicms/internal-server-lib";
2
+ import type { Request } from "express";
3
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
4
+ import { type ParsedPublicRoute } from "../public-route/public-route-parser.js";
5
+ export type GeneratedDocumentHtml = {
6
+ status: 200;
7
+ html: string;
8
+ dependencyKeys: string[];
9
+ } | {
10
+ status: 404;
11
+ } | {
12
+ status: 301;
13
+ url: string;
14
+ dependencyKeys: string[];
15
+ };
16
+ export declare function generateDocumentHtml(siteContext: SiteContext, options: {
17
+ req: Request;
18
+ parsedRoute: ParsedPublicRoute;
19
+ cacheKey: string;
20
+ }, tracker: Tracker): Promise<GeneratedDocumentHtml>;
@@ -0,0 +1,50 @@
1
+ import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
2
+ import { makeCacheDependencyKey } from "../../../common/text-cache.js";
3
+ import { renderLiquidTemplate } from "../../../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
4
+ import { createRenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
5
+ import { makeRegularPublicPayload } from "../../../public-payload/make-public-payload.js";
6
+ import { getUrlOfDocument } from "../public-route/make-url.js";
7
+ import { findParentParsedRouteWithDocument, } from "../public-route/public-route-parser.js";
8
+ import { fetchRawDocPayload } from "../public-route/raw-document-payload.js";
9
+ export async function generateDocumentHtml(siteContext, options, tracker) {
10
+ const { req, parsedRoute, cacheKey } = options;
11
+ if (parsedRoute.redirectTo === "parent") {
12
+ const parentRoute = findParentParsedRouteWithDocument(parsedRoute);
13
+ const docValues = parentRoute ? await fetchRawDocPayload(siteContext, parentRoute) : undefined;
14
+ if (docValues && parentRoute) {
15
+ const { url, dependencyKeys } = await getUrlOfDocument(siteContext, tracker, {
16
+ language: parentRoute.language,
17
+ nodeId: docValues.nodeId,
18
+ }, { returnUrlDependencyKeys: true });
19
+ return { status: 301, url, dependencyKeys };
20
+ }
21
+ return { status: 404 };
22
+ }
23
+ const docValues = await fetchRawDocPayload(siteContext, parsedRoute);
24
+ if (!docValues)
25
+ return { status: 404 };
26
+ const { url: docUrl, dependencyKeys: urlDependencyKeys } = await getUrlOfDocument(siteContext, tracker, {
27
+ language: parsedRoute.language,
28
+ nodeId: docValues.nodeId,
29
+ }, { returnUrlDependencyKeys: true });
30
+ const completeDocUrl = `${docUrl}${parsedRoute.urlParameters ?? ""}`;
31
+ if (completeDocUrl !== req.url) {
32
+ return { status: 301, url: completeDocUrl, dependencyKeys: urlDependencyKeys };
33
+ }
34
+ const documentType = getDocumentTypeByName(siteContext.siteSchema, docValues.type);
35
+ const renderingContext = await createRenderingContext(siteContext, {
36
+ cacheKey,
37
+ tracker,
38
+ dependencyKey: makeCacheDependencyKey({ documentId: docValues }),
39
+ });
40
+ const html = await renderLiquidTemplate(siteContext, renderingContext, {
41
+ templateNames: [...documentType.templateNames, "default"],
42
+ payload: makeRegularPublicPayload(siteContext, renderingContext, docValues, docUrl),
43
+ });
44
+ return {
45
+ status: 200,
46
+ html,
47
+ dependencyKeys: renderingContext.getDependencyKeys(),
48
+ };
49
+ }
50
+ //# sourceMappingURL=serve-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-document.js","sourceRoot":"","sources":["../../../../src/modules/public-site/serve-document/serve-document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class PartialsParamsInput {
2
+ templateName: string;
3
+ documentId: string;
4
+ offset: string;
5
+ limit: string;
6
+ }
@@ -0,0 +1,41 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { IsDefined, IsNotEmpty, IsNumberString, IsString } from "class-validator";
11
+ export class PartialsParamsInput {
12
+ templateName;
13
+ documentId;
14
+ offset;
15
+ limit;
16
+ }
17
+ __decorate([
18
+ IsString(),
19
+ IsNotEmpty(),
20
+ IsDefined(),
21
+ __metadata("design:type", String)
22
+ ], PartialsParamsInput.prototype, "templateName", void 0);
23
+ __decorate([
24
+ IsString(),
25
+ IsNotEmpty(),
26
+ IsDefined(),
27
+ __metadata("design:type", String)
28
+ ], PartialsParamsInput.prototype, "documentId", void 0);
29
+ __decorate([
30
+ IsNumberString(),
31
+ IsNotEmpty(),
32
+ IsDefined(),
33
+ __metadata("design:type", String)
34
+ ], PartialsParamsInput.prototype, "offset", void 0);
35
+ __decorate([
36
+ IsNumberString(),
37
+ IsNotEmpty(),
38
+ IsDefined(),
39
+ __metadata("design:type", String)
40
+ ], PartialsParamsInput.prototype, "limit", void 0);
41
+ //# sourceMappingURL=partials-params.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partials-params.dto.js","sourceRoot":"","sources":["../../../src/public-api/partials/partials-params.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,OAAO,mBAAmB;IAI9B,YAAY,CAAU;IAKtB,UAAU,CAAU;IAKpB,MAAM,CAAU;IAKhB,KAAK,CAAU;CAChB;AAhBC;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;yDACU;AAKtB;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;uDACQ;AAKpB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;mDACI;AAKhB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;kDACG"}
@@ -0,0 +1,3 @@
1
+ import type { CheckPasswordResetPayload, SetAccountPasswordPayload } from "./password-reset.service.js";
2
+ export declare function formatSetAccountPasswordDto(data: unknown): SetAccountPasswordPayload;
3
+ export declare function formatCheckPasswordResetDto(data: unknown): CheckPasswordResetPayload;
@@ -0,0 +1,29 @@
1
+ import { objVal, strValOrUndef } from "@paroi/data-formatters-lib";
2
+ import { ApiError } from "../../common/api-error-handler.js";
3
+ export function formatSetAccountPasswordDto(data) {
4
+ const val = objVal(data);
5
+ const accountId = strValOrUndef(val.accountId);
6
+ const password = strValOrUndef(val.password);
7
+ const resetToken = strValOrUndef(val.resetToken);
8
+ if (!accountId || !password || !resetToken) {
9
+ throw new ApiError("Missing required parameters", { status: 400 });
10
+ }
11
+ return {
12
+ accountId,
13
+ password,
14
+ resetToken,
15
+ };
16
+ }
17
+ export function formatCheckPasswordResetDto(data) {
18
+ const val = objVal(data);
19
+ const accountId = strValOrUndef(val.accountId);
20
+ const resetToken = strValOrUndef(val.resetToken);
21
+ if (!accountId || !resetToken) {
22
+ throw new ApiError("Missing required parameters", { status: 400 });
23
+ }
24
+ return {
25
+ accountId,
26
+ resetToken,
27
+ };
28
+ }
29
+ //# sourceMappingURL=password-reset.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-reset.dto.js","sourceRoot":"","sources":["../../../src/public-api/password-reset/password-reset.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAM7D,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,SAAS;QACT,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class SearchTextOptionsInput {
2
+ language: string;
3
+ q: string;
4
+ limit: number;
5
+ start: number;
6
+ tpl: string;
7
+ }
@@ -0,0 +1,46 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { IsDefined, IsNotEmpty, IsNumberString, IsString } from "class-validator";
11
+ export class SearchTextOptionsInput {
12
+ language;
13
+ q;
14
+ limit;
15
+ start;
16
+ tpl;
17
+ }
18
+ __decorate([
19
+ IsNotEmpty(),
20
+ IsString(),
21
+ IsDefined(),
22
+ __metadata("design:type", String)
23
+ ], SearchTextOptionsInput.prototype, "language", void 0);
24
+ __decorate([
25
+ IsNotEmpty(),
26
+ IsString(),
27
+ IsDefined(),
28
+ __metadata("design:type", String)
29
+ ], SearchTextOptionsInput.prototype, "q", void 0);
30
+ __decorate([
31
+ IsNumberString(),
32
+ IsDefined(),
33
+ __metadata("design:type", Number)
34
+ ], SearchTextOptionsInput.prototype, "limit", void 0);
35
+ __decorate([
36
+ IsNumberString(),
37
+ IsDefined(),
38
+ __metadata("design:type", Number)
39
+ ], SearchTextOptionsInput.prototype, "start", void 0);
40
+ __decorate([
41
+ IsNotEmpty(),
42
+ IsString(),
43
+ IsDefined(),
44
+ __metadata("design:type", String)
45
+ ], SearchTextOptionsInput.prototype, "tpl", void 0);
46
+ //# sourceMappingURL=search-text.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-text.dto.js","sourceRoot":"","sources":["../../../src/public-api/search-text/search-text.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAIjC,QAAQ,CAAU;IAKlB,CAAC,CAAU;IAIX,KAAK,CAAU;IAIf,KAAK,CAAU;IAKf,GAAG,CAAU;CACd;AAnBC;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;wDACM;AAKlB;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;iDACD;AAIX;IAFC,cAAc,EAAE;IAChB,SAAS,EAAE;;qDACG;AAIf;IAFC,cAAc,EAAE;IAChB,SAAS,EAAE;;qDACG;AAKf;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;mDACC"}
@@ -1,3 +1,4 @@
1
+ import { nbVal } from "@paroi/data-formatters-lib";
1
2
  import { dbAnyLanguage } from "../../context.js";
2
3
  import { formatDocValues, querySelectDocValues } from "../../public-payload/doc-values.queries.js";
3
4
  export async function searchText(siteContext, options) {
@@ -27,11 +28,9 @@ export async function searchText(siteContext, options) {
27
28
  language,
28
29
  words,
29
30
  onlyPublished,
30
- })
31
- .distinct()
32
- .count("* as count");
31
+ }).countDistinct("l.id as cnt");
33
32
  const countResult = await countQuery.first();
34
- total = countResult ? countResult.count : 0;
33
+ total = countResult ? nbVal(countResult.cnt) : 0;
35
34
  }
36
35
  return {
37
36
  rows: rows.map((row) => formatDocValues(row, { language })),