@paroicms/server 1.84.1 → 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 (420) 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-payload/taxonomies.queries.d.ts +14 -0
  406. package/dist/public-payload/taxonomies.queries.js +42 -0
  407. package/dist/public-payload/taxonomies.queries.js.map +1 -0
  408. package/dist/public-site/feed/feed-generator.js +2 -2
  409. package/dist/public-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
  410. package/dist/public-site/liquidjs-filters/open-graph-filter.d.ts +1 -1
  411. package/dist/public-site/public-site.controller.d.ts +2 -0
  412. package/dist/public-site/public-site.controller.js +27 -0
  413. package/dist/public-site/public-site.controller.js.map +1 -0
  414. package/dist/site-context/create-site-context.js +2 -2
  415. package/dist/site-context/create-site-context.js.map +1 -1
  416. package/dist/start.js +1 -1
  417. package/dist/start.js.map +1 -1
  418. package/dist/tsconfig.tsbuildinfo +1 -1
  419. package/package.json +3 -3
  420. package/schema.graphql +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-docs-tag.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-tags/get-docs-tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type ParsedNodelId } from "@paroicms/public-anywhere-lib";
2
+ import { type Context, Hash, type Liquid, type TagToken, type TopLevelToken } from "liquidjs";
3
+ import type { DropInst } from "../../../liquidjs-tools/liquidjs-drop.js";
4
+ import { type RenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
5
+ import { type PaginatedResult } from "../../../public-payload/doc-values.queries.js";
6
+ import type { DocPayload } from "../../../public-payload/public-payload.types.js";
7
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
8
+ export declare function createGetPaginatedDocsLiquidJsTag(siteContext: SiteContext): {
9
+ new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
10
+ tokenizer: any;
11
+ "__#6@#varName": string;
12
+ "__#6@#args": Hash;
13
+ render(ctx: Context): Generator<unknown, void, any>;
14
+ name: string;
15
+ liquid: Liquid;
16
+ token: TagToken;
17
+ };
18
+ };
19
+ interface GetPaginatedDocsRawParameters {
20
+ parentId?: string;
21
+ orderBy?: string;
22
+ fields?: string;
23
+ labeledById?: string;
24
+ pageIndex?: number;
25
+ pageSize: number;
26
+ }
27
+ export declare function loadPaginatedDocs(siteContext: SiteContext, renderingContext: RenderingContext, parentId: ParsedNodelId, options: GetPaginatedDocsRawParameters): Promise<PaginatedResult<DropInst<DocPayload>>>;
28
+ export {};
@@ -0,0 +1,80 @@
1
+ import { isDef, nbVal, nbValOrUndef, strValOrUndef } from "@paroi/data-formatters-lib";
2
+ import { parseSorting } from "@paroicms/connector";
3
+ import { parseNodelId } from "@paroicms/public-anywhere-lib";
4
+ import { Hash, Tag } from "liquidjs";
5
+ import { makeCacheDependencyKey } from "../../../common/text-cache.js";
6
+ import { toNodeId } from "../../../helpers/utils-helper.js";
7
+ import { makeTagCacheKeyForRendering, } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
8
+ import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
9
+ import { createDocPayloadDrop } from "../../../public-payload/create-doc-drop.js";
10
+ import { getPaginatedListOfDocValues, } from "../../../public-payload/doc-values.queries.js";
11
+ const availableParameterNames = new Set([
12
+ "parentId",
13
+ "orderBy",
14
+ "fields",
15
+ "labeledById",
16
+ "pageIndex",
17
+ "pageSize",
18
+ ]);
19
+ export function createGetPaginatedDocsLiquidJsTag(siteContext) {
20
+ return class GetPaginatedDocsTag extends Tag {
21
+ #varName;
22
+ #args;
23
+ constructor(token, remainTokens, liquid) {
24
+ super(token, remainTokens, liquid);
25
+ this.#varName = this.tokenizer.readIdentifier().content;
26
+ this.#args = new Hash(token.args);
27
+ }
28
+ *render(ctx) {
29
+ const options = validateParameters(yield this.#args.render(ctx), this.#varName, siteContext);
30
+ if (options.parentId === undefined)
31
+ return;
32
+ const parentId = parseNodelId(options.parentId);
33
+ const cacheKey = makeTagCacheKeyForRendering("getPaginatedDocs", { tagParameters: options });
34
+ const renderingContext = extractRenderingContext(ctx);
35
+ renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
36
+ const cacheVal = renderingContext.getValueFromCache(cacheKey);
37
+ if (cacheVal.found) {
38
+ ctx.bottom()[this.#varName] = cacheVal.val;
39
+ return;
40
+ }
41
+ const val = yield loadPaginatedDocs(siteContext, renderingContext, parentId, options);
42
+ renderingContext.setValueIntoCache(cacheKey, val);
43
+ ctx.bottom()[this.#varName] = val;
44
+ }
45
+ };
46
+ }
47
+ function validateParameters(values, varName, { logger }) {
48
+ for (const name of Object.keys(values)) {
49
+ if (!availableParameterNames.has(name) && name !== varName) {
50
+ logger.warn(`[getPaginatedDocs] unknown parameter "${name}"`);
51
+ }
52
+ }
53
+ return {
54
+ parentId: strValOrUndef(values.parentId, { varName: "parentId" }),
55
+ orderBy: strValOrUndef(values.orderBy, { varName: "orderBy" }),
56
+ fields: strValOrUndef(values.fields, { varName: "fields" }),
57
+ labeledById: strValOrUndef(values.labeledById, { varName: "labeledById" }),
58
+ pageIndex: nbValOrUndef(values.pageIndex, { varName: "pageIndex" }),
59
+ pageSize: nbVal(values.pageSize, { varName: "pageSize" }),
60
+ };
61
+ }
62
+ export async function loadPaginatedDocs(siteContext, renderingContext, parentId, options) {
63
+ const fieldNames = options.fields?.trim().split(/\s*,\s*/);
64
+ const labeledByTermId = isDef(options.labeledById) ? toNodeId(options.labeledById) : undefined;
65
+ const result = await getPaginatedListOfDocValues(siteContext, renderingContext.tracker, {
66
+ parentId,
67
+ documentKind: "regular",
68
+ orderBy: options.orderBy ? parseSorting(options.orderBy) : undefined,
69
+ labeledByTermId: labeledByTermId,
70
+ pageIndex: options.pageIndex ?? 0,
71
+ pageSize: options.pageSize,
72
+ });
73
+ return {
74
+ ...result,
75
+ items: result.items.map((item) => createDocPayloadDrop(siteContext, renderingContext, item, {
76
+ fieldNames: fieldNames && fieldNames.length > 0 ? fieldNames : undefined,
77
+ })),
78
+ };
79
+ }
80
+ //# sourceMappingURL=get-paginated-docs-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-paginated-docs-tag.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-tags/get-paginated-docs-tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type Context, Hash, type Liquid, type TagToken, type TopLevelToken } from "liquidjs";
2
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
3
+ export declare function createUseImageLiquidJsTag(siteContext: SiteContext): {
4
+ new (tagToken: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
5
+ tokenizer: any;
6
+ "__#8@#hash": Hash;
7
+ "__#8@#varName": string;
8
+ render(ctx: Context): Generator<unknown, void, unknown>;
9
+ name: string;
10
+ liquid: Liquid;
11
+ token: TagToken;
12
+ };
13
+ };
@@ -0,0 +1,73 @@
1
+ import { boolValOrUndef, strVal, strValOrUndef } from "@paroi/data-formatters-lib";
2
+ import { applyRatioToImageSize, isImageSize } from "@paroicms/public-server-lib";
3
+ import { Hash, Tag } from "liquidjs";
4
+ import { makeTagCacheKeyForRendering } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
5
+ import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
6
+ import { makeImageAvailable, } from "../../../public-payload/make-image-available.js";
7
+ const availableParameterNames = new Set(["uid", "handle", "size", "autoCrop", "noPixelRatio"]);
8
+ export function createUseImageLiquidJsTag(siteContext) {
9
+ return class UseImageTag extends Tag {
10
+ #hash;
11
+ #varName;
12
+ constructor(tagToken, remainTokens, liquid) {
13
+ super(tagToken, remainTokens, liquid);
14
+ this.#varName = this.tokenizer.readIdentifier().content;
15
+ this.#hash = new Hash(tagToken.args);
16
+ }
17
+ *render(ctx) {
18
+ const options = validateParameters(yield this.#hash.render(ctx), this.#varName, siteContext);
19
+ if (!options)
20
+ return;
21
+ const cacheKey = makeTagCacheKeyForRendering("useImage", { tagParameters: options });
22
+ const renderingContext = extractRenderingContext(ctx);
23
+ const cacheVal = renderingContext.getValueFromCache(cacheKey);
24
+ if (cacheVal.found) {
25
+ ctx.bottom()[this.#varName] = cacheVal.val;
26
+ return;
27
+ }
28
+ const realSize = options.noPixelRatio
29
+ ? options.size
30
+ : applyRatioToImageSize(options.size, siteContext.themeConf.pixelRatio);
31
+ const image = (yield makeImageAvailable(siteContext, renderingContext, {
32
+ ...options,
33
+ size: realSize,
34
+ }));
35
+ if (!image)
36
+ throw new Error("useImage: missing image");
37
+ const imageSize = options.noPixelRatio
38
+ ? {
39
+ width: image.width,
40
+ height: image.height,
41
+ }
42
+ : {
43
+ width: Math.round(image.width / siteContext.themeConf.pixelRatio),
44
+ height: Math.round(image.height / siteContext.themeConf.pixelRatio),
45
+ };
46
+ const val = {
47
+ ...image,
48
+ ...imageSize,
49
+ };
50
+ renderingContext.setValueIntoCache(cacheKey, val);
51
+ ctx.bottom()[this.#varName] = val;
52
+ }
53
+ };
54
+ }
55
+ function validateParameters(values, varName, { logger }) {
56
+ for (const name of Object.keys(values)) {
57
+ if (!availableParameterNames.has(name) && name !== varName) {
58
+ logger.warn(`[useImage] unknown parameter "${name}"`);
59
+ }
60
+ }
61
+ const size = strVal(values.size);
62
+ if (!isImageSize(size))
63
+ throw new Error(`useImage param size is not valid, size:${size}`);
64
+ const uid = strValOrUndef(values.uid);
65
+ const handle = strValOrUndef(values.handle);
66
+ const autoCrop = boolValOrUndef(values.autoCrop);
67
+ const noPixelRatio = boolValOrUndef(values.noPixelRatio);
68
+ if (uid)
69
+ return { imageSel: { uid }, size, autoCrop, noPixelRatio };
70
+ if (handle)
71
+ return { imageSel: { handle }, size, autoCrop, noPixelRatio };
72
+ }
73
+ //# sourceMappingURL=use-image-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-image-tag.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-tags/use-image-tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { VariantName } from "@paroicms/public-anywhere-lib";
2
+ export declare function parseNameAndExt(nameAndExt: string): {
3
+ slug: string;
4
+ variantName: VariantName;
5
+ } | undefined;
@@ -0,0 +1,15 @@
1
+ import { isVariantName } from "@paroicms/public-server-lib";
2
+ export function parseNameAndExt(nameAndExt) {
3
+ const extIndex = nameAndExt.lastIndexOf(".");
4
+ if (extIndex === -1)
5
+ return;
6
+ const name = nameAndExt.slice(0, extIndex);
7
+ const match = name.match(/^(.+)-([0-9]+x[0-9]+)$/);
8
+ if (!match)
9
+ return;
10
+ const [, slug, variantName] = match;
11
+ if (!isVariantName(variantName))
12
+ return;
13
+ return { slug, variantName };
14
+ }
15
+ //# sourceMappingURL=_media-serve-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_media-serve-helpers.js","sourceRoot":"","sources":["../../../../src/modules/public-site/media-serve/_media-serve-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,UAAU,eAAe,CAC7B,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;IACpC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QAAE,OAAO;IACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Request, Response } from "express";
2
+ export declare function serveFilecontroller(req: Request, res: Response): Promise<void>;
3
+ export declare function serveVersionedImageController(req: Request, res: Response): Promise<void>;
4
+ export declare function serveUnversionedImageController(req: Request, res: Response): Promise<void>;
@@ -0,0 +1,173 @@
1
+ import { generateImageSlug, isVariantName, makeUrlOfImageVariant, makeUrlOfMediaFile, } from "@paroicms/public-server-lib";
2
+ import { ApiError } from "../../../common/api-error-handler.js";
3
+ import { HTTP_MAX_AGE } from "../../../express/http-constants.js";
4
+ import { getHttpRequestParameter, getReqSiteContext, serve301Redirect, serve304NotModified, } from "../../../express/http-helpers.js";
5
+ import { parseNameAndExt } from "./_media-serve-helpers.js";
6
+ export async function serveFilecontroller(req, res) {
7
+ const siteContext = getReqSiteContext(req);
8
+ const mediaUid = getHttpRequestParameter(req, "mediaUid");
9
+ const nameAndExt = getHttpRequestParameter(req, "nameAndExt");
10
+ const cacheControl = "max-age=0";
11
+ const fts = await getFileToServe(siteContext, {
12
+ mediaUid,
13
+ ifNoneMatch: req.headers["if-none-match"],
14
+ });
15
+ if (fts.status === 304) {
16
+ return serve304NotModified(res, {
17
+ cacheControl,
18
+ etag: fts.resourceVersion,
19
+ });
20
+ }
21
+ const { file } = fts;
22
+ const { url, fileName } = makeUrlOfMediaFile(siteContext, { mediaUid, mediaType: file.mediaType, originalName: file.originalName }, { returnObj: true });
23
+ if (fileName !== nameAndExt)
24
+ return serve301Redirect(res, url);
25
+ res.append("Cache-Control", cacheControl);
26
+ res.append("Etag", file.resourceVersion);
27
+ res.append("Content-Type", file.mediaType);
28
+ res.append("Content-Length", file.binaryFile.byteLength.toString());
29
+ res.send(file.binaryFile);
30
+ }
31
+ export async function serveVersionedImageController(req, res) {
32
+ const siteContext = getReqSiteContext(req);
33
+ const cacheControl = `public, max-age=${HTTP_MAX_AGE}, immutable`;
34
+ const mediaUid = getHttpRequestParameter(req, "mediaUid");
35
+ const resourceVersion = getHttpRequestParameter(req, "resourceVersion");
36
+ const nameAndExt = getHttpRequestParameter(req, "nameAndExt");
37
+ const parsed = parseNameAndExt(nameAndExt);
38
+ if (!parsed)
39
+ throw new ApiError("invalid name and ext", { status: 404 });
40
+ const { variantName } = parsed;
41
+ const fts = await getVariantImageToServe(siteContext, {
42
+ mediaUid,
43
+ variantName,
44
+ canCreateVariant: false,
45
+ ifNoneMatch: req.headers["if-none-match"],
46
+ });
47
+ if (fts.status === 304) {
48
+ return serve304NotModified(res, {
49
+ cacheControl,
50
+ etag: fts.resourceVersion,
51
+ });
52
+ }
53
+ const { file } = fts;
54
+ const newUrl = makeUrlOfImageVariant(siteContext, {
55
+ mediaUid,
56
+ mediaType: file.mediaType,
57
+ variantName,
58
+ resourceVersion: file.resourceVersion,
59
+ slug: file.slug,
60
+ }, { returnObj: true });
61
+ if (file.resourceVersion !== resourceVersion || newUrl.fileName !== nameAndExt) {
62
+ return serve301Redirect(res, newUrl.url);
63
+ }
64
+ res.append("Cache-Control", cacheControl);
65
+ res.append("Etag", file.resourceVersion);
66
+ res.append("Content-Type", file.mediaType);
67
+ res.append("Content-Length", file.binaryFile.byteLength.toString());
68
+ res.send(file.binaryFile);
69
+ }
70
+ export async function serveUnversionedImageController(req, res) {
71
+ const siteContext = getReqSiteContext(req);
72
+ const cacheControl = "max-age=0";
73
+ const mediaUid = getHttpRequestParameter(req, "mediaUid");
74
+ const nameAndExt = getHttpRequestParameter(req, "nameAndExt");
75
+ const parsed = parseNameAndExt(nameAndExt);
76
+ if (!parsed) {
77
+ throw new ApiError("invalid name and ext", {
78
+ status: 404,
79
+ });
80
+ }
81
+ const { variantName } = parsed;
82
+ if (!isVariantName(variantName))
83
+ throw new ApiError("invalid variant name", { status: 404 });
84
+ const fts = await getVariantImageToServe(siteContext, {
85
+ mediaUid,
86
+ variantName,
87
+ canCreateVariant: true,
88
+ ifNoneMatch: req.headers["if-none-match"],
89
+ });
90
+ if (fts.status === 304) {
91
+ return serve304NotModified(res, {
92
+ cacheControl,
93
+ etag: fts.resourceVersion,
94
+ });
95
+ }
96
+ const { file } = fts;
97
+ const newUrl = makeUrlOfImageVariant(siteContext, {
98
+ mediaUid,
99
+ mediaType: file.mediaType,
100
+ variantName,
101
+ resourceVersion: undefined,
102
+ slug: file.slug,
103
+ }, { returnObj: true });
104
+ if (newUrl.fileName !== nameAndExt) {
105
+ return serve301Redirect(res, newUrl.url);
106
+ }
107
+ res.append("Cache-Control", cacheControl);
108
+ res.append("Etag", file.resourceVersion);
109
+ res.append("Content-Type", file.mediaType);
110
+ res.append("Content-Length", file.binaryFile.byteLength.toString());
111
+ res.send(file.binaryFile);
112
+ }
113
+ async function getVariantImageToServe(siteContext, options) {
114
+ const { mediaUid, variantName, canCreateVariant, ifNoneMatch } = options;
115
+ let file = await siteContext.imageCache.getImageVariantWithBinary({
116
+ imageUid: mediaUid,
117
+ variantName,
118
+ });
119
+ if (file) {
120
+ if (ifNoneMatch === file.resourceVersion) {
121
+ return {
122
+ status: 304,
123
+ resourceVersion: file.resourceVersion,
124
+ };
125
+ }
126
+ }
127
+ else {
128
+ if (canCreateVariant) {
129
+ file = await tryToCreateImageVariant(siteContext, { mediaUid, variantName });
130
+ }
131
+ if (!file)
132
+ throw new ApiError("image not found", { status: 404 });
133
+ }
134
+ return {
135
+ status: 200,
136
+ file,
137
+ };
138
+ }
139
+ async function getFileToServe(siteContext, options) {
140
+ const { mediaUid, ifNoneMatch } = options;
141
+ const media = await siteContext.mediaStorage.getMediaWithBinary(mediaUid);
142
+ if (!media)
143
+ throw new ApiError(`media '${mediaUid}' not found`, { status: 404 });
144
+ if (media.resourceVersion === ifNoneMatch) {
145
+ return {
146
+ status: 304,
147
+ resourceVersion: media.resourceVersion,
148
+ };
149
+ }
150
+ return {
151
+ status: 200,
152
+ file: media,
153
+ };
154
+ }
155
+ async function tryToCreateImageVariant(siteContext, options) {
156
+ const { mediaUid, variantName } = options;
157
+ const media = await siteContext.mediaStorage.getMedia({ uid: mediaUid });
158
+ if (!media || media.kind !== "image") {
159
+ throw new ApiError(`image '${mediaUid}' not found`, { status: 404 });
160
+ }
161
+ return await siteContext.imageCache.conditionallyCreateImageVariantWithBinary({
162
+ imageUid: media.uid,
163
+ mediaType: media.mediaType,
164
+ width: media.width,
165
+ height: media.height,
166
+ }, {
167
+ authorisedImageSizes: siteContext.themeConf.fTextImages.map((val) => val.realSize),
168
+ variantName,
169
+ slug: generateImageSlug(media.originalName),
170
+ dependsOnUsedKey: "themeConf.fTextImages",
171
+ });
172
+ }
173
+ //# sourceMappingURL=media-serve.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-serve.controller.js","sourceRoot":"","sources":["../../../../src/modules/public-site/media-serve/media-serve.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Tracker } from "@paroicms/internal-server-lib";
2
+ import type { ParsedNodelId } from "@paroicms/public-anywhere-lib";
3
+ import type { SiteContext } from "../../../site-context/site-context.types.js";
4
+ export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId: ParsedNodelId): Promise<string>;
5
+ export declare function getUrlOfDocument(siteContext: SiteContext, tracker: Tracker, documentId: ParsedNodelId, options: {
6
+ returnUrlDependencyKeys: true;
7
+ }): Promise<{
8
+ url: string;
9
+ dependencyKeys: string[];
10
+ }>;
11
+ export declare function getHomeUrl(siteContext: Pick<SiteContext, "siteSchema">, language: string): string;
@@ -0,0 +1,160 @@
1
+ import { dateVal, strVal, strValOrUndef } from "@paroi/data-formatters-lib";
2
+ import { mainDbSchemaName } from "@paroicms/connector";
3
+ import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
4
+ import { makeCacheDependencyKey, makeCacheKey } from "../../../common/text-cache.js";
5
+ import { getNodeDepth } from "../../core/node/node.queries.js";
6
+ export async function getUrlOfDocument(siteContext, tracker, documentId, options = {}) {
7
+ const cacheKey = makeCacheKey(siteContext.logger, { kind: "url", documentId });
8
+ const cacheValue = await siteContext.textCache.getCacheValue(cacheKey, tracker);
9
+ if (cacheValue) {
10
+ if (!options.returnUrlDependencyKeys)
11
+ return cacheValue.value;
12
+ return {
13
+ url: cacheValue.value,
14
+ dependencyKeys: await siteContext.textCache.getDependencyKeys(cacheKey, tracker),
15
+ };
16
+ }
17
+ let dependencyKeys;
18
+ let url;
19
+ const { nodeId, language } = documentId;
20
+ const depth = await getNodeDepth(siteContext, tracker, nodeId);
21
+ if (depth === 0) {
22
+ url = getHomeUrl(siteContext, language);
23
+ dependencyKeys = [];
24
+ }
25
+ else {
26
+ const query = buildUrlQuery(siteContext, documentId, depth);
27
+ const rows = await query;
28
+ tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
29
+ if (!rows || rows.length === 0) {
30
+ throw new Error(`invalid url data for document "${language}:${nodeId}"`);
31
+ }
32
+ const urlData = formatUrlData(rows[0], depth);
33
+ url = makeDocumentUrl(siteContext, urlData, language);
34
+ dependencyKeys = makeUrlDependencyKeys(urlData, language);
35
+ }
36
+ await siteContext.textCache.setCacheValue({
37
+ cacheKey,
38
+ value: url,
39
+ dependencyKeys,
40
+ }, tracker);
41
+ return options.returnUrlDependencyKeys ? { url, dependencyKeys } : url;
42
+ }
43
+ function buildUrlQuery(siteContext, nodelId, depth) {
44
+ const { cn } = siteContext;
45
+ const { nodeId, language } = nodelId;
46
+ let cur = depth;
47
+ let query = cn(`PaNode as l${cur}`)
48
+ .select([
49
+ `l${cur}.id as id${cur}`,
50
+ `l${cur}.typeName as typeName${cur}`,
51
+ `l${cur}.relativeId as relativeId${cur}`,
52
+ `l${cur}.publishDate as publishDate${cur}`,
53
+ `d${cur}.slug as slug${cur}`,
54
+ ])
55
+ .innerJoin(`PaNodel as s${cur}`, {
56
+ [`s${cur}.nodeId`]: `l${cur}.id`,
57
+ [`s${cur}.language`]: cn.raw("?", [language]),
58
+ })
59
+ .leftJoin(`PaDocument as d${cur}`, {
60
+ [`d${cur}.nodeId`]: `s${cur}.nodeId`,
61
+ [`d${cur}.language`]: `s${cur}.language`,
62
+ })
63
+ .where(`l${cur}.id`, nodeId)
64
+ .whereNotNull(`l${cur}.publishDate`);
65
+ let prev = cur;
66
+ while (prev > 1) {
67
+ cur = prev - 1;
68
+ query = query.select([
69
+ `l${prev}.id as id${prev}`,
70
+ `l${prev}.typeName as typeName${prev}`,
71
+ `l${prev}.relativeId as relativeId${prev}`,
72
+ `l${prev}.publishDate as publishDate${prev}`,
73
+ `d${prev}.slug as slug${prev}`,
74
+ `l${cur}.id as id${cur}`,
75
+ `l${cur}.typeName as typeName${cur}`,
76
+ `l${cur}.relativeId as relativeId${cur}`,
77
+ `l${cur}.publishDate as publishDate${cur}`,
78
+ `d${cur}.slug as slug${cur}`,
79
+ ]);
80
+ query = query
81
+ .innerJoin(`PaNode as l${cur}`, `l${cur}.id`, `l${prev}.parentId`)
82
+ .innerJoin(`PaNodel as s${cur}`, {
83
+ [`s${cur}.nodeId`]: `l${cur}.id`,
84
+ [`s${cur}.language`]: cn.raw("?", [language]),
85
+ })
86
+ .leftJoin(`PaDocument as d${cur}`, {
87
+ [`d${cur}.nodeId`]: `s${cur}.nodeId`,
88
+ [`d${cur}.language`]: `s${cur}.language`,
89
+ })
90
+ .whereNotNull(`l${cur}.publishDate`);
91
+ prev = cur;
92
+ }
93
+ query = query.where(`l${prev}.parentId`, siteContext.siteIds.homeIds.nodeId);
94
+ return query;
95
+ }
96
+ function formatUrlData(row, depth) {
97
+ const parts = new Map();
98
+ for (let cur = 1; cur <= depth; ++cur) {
99
+ parts.set(cur, {
100
+ nodeId: strVal(row[`id${cur}`]),
101
+ typeName: strVal(row[`typeName${cur}`]),
102
+ relativeId: strVal(row[`relativeId${cur}`]),
103
+ slug: strValOrUndef(row[`slug${cur}`]),
104
+ publishDate: dateVal(row[`publishDate${cur}`]),
105
+ });
106
+ }
107
+ return { depth, parts };
108
+ }
109
+ export function getHomeUrl(siteContext, language) {
110
+ return siteContext.siteSchema.isMultilingual ? `/${language}` : "/";
111
+ }
112
+ function makeDocumentUrl(siteContext, urlData, language) {
113
+ const { siteSchema } = siteContext;
114
+ const urlParts = siteSchema.isMultilingual ? [language] : [];
115
+ let parent = getDocumentTypeByName(siteSchema, "home");
116
+ for (let cur = 1; cur <= urlData.depth; ++cur) {
117
+ const part = urlData.parts.get(cur);
118
+ if (!part)
119
+ throw new Error(`missing url part for depth '${cur}'`);
120
+ if (!parent.regularChildren?.includes(part.typeName) &&
121
+ !parent.routingChildren?.includes(part.typeName)) {
122
+ throw new Error(`schema and database are not compatible, '${part.typeName}' should not be a child of '${parent.typeName}'`);
123
+ }
124
+ const docType = getDocumentTypeByName(siteSchema, part.typeName);
125
+ if (docType.documentKind === "routing") {
126
+ const part = docType.route?.[language];
127
+ if (!part) {
128
+ throw new Error(`missing urlPath['${language}'] in document type '${docType.typeName}'`);
129
+ }
130
+ urlParts.push(part);
131
+ }
132
+ else {
133
+ if (docType.route === ":relativeId-:slug") {
134
+ urlParts.push(makeRelativeIdSlugUrlPart(part));
135
+ }
136
+ else if (docType.route === ":yyyy/:mm/:dd/:relativeId-:slug") {
137
+ const { publishDate } = part;
138
+ urlParts.push(String(publishDate.getFullYear()).padStart(4, "0"));
139
+ urlParts.push(String(publishDate.getMonth() + 1).padStart(2, "0"));
140
+ urlParts.push(String(publishDate.getDate()).padStart(2, "0"));
141
+ urlParts.push(makeRelativeIdSlugUrlPart(part));
142
+ }
143
+ else {
144
+ throw new Error(`in '${docType.typeName}', unknown value for route: '${docType.route}'`);
145
+ }
146
+ }
147
+ parent = docType;
148
+ }
149
+ return `/${urlParts.join("/")}`;
150
+ }
151
+ function makeRelativeIdSlugUrlPart(part) {
152
+ return part.slug ? `${part.relativeId}-${part.slug}` : part.relativeId;
153
+ }
154
+ function makeUrlDependencyKeys(urlData, language) {
155
+ return Array.from(urlData.parts.values()).map((part) => makeCacheDependencyKey({
156
+ documentId: { language, nodeId: part.nodeId },
157
+ perimeter: "slug",
158
+ }));
159
+ }
160
+ //# sourceMappingURL=make-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-url.js","sourceRoot":"","sources":["../../../../src/modules/public-site/public-route/make-url.ts"],"names":[],"mappings":"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"}