@taon-dev/cms 21.0.3 → 21.0.6

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 (423) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/cms-browser.mjs +2864 -433
  3. package/browser/fesm2022/cms-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/cms-browser.d.ts +439 -70
  6. package/browser-prod/fesm2022/cms-browser-prod.mjs +2866 -432
  7. package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/cms-browser-prod.d.ts +437 -70
  10. package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +23 -0
  11. package/html/app/cms-example/cms-example.component.html +2 -0
  12. package/html/app/session-example/session-example.component.html +2 -0
  13. package/html/assets/generated/pwa/html-pwa.html +53 -53
  14. package/html/lib/taon-cms-backoffice/taon-cms-backoffice.component.html +9 -4
  15. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +183 -0
  16. package/html/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +12 -0
  17. package/html/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +14 -0
  18. package/html/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +35 -0
  19. package/html/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +27 -0
  20. package/i18n/app.ts.en-US.i18n.data.d.ts +0 -8
  21. package/i18n/app.ts.pl-PL.i18n.data.d.ts +0 -8
  22. package/lib/app.data.d.ts +22 -0
  23. package/lib/app.data.js +23 -0
  24. package/lib/app.data.js.map +1 -0
  25. package/lib/build-info._auto-generated_.d.ts +1 -1
  26. package/lib/build-info._auto-generated_.js +1 -1
  27. package/lib/env/env.angular-node-app.d.ts +3 -0
  28. package/lib/env/env.angular-node-app.js +10 -2
  29. package/lib/env/env.angular-node-app.js.map +1 -1
  30. package/lib/env/env.docs-webapp.d.ts +3 -0
  31. package/lib/env/env.docs-webapp.js +10 -2
  32. package/lib/env/env.docs-webapp.js.map +1 -1
  33. package/lib/env/env.electron-app.d.ts +3 -0
  34. package/lib/env/env.electron-app.js +10 -2
  35. package/lib/env/env.electron-app.js.map +1 -1
  36. package/lib/env/env.mobile-app.d.ts +3 -0
  37. package/lib/env/env.mobile-app.js +10 -2
  38. package/lib/env/env.mobile-app.js.map +1 -1
  39. package/lib/env/env.npm-lib-and-cli-tool.d.ts +3 -0
  40. package/lib/env/env.npm-lib-and-cli-tool.js +10 -2
  41. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  42. package/lib/env/env.vscode-plugin.d.ts +3 -0
  43. package/lib/env/env.vscode-plugin.js +10 -2
  44. package/lib/env/env.vscode-plugin.js.map +1 -1
  45. package/lib/index._auto-generated_.d.ts +18 -1
  46. package/lib/index._auto-generated_.js +17 -0
  47. package/lib/index._auto-generated_.js.map +1 -1
  48. package/lib/index.d.ts +3 -1
  49. package/lib/index.js +2 -0
  50. package/lib/index.js.map +1 -1
  51. package/lib/migrations/1791132517216_initial.d.ts +7 -0
  52. package/lib/migrations/1791132517216_initial.js +74 -0
  53. package/lib/migrations/1791132517216_initial.js.map +1 -0
  54. package/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
  55. package/lib/migrations/migrations_index._auto-generated_.js +7 -0
  56. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  57. package/lib/package.json +1 -1
  58. package/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.d.ts +10 -0
  59. package/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.d.ts +2 -0
  60. package/lib/taon-cms-backoffice/index.js +2 -2
  61. package/lib/taon-cms-backoffice/taon-cms-backoffice.component.d.ts +3 -0
  62. package/lib/taon-cms-category/taon-cms-category-api.service.d.ts +0 -1
  63. package/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -5
  64. package/lib/taon-cms-category/taon-cms-category.controller.js +3 -33
  65. package/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  66. package/lib/taon-cms-category/taon-cms-category.repository.d.ts +2 -4
  67. package/lib/taon-cms-category/taon-cms-category.repository.js +8 -11
  68. package/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  69. package/lib/taon-cms-content/index.d.ts +1 -0
  70. package/lib/taon-cms-content/index.js +1 -0
  71. package/lib/taon-cms-content/index.js.map +1 -1
  72. package/lib/taon-cms-content/taon-cms-content-api.service.d.ts +18 -3
  73. package/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +7 -0
  74. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +41 -0
  75. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -0
  76. package/lib/taon-cms-content/taon-cms-content.abstract.context.js +16 -5
  77. package/lib/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  78. package/lib/taon-cms-content/taon-cms-content.config.service.d.ts +5 -0
  79. package/lib/taon-cms-content/taon-cms-content.constants.js +5 -0
  80. package/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  81. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +12 -4
  82. package/lib/taon-cms-content/taon-cms-content.controller.js +125 -21
  83. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  84. package/lib/taon-cms-content/taon-cms-content.entity.d.ts +8 -1
  85. package/lib/taon-cms-content/taon-cms-content.entity.js +59 -3
  86. package/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  87. package/lib/taon-cms-content/taon-cms-content.models.d.ts +40 -0
  88. package/lib/taon-cms-content/taon-cms-content.models.js +8 -1
  89. package/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  90. package/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  91. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +27 -0
  92. package/lib/taon-cms-content/taon-cms-content.repository.js +326 -0
  93. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  94. package/lib/taon-cms-content/taon-cms-content.validation.d.ts +9 -0
  95. package/lib/taon-cms-content/taon-cms-content.validation.js +79 -0
  96. package/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -0
  97. package/lib/taon-cms-content-revision/taon-cms-content-revision-api.service.d.ts +5 -1
  98. package/lib/taon-cms-content-revision/taon-cms-content-revision.controller.d.ts +1 -5
  99. package/lib/taon-cms-content-revision/taon-cms-content-revision.controller.js +3 -33
  100. package/lib/taon-cms-content-revision/taon-cms-content-revision.controller.js.map +1 -1
  101. package/lib/taon-cms-content-revision/taon-cms-content-revision.entity.d.ts +2 -0
  102. package/lib/taon-cms-content-revision/taon-cms-content-revision.entity.js +9 -0
  103. package/lib/taon-cms-content-revision/taon-cms-content-revision.entity.js.map +1 -1
  104. package/lib/taon-cms-content-revision/taon-cms-content-revision.repository.d.ts +6 -4
  105. package/lib/taon-cms-content-revision/taon-cms-content-revision.repository.js +33 -10
  106. package/lib/taon-cms-content-revision/taon-cms-content-revision.repository.js.map +1 -1
  107. package/lib/taon-cms-content-tag/taon-cms-content-tag-api.service.d.ts +0 -1
  108. package/lib/taon-cms-content-tag/taon-cms-content-tag.controller.d.ts +1 -5
  109. package/lib/taon-cms-content-tag/taon-cms-content-tag.controller.js +3 -33
  110. package/lib/taon-cms-content-tag/taon-cms-content-tag.controller.js.map +1 -1
  111. package/lib/taon-cms-content-tag/taon-cms-content-tag.repository.d.ts +3 -4
  112. package/lib/taon-cms-content-tag/taon-cms-content-tag.repository.js +15 -11
  113. package/lib/taon-cms-content-tag/taon-cms-content-tag.repository.js.map +1 -1
  114. package/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +2 -0
  115. package/lib/taon-cms-tag/taon-cms-tag.repository.js +13 -0
  116. package/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  117. package/lib/taon-cms.abstract.context.js +4 -2
  118. package/lib/taon-cms.abstract.context.js.map +1 -1
  119. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -0
  120. package/lib/taon-posts/taon-cms-post/index.js +5 -0
  121. package/lib/taon-posts/taon-cms-post/index.js.map +1 -0
  122. package/lib/taon-posts/taon-cms-post/taon-cms-editable.directive.d.ts +19 -0
  123. package/lib/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +84 -0
  124. package/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +8 -0
  125. package/lib/taon-posts/taon-cms-post/taon-cms-post.models.js +3 -0
  126. package/lib/taon-posts/taon-cms-post/taon-cms-post.models.js.map +1 -0
  127. package/lib/taon-posts/taon-cms-post/taon-cms-post.routes.d.ts +7 -0
  128. package/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.d.ts +4 -0
  129. package/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -0
  130. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js +5 -0
  131. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +1 -0
  132. package/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.d.ts +15 -0
  133. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -0
  134. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +5 -0
  135. package/lib/taon-posts/taon-cms-posts-backoffice/index.js.map +1 -0
  136. package/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +26 -0
  137. package/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.d.ts +1 -0
  138. package/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js +3 -0
  139. package/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js.map +1 -0
  140. package/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.d.ts +7 -0
  141. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -0
  142. package/lib/taon-posts/taon-cms-revision-chooser/index.js +5 -0
  143. package/lib/taon-posts/taon-cms-revision-chooser/index.js.map +1 -0
  144. package/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.d.ts +17 -0
  145. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -0
  146. package/lib/taon-posts/taon-related-post-chooser/index.js +5 -0
  147. package/lib/taon-posts/taon-related-post-chooser/index.js.map +1 -0
  148. package/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.d.ts +22 -0
  149. package/lib-esm/app/baseline-backoffice/index.d.ts +0 -0
  150. package/lib-esm/app/baseline-backoffice/index.js +2 -0
  151. package/lib-esm/app/baseline-backoffice/index.js.map +1 -0
  152. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.d.ts +0 -0
  153. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js +2 -0
  154. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js.map +1 -0
  155. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.d.ts +0 -0
  156. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js +2 -0
  157. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js.map +1 -0
  158. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.d.ts +0 -0
  159. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js +2 -0
  160. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js.map +1 -0
  161. package/lib-esm/app/cms-example/cms-example.component.d.ts +0 -0
  162. package/lib-esm/app/cms-example/cms-example.component.js +2 -0
  163. package/lib-esm/app/cms-example/cms-example.component.js.map +1 -0
  164. package/lib-esm/app/cms-example/cms-example.models.d.ts +0 -0
  165. package/lib-esm/app/cms-example/cms-example.models.js +2 -0
  166. package/lib-esm/app/cms-example/cms-example.models.js.map +1 -0
  167. package/lib-esm/app/cms-example/cms-example.routes.d.ts +0 -0
  168. package/lib-esm/app/cms-example/cms-example.routes.js +2 -0
  169. package/lib-esm/app/cms-example/cms-example.routes.js.map +1 -0
  170. package/lib-esm/app/cms-example/index.d.ts +0 -0
  171. package/lib-esm/app/cms-example/index.js +2 -0
  172. package/lib-esm/app/cms-example/index.js.map +1 -0
  173. package/lib-esm/app/session-example/index.d.ts +0 -0
  174. package/lib-esm/app/session-example/index.js +2 -0
  175. package/lib-esm/app/session-example/index.js.map +1 -0
  176. package/lib-esm/app/session-example/session-example.component.d.ts +0 -0
  177. package/lib-esm/app/session-example/session-example.component.js +2 -0
  178. package/lib-esm/app/session-example/session-example.component.js.map +1 -0
  179. package/lib-esm/app/session-example/session-example.models.d.ts +0 -0
  180. package/lib-esm/app/session-example/session-example.models.js +2 -0
  181. package/lib-esm/app/session-example/session-example.models.js.map +1 -0
  182. package/lib-esm/app/session-example/session-example.routes.d.ts +0 -0
  183. package/lib-esm/app/session-example/session-example.routes.js +2 -0
  184. package/lib-esm/app/session-example/session-example.routes.js.map +1 -0
  185. package/lib-esm/lib/app.data.d.ts +22 -0
  186. package/lib-esm/lib/app.data.js +20 -0
  187. package/lib-esm/lib/app.data.js.map +1 -0
  188. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  189. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  190. package/lib-esm/lib/env/env.angular-node-app.d.ts +3 -0
  191. package/lib-esm/lib/env/env.angular-node-app.js +6 -0
  192. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -1
  193. package/lib-esm/lib/env/env.docs-webapp.d.ts +3 -0
  194. package/lib-esm/lib/env/env.docs-webapp.js +6 -0
  195. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -1
  196. package/lib-esm/lib/env/env.electron-app.d.ts +3 -0
  197. package/lib-esm/lib/env/env.electron-app.js +6 -0
  198. package/lib-esm/lib/env/env.electron-app.js.map +1 -1
  199. package/lib-esm/lib/env/env.mobile-app.d.ts +3 -0
  200. package/lib-esm/lib/env/env.mobile-app.js +6 -0
  201. package/lib-esm/lib/env/env.mobile-app.js.map +1 -1
  202. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +3 -0
  203. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +6 -0
  204. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  205. package/lib-esm/lib/env/env.vscode-plugin.d.ts +3 -0
  206. package/lib-esm/lib/env/env.vscode-plugin.js +6 -0
  207. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -1
  208. package/lib-esm/lib/index._auto-generated_.d.ts +5 -0
  209. package/lib-esm/lib/index._auto-generated_.js +17 -0
  210. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  211. package/lib-esm/lib/index.d.ts +1 -0
  212. package/lib-esm/lib/index.js +2 -0
  213. package/lib-esm/lib/index.js.map +1 -1
  214. package/lib-esm/lib/migrations/1791132517216_initial.d.ts +7 -0
  215. package/lib-esm/lib/migrations/1791132517216_initial.js +65 -0
  216. package/lib-esm/lib/migrations/1791132517216_initial.js.map +1 -0
  217. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
  218. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
  219. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  220. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  221. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  222. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -5
  223. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js +4 -28
  224. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  225. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.d.ts +2 -4
  226. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js +8 -11
  227. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  228. package/lib-esm/lib/taon-cms-content/index.d.ts +1 -0
  229. package/lib-esm/lib/taon-cms-content/index.js +1 -0
  230. package/lib-esm/lib/taon-cms-content/index.js.map +1 -1
  231. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +7 -0
  232. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +32 -0
  233. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -0
  234. package/lib-esm/lib/taon-cms-content/taon-cms-content.abstract.context.js +16 -5
  235. package/lib-esm/lib/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  236. package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js +5 -0
  237. package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  238. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +12 -4
  239. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +126 -22
  240. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  241. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.d.ts +8 -1
  242. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js +60 -4
  243. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  244. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.d.ts +40 -0
  245. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js +7 -0
  246. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  247. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  248. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +27 -0
  249. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +327 -1
  250. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  251. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.d.ts +9 -0
  252. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js +73 -0
  253. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -0
  254. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.controller.d.ts +1 -5
  255. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.controller.js +4 -28
  256. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.controller.js.map +1 -1
  257. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.entity.d.ts +2 -0
  258. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.entity.js +9 -0
  259. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.entity.js.map +1 -1
  260. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.repository.d.ts +6 -4
  261. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.repository.js +33 -10
  262. package/lib-esm/lib/taon-cms-content-revision/taon-cms-content-revision.repository.js.map +1 -1
  263. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.controller.d.ts +1 -5
  264. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.controller.js +4 -28
  265. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.controller.js.map +1 -1
  266. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.repository.d.ts +3 -4
  267. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.repository.js +15 -11
  268. package/lib-esm/lib/taon-cms-content-tag/taon-cms-content-tag.repository.js.map +1 -1
  269. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +2 -0
  270. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js +13 -0
  271. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  272. package/lib-esm/lib/taon-cms.abstract.context.js +2 -0
  273. package/lib-esm/lib/taon-cms.abstract.context.js.map +1 -1
  274. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -0
  275. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +2 -0
  276. package/lib-esm/lib/taon-posts/taon-cms-post/index.js.map +1 -0
  277. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +8 -0
  278. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-post.models.js +2 -0
  279. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-post.models.js.map +1 -0
  280. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -0
  281. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js +2 -0
  282. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +1 -0
  283. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -0
  284. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -0
  285. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js.map +1 -0
  286. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.d.ts +1 -0
  287. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js +2 -0
  288. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js.map +1 -0
  289. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -0
  290. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -0
  291. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js.map +1 -0
  292. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -0
  293. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +2 -0
  294. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js.map +1 -0
  295. package/lib-prod/app.data.d.ts +22 -0
  296. package/lib-prod/app.data.js +20 -0
  297. package/lib-prod/app.data.js.map +1 -0
  298. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  299. package/lib-prod/build-info._auto-generated_.js +1 -1
  300. package/lib-prod/env/env.angular-node-app.d.ts +3 -0
  301. package/lib-prod/env/env.angular-node-app.js +6 -0
  302. package/lib-prod/env/env.angular-node-app.js.map +1 -1
  303. package/lib-prod/env/env.docs-webapp.d.ts +3 -0
  304. package/lib-prod/env/env.docs-webapp.js +6 -0
  305. package/lib-prod/env/env.docs-webapp.js.map +1 -1
  306. package/lib-prod/env/env.electron-app.d.ts +3 -0
  307. package/lib-prod/env/env.electron-app.js +6 -0
  308. package/lib-prod/env/env.electron-app.js.map +1 -1
  309. package/lib-prod/env/env.mobile-app.d.ts +3 -0
  310. package/lib-prod/env/env.mobile-app.js +6 -0
  311. package/lib-prod/env/env.mobile-app.js.map +1 -1
  312. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +3 -0
  313. package/lib-prod/env/env.npm-lib-and-cli-tool.js +6 -0
  314. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
  315. package/lib-prod/env/env.vscode-plugin.d.ts +3 -0
  316. package/lib-prod/env/env.vscode-plugin.js +6 -0
  317. package/lib-prod/env/env.vscode-plugin.js.map +1 -1
  318. package/lib-prod/index._auto-generated_.d.ts +5 -0
  319. package/lib-prod/index._auto-generated_.js +17 -0
  320. package/lib-prod/index._auto-generated_.js.map +1 -1
  321. package/lib-prod/index.d.ts +1 -0
  322. package/lib-prod/index.js +2 -0
  323. package/lib-prod/index.js.map +1 -1
  324. package/lib-prod/migrations/1791132517216_initial.d.ts +7 -0
  325. package/lib-prod/migrations/1791132517216_initial.js +65 -0
  326. package/lib-prod/migrations/1791132517216_initial.js.map +1 -0
  327. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +4 -0
  328. package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -0
  329. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  330. package/lib-prod/package.json +1 -1
  331. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  332. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  333. package/lib-prod/taon-cms-category/taon-cms-category.controller.d.ts +1 -5
  334. package/lib-prod/taon-cms-category/taon-cms-category.controller.js +4 -28
  335. package/lib-prod/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  336. package/lib-prod/taon-cms-category/taon-cms-category.repository.d.ts +2 -4
  337. package/lib-prod/taon-cms-category/taon-cms-category.repository.js +8 -11
  338. package/lib-prod/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  339. package/lib-prod/taon-cms-content/index.d.ts +1 -0
  340. package/lib-prod/taon-cms-content/index.js +1 -0
  341. package/lib-prod/taon-cms-content/index.js.map +1 -1
  342. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.d.ts +7 -0
  343. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +32 -0
  344. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -0
  345. package/lib-prod/taon-cms-content/taon-cms-content.abstract.context.js +16 -5
  346. package/lib-prod/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  347. package/lib-prod/taon-cms-content/taon-cms-content.constants.js +5 -0
  348. package/lib-prod/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  349. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +12 -4
  350. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +126 -22
  351. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  352. package/lib-prod/taon-cms-content/taon-cms-content.entity.d.ts +8 -1
  353. package/lib-prod/taon-cms-content/taon-cms-content.entity.js +60 -4
  354. package/lib-prod/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  355. package/lib-prod/taon-cms-content/taon-cms-content.models.d.ts +40 -0
  356. package/lib-prod/taon-cms-content/taon-cms-content.models.js +7 -0
  357. package/lib-prod/taon-cms-content/taon-cms-content.models.js.map +1 -1
  358. package/lib-prod/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  359. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +27 -0
  360. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +327 -1
  361. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  362. package/lib-prod/taon-cms-content/taon-cms-content.validation.d.ts +9 -0
  363. package/lib-prod/taon-cms-content/taon-cms-content.validation.js +73 -0
  364. package/lib-prod/taon-cms-content/taon-cms-content.validation.js.map +1 -0
  365. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.controller.d.ts +1 -5
  366. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.controller.js +4 -28
  367. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.controller.js.map +1 -1
  368. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.entity.d.ts +2 -0
  369. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.entity.js +9 -0
  370. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.entity.js.map +1 -1
  371. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.repository.d.ts +6 -4
  372. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.repository.js +33 -10
  373. package/lib-prod/taon-cms-content-revision/taon-cms-content-revision.repository.js.map +1 -1
  374. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.controller.d.ts +1 -5
  375. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.controller.js +4 -28
  376. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.controller.js.map +1 -1
  377. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.repository.d.ts +3 -4
  378. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.repository.js +15 -11
  379. package/lib-prod/taon-cms-content-tag/taon-cms-content-tag.repository.js.map +1 -1
  380. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.d.ts +2 -0
  381. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js +13 -0
  382. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  383. package/lib-prod/taon-cms.abstract.context.js +2 -0
  384. package/lib-prod/taon-cms.abstract.context.js.map +1 -1
  385. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -0
  386. package/lib-prod/taon-posts/taon-cms-post/index.js +2 -0
  387. package/lib-prod/taon-posts/taon-cms-post/index.js.map +1 -0
  388. package/lib-prod/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +8 -0
  389. package/lib-prod/taon-posts/taon-cms-post/taon-cms-post.models.js +2 -0
  390. package/lib-prod/taon-posts/taon-cms-post/taon-cms-post.models.js.map +1 -0
  391. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -0
  392. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js +2 -0
  393. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js.map +1 -0
  394. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -0
  395. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +2 -0
  396. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js.map +1 -0
  397. package/lib-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.d.ts +0 -0
  398. package/lib-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js +3 -0
  399. package/lib-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.js.map +1 -0
  400. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -0
  401. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +2 -0
  402. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js.map +1 -0
  403. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -0
  404. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +2 -0
  405. package/lib-prod/taon-posts/taon-related-post-chooser/index.js.map +1 -0
  406. package/package.json +1 -1
  407. package/scss/app/baseline-backoffice/taon-baseline-backoffice.component.scss +3 -0
  408. package/scss/app/cms-example/cms-example.component.scss +3 -0
  409. package/scss/app/session-example/session-example.component.scss +3 -0
  410. package/scss/global.scss +4 -1
  411. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +132 -0
  412. package/scss/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +19 -0
  413. package/scss/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.scss +3 -0
  414. package/scss/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.scss +15 -0
  415. package/scss/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.scss +25 -0
  416. package/websql/fesm2022/cms-websql.mjs +2992 -600
  417. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  418. package/websql/package.json +1 -1
  419. package/websql/types/cms-websql.d.ts +439 -70
  420. package/websql-prod/fesm2022/cms-websql-prod.mjs +2995 -600
  421. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  422. package/websql-prod/package.json +1 -1
  423. package/websql-prod/types/cms-websql-prod.d.ts +437 -70
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentError = contentError;
4
+ exports.requireContentId = requireContentId;
5
+ exports.requireContentVersion = requireContentVersion;
6
+ exports.validateContentInput = validateContentInput;
7
+ const lib_1 = require("taon/lib");
8
+ const taon_cms_content_models_1 = require("./taon-cms-content.models");
9
+ function contentError(message, status = 400) {
10
+ lib_1.Taon.error({ message, status });
11
+ throw new Error(message);
12
+ }
13
+ function requireContentId(value, name = 'contentId') {
14
+ if (!Number.isSafeInteger(value) || value <= 0) {
15
+ contentError(`${name} must be a positive integer.`);
16
+ }
17
+ }
18
+ function requireContentVersion(value, name = 'expectedVersion') {
19
+ if (!Number.isSafeInteger(value) || value < 0) {
20
+ contentError(`${name} must be a non-negative integer.`);
21
+ }
22
+ }
23
+ function validateContentInput(input, creating = false) {
24
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
25
+ contentError('Content must be an object.');
26
+ }
27
+ if (input.type !== undefined &&
28
+ !Object.values(taon_cms_content_models_1.TaonCmsContentType).includes(input.type)) {
29
+ contentError('type must be normal, video, audio, or attachment.');
30
+ }
31
+ for (const field of ['title', 'slug']) {
32
+ if (creating || input[field] !== undefined) {
33
+ if (typeof input[field] !== 'string' || !input[field].trim()) {
34
+ contentError(`${field} must be a non-empty string.`);
35
+ }
36
+ }
37
+ }
38
+ for (const field of [
39
+ 'body', 'excerpt', 'videoKey', 'audioKey', 'attachmentKey',
40
+ ]) {
41
+ if (input[field] !== undefined &&
42
+ input[field] !== null &&
43
+ typeof input[field] !== 'string') {
44
+ contentError(`${field} must be a string or null.`);
45
+ }
46
+ }
47
+ for (const field of ['categoryId', 'authorUserId']) {
48
+ if (input[field] !== undefined && input[field] !== null) {
49
+ requireContentId(input[field], field);
50
+ }
51
+ }
52
+ if (input.status !== undefined &&
53
+ !['draft', 'published', 'archived'].includes(input.status)) {
54
+ contentError('status must be draft, published, or archived.');
55
+ }
56
+ if (input.publishedAt !== undefined && input.publishedAt !== null) {
57
+ if (!(input.publishedAt instanceof Date ||
58
+ typeof input.publishedAt === 'string') ||
59
+ Number.isNaN(new Date(input.publishedAt).getTime())) {
60
+ contentError('publishedAt must be a valid date or null.');
61
+ }
62
+ }
63
+ for (const field of ['tagIds', 'relatedPostIds', 'permissionIds']) {
64
+ const ids = input[field];
65
+ if (ids !== undefined) {
66
+ if (!Array.isArray(ids)) {
67
+ contentError(`${field} must be an array.`);
68
+ }
69
+ for (const id of ids) {
70
+ requireContentId(id, field === 'tagIds'
71
+ ? 'tagId'
72
+ : field === 'relatedPostIds'
73
+ ? 'relatedPostId'
74
+ : 'permissionId');
75
+ }
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=taon-cms-content.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taon-cms-content.validation.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AAKA,oCAGC;AAED,4CAIC;AAED,sDAOC;AAED,oDA2EC;AApGD,kCAAgC;AAGhC,uEAA+D;AAE/D,SAAgB,YAAY,CAAC,OAAe,EAAE,MAAM,GAAG,GAAG;IACxD,UAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,IAAI,GAAG,WAAW;IAChE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,YAAY,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAAa,EACb,IAAI,GAAG,iBAAiB;IAExB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,YAAY,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAIC,EACD,QAAQ,GAAG,KAAK;IAEhB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,MAAM,CAAC,MAAM,CAAC,4CAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACvD,CAAC;QACD,YAAY,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;QAC/C,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7D,YAAY,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI;QAClB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe;KAClD,EAAE,CAAC;QACX,IACE,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;YAC1B,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YACrB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAChC,CAAC;YACD,YAAY,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,cAAc,CAAU,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAC1D,CAAC;QACD,YAAY,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAClE,IACE,CAAC,CACC,KAAK,CAAC,WAAW,YAAY,IAAI;YACjC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CACtC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,EACnD,CAAC;YACD,YAAY,CAAC,2CAA2C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,eAAe,CAAU,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,YAAY,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,gBAAgB,CACd,EAAE,EACF,KAAK,KAAK,QAAQ;oBAChB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,KAAK,KAAK,gBAAgB;wBAC1B,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,cAAc,CACrB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { TaonBaseAngularService } from 'taon';
3
+ import type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';
4
+ import type { TaonCmsRestoreContent } from '../taon-cms-content/taon-cms-content.models';
3
5
  import type { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';
4
6
  export declare class TaonCmsContentRevisionApiService extends TaonBaseAngularService {
7
+ private readonly contentController;
5
8
  private taonCmsContentRevisionController;
9
+ listRevisions(id: number): Observable<TaonCmsContentRevisionEntity[]>;
10
+ restoreContent(id: number, input: TaonCmsRestoreContent): Observable<TaonCmsContentEntity>;
6
11
  get allMyEntities$(): Observable<TaonCmsContentRevisionEntity[]>;
7
- helloWorld(user: string): Observable<string>;
8
12
  }
@@ -1,11 +1,7 @@
1
- import { Taon, TaonBaseCrudController } from 'taon';
1
+ import { TaonBaseCrudController } from 'taon';
2
2
  import { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';
3
3
  import { TaonCmsContentRevisionRepository } from './taon-cms-content-revision.repository';
4
4
  export declare class TaonCmsContentRevisionController extends TaonBaseCrudController<TaonCmsContentRevisionEntity> {
5
5
  entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity;
6
6
  taonCmsContentRevisionRepository: TaonCmsContentRevisionRepository;
7
- /**
8
- * TODO remove this demo example method
9
- */
10
- helloWord(yourName: string): Taon.Response<string>;
11
7
  }
@@ -5,13 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  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;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var TaonCmsContentRevisionController_1;
15
8
  Object.defineProperty(exports, "__esModule", { value: true });
16
9
  exports.TaonCmsContentRevisionController = void 0;
17
10
  //#region imports
@@ -19,38 +12,15 @@ const lib_1 = require("taon/lib");
19
12
  const taon_cms_content_revision_entity_1 = require("./taon-cms-content-revision.entity");
20
13
  const taon_cms_content_revision_repository_1 = require("./taon-cms-content-revision.repository");
21
14
  //#endregion
22
- let TaonCmsContentRevisionController = TaonCmsContentRevisionController_1 = class TaonCmsContentRevisionController extends lib_1.TaonBaseCrudController {
15
+ let TaonCmsContentRevisionController = class TaonCmsContentRevisionController extends lib_1.TaonBaseCrudController {
23
16
  entityClassResolveFn = () => taon_cms_content_revision_entity_1.TaonCmsContentRevisionEntity;
24
17
  taonCmsContentRevisionRepository = this.injectCustomRepo(taon_cms_content_revision_repository_1.TaonCmsContentRevisionRepository);
25
- //#region methods & getters / hello world
26
- /**
27
- * TODO remove this demo example method
28
- */
29
- helloWord(yourName) {
30
- //#region @websqlFunc
31
- return async (req, res) => {
32
- const numOfEntities = await this.db.count();
33
- const numberOfEvenEntities = await this.taonCmsContentRevisionRepository.countEntitesWithEvenId();
34
- return `Hello ${yourName || 'world'} from ${lib_1.ClassHelpers.getName(TaonCmsContentRevisionController_1)}
35
- controller.. ${numOfEntities} entites in db..
36
- ${numberOfEvenEntities} entites with even ids (2,4,6,8 etc.)
37
- `;
38
- };
39
- //#endregion
40
- }
41
18
  };
42
19
  exports.TaonCmsContentRevisionController = TaonCmsContentRevisionController;
43
- __decorate([
44
- (0, lib_1.GET)(),
45
- __param(0, (0, lib_1.Query)('yourName')),
46
- __metadata("design:type", Function),
47
- __metadata("design:paramtypes", [String]),
48
- __metadata("design:returntype", Object)
49
- ], TaonCmsContentRevisionController.prototype, "helloWord", null);
50
- exports.TaonCmsContentRevisionController = TaonCmsContentRevisionController = TaonCmsContentRevisionController_1 = __decorate([
20
+ exports.TaonCmsContentRevisionController = TaonCmsContentRevisionController = __decorate([
51
21
  (0, lib_1.TaonController)({
52
22
  className: 'TaonCmsContentRevisionController',
53
- allowedMethods: []
23
+ allowedMethods: [],
54
24
  })
55
25
  ], TaonCmsContentRevisionController);
56
26
  //# sourceMappingURL=taon-cms-content-revision.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-content-revision.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,kCAOkB;AAGlB,yFAAkF;AAClF,iGAA0F;AAC1F,YAAY;AAML,IAAM,gCAAgC,wCAAtC,MAAM,gCAAiC,SAAQ,4BAAoD;IACxG,oBAAoB,GAA8C,GAAG,EAAE,CAAC,+DAA4B,CAAC;IAErG,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,CAAC,uEAAgC,CAAC,CAAC;IAE3F,yCAAyC;IACzC;;OAEG;IAEH,SAAS,CAAoB,QAAgB;QAC3C,qBAAqB;QACrB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,gCAAgC,CAAC,sBAAsB,EAAE,CAAC;YACvE,OAAO,SAAS,QAAQ,IAAI,OAAO,SAAS,kBAAY,CAAC,OAAO,CAAC,kCAAgC,CAAC;sBAClF,aAAa;QAC3B,oBAAoB;OACrB,CAAC;QACJ,CAAC,CAAC;QACF,YAAY;IACd,CAAC;CAEF,CAAA;AAxBY,4EAAgC;AAU3C;IADC,IAAA,SAAG,GAAE;IACK,WAAA,IAAA,WAAK,EAAC,UAAU,CAAC,CAAA;;;;iEAY3B;2CAtBU,gCAAgC;IAJ5C,IAAA,oBAAc,EAAmC;QAChD,SAAS,EAAE,kCAAkC;QAC7C,cAAc,EAAE,EAAE;KACnB,CAAC;GACW,gCAAgC,CAwB5C"}
1
+ {"version":3,"file":"taon-cms-content-revision.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAOkB;AAGlB,yFAAkF;AAClF,iGAA0F;AAC1F,YAAY;AAML,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,4BAAoD;IACxG,oBAAoB,GAA8C,GAAG,EAAE,CACrE,+DAA4B,CAAC;IAE/B,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,CACtD,uEAAgC,CACjC,CAAC;CACH,CAAA;AAPY,4EAAgC;2CAAhC,gCAAgC;IAJ5C,IAAA,oBAAc,EAAmC;QAChD,SAAS,EAAE,kCAAkC;QAC7C,cAAc,EAAE,EAAE;KACnB,CAAC;GACW,gCAAgC,CAO5C"}
@@ -1,4 +1,5 @@
1
1
  import { TaonBaseEntity } from 'taon';
2
+ import type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';
2
3
  export declare class TaonCmsContentRevisionEntity extends TaonBaseEntity<TaonCmsContentRevisionEntity> {
3
4
  id: number;
4
5
  version: number;
@@ -6,6 +7,7 @@ export declare class TaonCmsContentRevisionEntity extends TaonBaseEntity<TaonCms
6
7
  revisionNumber: number;
7
8
  title: string;
8
9
  body: string | null;
10
+ snapshot: TaonCmsContentSnapshot | null;
9
11
  createdByUserId: number | null;
10
12
  createdAt: Date;
11
13
  }
@@ -34,6 +34,9 @@ let TaonCmsContentRevisionEntity = class TaonCmsContentRevisionEntity extends li
34
34
  body;
35
35
  //#region @websql
36
36
  //#endregion
37
+ snapshot;
38
+ //#region @websql
39
+ //#endregion
37
40
  createdByUserId;
38
41
  //#region @websql
39
42
  //#endregion
@@ -76,6 +79,12 @@ __decorate([
76
79
  ,
77
80
  __metadata("design:type", String)
78
81
  ], TaonCmsContentRevisionEntity.prototype, "body", void 0);
82
+ __decorate([
83
+ (0, lib_1.Column)({ type: 'simple-json', nullable: true })
84
+ //#endregion
85
+ ,
86
+ __metadata("design:type", Object)
87
+ ], TaonCmsContentRevisionEntity.prototype, "snapshot", void 0);
79
88
  __decorate([
80
89
  (0, lib_1.Column)({ type: 'integer', nullable: true })
81
90
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-content-revision.entity.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAAA,iBAAiB;AACjB,kCAQkB;AAIlB,YAAY;AAML,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,oBAA4C;IAC5F,iBAAiB;IAGjB,AADA,YAAY;IACZ,EAAE,CAAS;IAEX,iBAAiB;IAGjB,AADA,YAAY;IACZ,OAAO,CAAS;IAEhB,iBAAiB;IAGjB,AADA,YAAY;IACZ,SAAS,CAAS;IAElB,iBAAiB;IAGjB,AADA,YAAY;IACZ,cAAc,CAAS;IAEvB,iBAAiB;IAGjB,AADA,YAAY;IACZ,KAAK,CAAS;IAEd,iBAAiB;IAGjB,AADA,YAAY;IACZ,IAAI,CAAgB;IAEpB,iBAAiB;IAGjB,AADA,YAAY;IACZ,eAAe,CAAgB;IAE/B,iBAAiB;IAGjB,AADA,YAAY;IACZ,SAAS,CAAO;CACjB,CAAA;AAxCY,oEAA4B;AAIvC;IAFC,IAAA,4BAAsB,GAAE;IACzB,YAAY;;;wDACD;AAKX;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxC,YAAY;;;6DACI;AAKhB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;+DACM;AAKlB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;oEACW;AAKvB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;2DACE;AAKd;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,YAAY;;;0DACQ;AAKpB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,YAAY;;;qEACmB;AAK/B;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7B,YAAY;;8BACD,IAAI;+DAAC;uCAvCL,4BAA4B;IAJxC,IAAA,gBAAU,EAAC;QACV,SAAS,EAAE,8BAA8B;QACzC,WAAW,EAAE,IAAI;KAClB,CAAC;GACW,4BAA4B,CAwCxC"}
1
+ {"version":3,"file":"taon-cms-content-revision.entity.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAAA,iBAAiB;AACjB,kCAQkB;AAMlB,YAAY;AAML,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,oBAA4C;IAC5F,iBAAiB;IAGjB,AADA,YAAY;IACZ,EAAE,CAAS;IAEX,iBAAiB;IAGjB,AADA,YAAY;IACZ,OAAO,CAAS;IAEhB,iBAAiB;IAGjB,AADA,YAAY;IACZ,SAAS,CAAS;IAElB,iBAAiB;IAGjB,AADA,YAAY;IACZ,cAAc,CAAS;IAEvB,iBAAiB;IAGjB,AADA,YAAY;IACZ,KAAK,CAAS;IAEd,iBAAiB;IAGjB,AADA,YAAY;IACZ,IAAI,CAAgB;IAEpB,iBAAiB;IAGjB,AADA,YAAY;IACZ,QAAQ,CAAgC;IAExC,iBAAiB;IAGjB,AADA,YAAY;IACZ,eAAe,CAAgB;IAE/B,iBAAiB;IAGjB,AADA,YAAY;IACZ,SAAS,CAAO;CACjB,CAAA;AA7CY,oEAA4B;AAIvC;IAFC,IAAA,4BAAsB,GAAE;IACzB,YAAY;;;wDACD;AAKX;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxC,YAAY;;;6DACI;AAKhB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;+DACM;AAKlB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;oEACW;AAKvB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY;;;2DACE;AAKd;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,YAAY;;;0DACQ;AAKpB;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,YAAY;;;8DAC4B;AAKxC;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,YAAY;;;qEACmB;AAK/B;IAFC,IAAA,YAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7B,YAAY;;8BACD,IAAI;+DAAC;uCA5CL,4BAA4B;IAJxC,IAAA,gBAAU,EAAC;QACV,SAAS,EAAE,8BAA8B;QACzC,WAAW,EAAE,IAAI;KAClB,CAAC;GACW,4BAA4B,CA6CxC"}
@@ -1,9 +1,11 @@
1
1
  import { TaonBaseRepository } from 'taon';
2
+ import type { EntityManager } from 'taon-typeorm';
3
+ import type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';
4
+ import type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';
2
5
  import { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';
3
6
  export declare class TaonCmsContentRevisionRepository extends TaonBaseRepository<TaonCmsContentRevisionEntity> {
4
7
  entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity;
5
- /**
6
- * TODO remove this demo example method
7
- */
8
- countEntitesWithEvenId(): Promise<number>;
8
+ listForContent(contentId: number, manager: EntityManager): Promise<TaonCmsContentRevisionEntity[]>;
9
+ requireRevision(contentId: number, revisionNumber: number, manager: EntityManager): Promise<TaonCmsContentRevisionEntity>;
10
+ recordContent(content: TaonCmsContentEntity, snapshot: TaonCmsContentSnapshot, manager: EntityManager): Promise<TaonCmsContentRevisionEntity>;
9
11
  }
@@ -9,22 +9,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TaonCmsContentRevisionRepository = void 0;
10
10
  //#region imports
11
11
  const lib_1 = require("taon/lib");
12
- const lib_2 = require("taon-typeorm/lib");
12
+ const taon_cms_content_validation_1 = require("../taon-cms-content/taon-cms-content.validation");
13
13
  const taon_cms_content_revision_entity_1 = require("./taon-cms-content-revision.entity");
14
14
  //#endregion
15
15
  let TaonCmsContentRevisionRepository = class TaonCmsContentRevisionRepository extends lib_1.TaonBaseRepository {
16
16
  entityClassResolveFn = () => taon_cms_content_revision_entity_1.TaonCmsContentRevisionEntity;
17
- /**
18
- * TODO remove this demo example method
19
- */
20
- async countEntitesWithEvenId() {
17
+ async listForContent(contentId, manager) {
21
18
  //#region @websqlFunc
22
- const result = await this.count({
23
- where: {
24
- id: (0, lib_2.Raw)(alias => `${alias} % 2 = 0`),
25
- },
19
+ return manager
20
+ .getRepository(this.target)
21
+ .find({
22
+ where: { contentId },
23
+ order: { revisionNumber: 'DESC' },
26
24
  });
27
- return result;
25
+ //#endregion
26
+ }
27
+ async requireRevision(contentId, revisionNumber, manager) {
28
+ //#region @websqlFunc
29
+ const revision = await manager
30
+ .getRepository(this.target)
31
+ .findOneBy({ contentId, revisionNumber });
32
+ if (!revision) {
33
+ (0, taon_cms_content_validation_1.contentError)(`Revision ${revisionNumber} of content ${contentId} does not exist.`, 404);
34
+ }
35
+ return revision;
36
+ //#endregion
37
+ }
38
+ async recordContent(content, snapshot, manager) {
39
+ //#region @websqlFunc
40
+ const repository = manager.getRepository(this.target);
41
+ return repository.save(repository.create({
42
+ contentId: content.id,
43
+ revisionNumber: content.version,
44
+ version: 1,
45
+ title: content.title,
46
+ body: content.body,
47
+ snapshot,
48
+ createdByUserId: content.authorUserId,
49
+ createdAt: new Date(),
50
+ }));
28
51
  //#endregion
29
52
  }
30
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-content-revision.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAC9D,0CAAuC;AAEvC,yFAAkF;AAClF,YAAY;AAKL,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,wBAAgD;IACpG,oBAAoB,GAA8C,GAAG,EAAE,CAAC,+DAA4B,CAAC;IAErG;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC9B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,SAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;aACrC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;QACd,YAAY;IACd,CAAC;CACF,CAAA;AAhBY,4EAAgC;2CAAhC,gCAAgC;IAH5C,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,kCAAkC;KAC9C,CAAC;GACW,gCAAgC,CAgB5C"}
1
+ {"version":3,"file":"taon-cms-content-revision.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAM9D,iGAA+E;AAE/E,yFAAkF;AAClF,YAAY;AAKL,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,wBAAgD;IACpG,oBAAoB,GAA8C,GAAG,EAAE,CACrE,+DAA4B,CAAC;IAE/B,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,OAAsB;QAEtB,qBAAqB;QACrB,OAAO,OAAO;aACX,aAAa,CAA+B,IAAI,CAAC,MAAM,CAAC;aACxD,IAAI,CAAC;YACJ,KAAK,EAAE,EAAE,SAAS,EAAE;YACpB,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE;SAClC,CAAC,CAAC;QACL,YAAY;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,cAAsB,EACtB,OAAsB;QAEtB,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,OAAO;aAC3B,aAAa,CAA+B,IAAI,CAAC,MAAM,CAAC;aACxD,SAAS,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAA,0CAAY,EACV,YAAY,cAAc,eAAe,SAAS,kBAAkB,EACpE,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;QAChB,YAAY;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAA6B,EAC7B,QAAgC,EAChC,OAAsB;QAEtB,qBAAqB;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CACtC,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CACpB,UAAU,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ;YACR,eAAe,EAAE,OAAO,CAAC,YAAY;YACrC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CACH,CAAC;QACF,YAAY;IACd,CAAC;CACF,CAAA;AA5DY,4EAAgC;2CAAhC,gCAAgC;IAH5C,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,kCAAkC;KAC9C,CAAC;GACW,gCAAgC,CA4D5C"}
@@ -4,5 +4,4 @@ import type { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';
4
4
  export declare class TaonCmsContentTagApiService extends TaonBaseAngularService {
5
5
  private taonCmsContentTagController;
6
6
  get allMyEntities$(): Observable<TaonCmsContentTagEntity[]>;
7
- helloWorld(user: string): Observable<string>;
8
7
  }
@@ -1,11 +1,7 @@
1
- import { Taon, TaonBaseCrudController } from 'taon';
1
+ import { TaonBaseCrudController } from 'taon';
2
2
  import { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';
3
3
  import { TaonCmsContentTagRepository } from './taon-cms-content-tag.repository';
4
4
  export declare class TaonCmsContentTagController extends TaonBaseCrudController<TaonCmsContentTagEntity> {
5
5
  entityClassResolveFn: () => typeof TaonCmsContentTagEntity;
6
6
  taonCmsContentTagRepository: TaonCmsContentTagRepository;
7
- /**
8
- * TODO remove this demo example method
9
- */
10
- helloWord(yourName: string): Taon.Response<string>;
11
7
  }
@@ -5,13 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  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;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var TaonCmsContentTagController_1;
15
8
  Object.defineProperty(exports, "__esModule", { value: true });
16
9
  exports.TaonCmsContentTagController = void 0;
17
10
  //#region imports
@@ -19,38 +12,15 @@ const lib_1 = require("taon/lib");
19
12
  const taon_cms_content_tag_entity_1 = require("./taon-cms-content-tag.entity");
20
13
  const taon_cms_content_tag_repository_1 = require("./taon-cms-content-tag.repository");
21
14
  //#endregion
22
- let TaonCmsContentTagController = TaonCmsContentTagController_1 = class TaonCmsContentTagController extends lib_1.TaonBaseCrudController {
15
+ let TaonCmsContentTagController = class TaonCmsContentTagController extends lib_1.TaonBaseCrudController {
23
16
  entityClassResolveFn = () => taon_cms_content_tag_entity_1.TaonCmsContentTagEntity;
24
17
  taonCmsContentTagRepository = this.injectCustomRepo(taon_cms_content_tag_repository_1.TaonCmsContentTagRepository);
25
- //#region methods & getters / hello world
26
- /**
27
- * TODO remove this demo example method
28
- */
29
- helloWord(yourName) {
30
- //#region @websqlFunc
31
- return async (req, res) => {
32
- const numOfEntities = await this.db.count();
33
- const numberOfEvenEntities = await this.taonCmsContentTagRepository.countEntitesWithEvenId();
34
- return `Hello ${yourName || 'world'} from ${lib_1.ClassHelpers.getName(TaonCmsContentTagController_1)}
35
- controller.. ${numOfEntities} entites in db..
36
- ${numberOfEvenEntities} entites with even ids (2,4,6,8 etc.)
37
- `;
38
- };
39
- //#endregion
40
- }
41
18
  };
42
19
  exports.TaonCmsContentTagController = TaonCmsContentTagController;
43
- __decorate([
44
- (0, lib_1.GET)(),
45
- __param(0, (0, lib_1.Query)('yourName')),
46
- __metadata("design:type", Function),
47
- __metadata("design:paramtypes", [String]),
48
- __metadata("design:returntype", Object)
49
- ], TaonCmsContentTagController.prototype, "helloWord", null);
50
- exports.TaonCmsContentTagController = TaonCmsContentTagController = TaonCmsContentTagController_1 = __decorate([
20
+ exports.TaonCmsContentTagController = TaonCmsContentTagController = __decorate([
51
21
  (0, lib_1.TaonController)({
52
22
  className: 'TaonCmsContentTagController',
53
- allowedMethods: []
23
+ allowedMethods: [],
54
24
  })
55
25
  ], TaonCmsContentTagController);
56
26
  //# sourceMappingURL=taon-cms-content-tag.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-content-tag.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,kCAOkB;AAGlB,+EAAwE;AACxE,uFAAgF;AAChF,YAAY;AAML,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,4BAA+C;IAC9F,oBAAoB,GAAyC,GAAG,EAAE,CAAC,qDAAuB,CAAC;IAE3F,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC,6DAA2B,CAAC,CAAC;IAEjF,yCAAyC;IACzC;;OAEG;IAEH,SAAS,CAAoB,QAAgB;QAC3C,qBAAqB;QACrB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC;YAClE,OAAO,SAAS,QAAQ,IAAI,OAAO,SAAS,kBAAY,CAAC,OAAO,CAAC,6BAA2B,CAAC;sBAC7E,aAAa;QAC3B,oBAAoB;OACrB,CAAC;QACJ,CAAC,CAAC;QACF,YAAY;IACd,CAAC;CAEF,CAAA;AAxBY,kEAA2B;AAUtC;IADC,IAAA,SAAG,GAAE;IACK,WAAA,IAAA,WAAK,EAAC,UAAU,CAAC,CAAA;;;;4DAY3B;sCAtBU,2BAA2B;IAJvC,IAAA,oBAAc,EAA8B;QAC3C,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,EAAE;KACnB,CAAC;GACW,2BAA2B,CAwBvC"}
1
+ {"version":3,"file":"taon-cms-content-tag.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAOkB;AAGlB,+EAAwE;AACxE,uFAAgF;AAChF,YAAY;AAML,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,4BAA+C;IAC9F,oBAAoB,GAAyC,GAAG,EAAE,CAChE,qDAAuB,CAAC;IAE1B,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CACjD,6DAA2B,CAC5B,CAAC;CACH,CAAA;AAPY,kEAA2B;sCAA3B,2BAA2B;IAJvC,IAAA,oBAAc,EAA8B;QAC3C,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,EAAE;KACnB,CAAC;GACW,2BAA2B,CAOvC"}
@@ -1,9 +1,8 @@
1
1
  import { TaonBaseRepository } from 'taon';
2
+ import type { EntityManager } from 'taon-typeorm';
2
3
  import { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';
3
4
  export declare class TaonCmsContentTagRepository extends TaonBaseRepository<TaonCmsContentTagEntity> {
4
5
  entityClassResolveFn: () => typeof TaonCmsContentTagEntity;
5
- /**
6
- * TODO remove this demo example method
7
- */
8
- countEntitesWithEvenId(): Promise<number>;
6
+ findTagIds(contentId: number, manager: EntityManager): Promise<number[]>;
7
+ replaceTags(contentId: number, tagIds: number[], manager: EntityManager): Promise<void>;
9
8
  }
@@ -9,22 +9,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TaonCmsContentTagRepository = void 0;
10
10
  //#region imports
11
11
  const lib_1 = require("taon/lib");
12
- const lib_2 = require("taon-typeorm/lib");
13
12
  const taon_cms_content_tag_entity_1 = require("./taon-cms-content-tag.entity");
14
13
  //#endregion
15
14
  let TaonCmsContentTagRepository = class TaonCmsContentTagRepository extends lib_1.TaonBaseRepository {
16
15
  entityClassResolveFn = () => taon_cms_content_tag_entity_1.TaonCmsContentTagEntity;
17
- /**
18
- * TODO remove this demo example method
19
- */
20
- async countEntitesWithEvenId() {
16
+ async findTagIds(contentId, manager) {
21
17
  //#region @websqlFunc
22
- const result = await this.count({
23
- where: {
24
- id: (0, lib_2.Raw)(alias => `${alias} % 2 = 0`),
25
- },
26
- });
27
- return result;
18
+ const links = await manager
19
+ .getRepository(this.target)
20
+ .find({ where: { contentId }, order: { tagId: 'ASC' } });
21
+ return links.map(link => link.tagId);
22
+ //#endregion
23
+ }
24
+ async replaceTags(contentId, tagIds, manager) {
25
+ //#region @websqlFunc
26
+ const repository = manager.getRepository(this.target);
27
+ await repository.delete({ contentId });
28
+ const links = [...new Set(tagIds)].map(tagId => repository.create({ contentId, tagId }));
29
+ if (links.length) {
30
+ await repository.save(links);
31
+ }
28
32
  //#endregion
29
33
  }
30
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-content-tag.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAC9D,0CAAuC;AAEvC,+EAAwE;AACxE,YAAY;AAKL,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,wBAA2C;IAC1F,oBAAoB,GAAyC,GAAG,EAAE,CAAC,qDAAuB,CAAC;IAE3F;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC9B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,SAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;aACrC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;QACd,YAAY;IACd,CAAC;CACF,CAAA;AAhBY,kEAA2B;sCAA3B,2BAA2B;IAHvC,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,6BAA6B;KACzC,CAAC;GACW,2BAA2B,CAgBvC"}
1
+ {"version":3,"file":"taon-cms-content-tag.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAI9D,+EAAwE;AACxE,YAAY;AAKL,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,wBAA2C;IAC1F,oBAAoB,GAAyC,GAAG,EAAE,CAChE,qDAAuB,CAAC;IAE1B,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,OAAsB;QAEtB,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,OAAO;aACxB,aAAa,CAA0B,IAAI,CAAC,MAAM,CAAC;aACnD,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,YAAY;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,MAAgB,EAChB,OAAsB;QAEtB,qBAAqB;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CACtC,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC7C,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACxC,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,YAAY;IACd,CAAC;CACF,CAAA;AAlCY,kEAA2B;sCAA3B,2BAA2B;IAHvC,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,6BAA6B;KACzC,CAAC;GACW,2BAA2B,CAkCvC"}
@@ -1,7 +1,9 @@
1
1
  import { TaonBaseRepository } from 'taon';
2
+ import type { EntityManager } from 'taon-typeorm';
2
3
  import { TaonCmsTagEntity } from './taon-cms-tag.entity';
3
4
  export declare class TaonCmsTagRepository extends TaonBaseRepository<TaonCmsTagEntity> {
4
5
  entityClassResolveFn: () => typeof TaonCmsTagEntity;
6
+ requireTags(ids: number[], manager: EntityManager): Promise<void>;
5
7
  /**
6
8
  * TODO remove this demo example method
7
9
  */
@@ -10,10 +10,23 @@ exports.TaonCmsTagRepository = void 0;
10
10
  //#region imports
11
11
  const lib_1 = require("taon/lib");
12
12
  const lib_2 = require("taon-typeorm/lib");
13
+ const taon_cms_content_validation_1 = require("../taon-cms-content/taon-cms-content.validation");
13
14
  const taon_cms_tag_entity_1 = require("./taon-cms-tag.entity");
14
15
  //#endregion
15
16
  let TaonCmsTagRepository = class TaonCmsTagRepository extends lib_1.TaonBaseRepository {
16
17
  entityClassResolveFn = () => taon_cms_tag_entity_1.TaonCmsTagEntity;
18
+ async requireTags(ids, manager) {
19
+ //#region @websqlFunc
20
+ for (const id of new Set(ids)) {
21
+ const tag = await manager
22
+ .getRepository(this.target)
23
+ .findOneBy({ id });
24
+ if (!tag) {
25
+ (0, taon_cms_content_validation_1.contentError)(`Tag ${id} does not exist.`, 404);
26
+ }
27
+ }
28
+ //#endregion
29
+ }
17
30
  /**
18
31
  * TODO remove this demo example method
19
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms-tag.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAC9D,0CAAuC;AAEvC,+DAAyD;AACzD,YAAY;AAKL,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAoC;IAC5E,oBAAoB,GAAkC,GAAG,EAAE,CAAC,sCAAgB,CAAC;IAE7E;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC9B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,SAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;aACrC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;QACd,YAAY;IACd,CAAC;CACF,CAAA;AAhBY,oDAAoB;+BAApB,oBAAoB;IAHhC,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,sBAAsB;KAClC,CAAC;GACW,oBAAoB,CAgBhC"}
1
+ {"version":3,"file":"taon-cms-tag.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAA8D;AAC9D,0CAAuC;AAEvC,iGAA+E;AAE/E,+DAAyD;AACzD,YAAY;AAKL,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAoC;IAC5E,oBAAoB,GAAkC,GAAG,EAAE,CAAC,sCAAgB,CAAC;IAE7E,KAAK,CAAC,WAAW,CAAC,GAAa,EAAE,OAAsB;QACrD,qBAAqB;QACrB,KAAK,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,OAAO;iBACtB,aAAa,CAAmB,IAAI,CAAC,MAAM,CAAC;iBAC5C,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAA,0CAAY,EAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,YAAY;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC9B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,SAAG,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;aACrC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;QACd,YAAY;IACd,CAAC;CACF,CAAA;AA7BY,oDAAoB;+BAApB,oBAAoB;IAHhC,IAAA,oBAAc,EAAC;QACd,SAAS,EAAE,sBAAsB;KAClC,CAAC;GACW,oBAAoB,CA6BhC"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaonCmsAbstractContext = void 0;
4
4
  // THIS FILE IS GENERATED - DO NOT MODIFY
5
- const lib_1 = require("taon/lib");
5
+ const lib_1 = require("@taon-dev/session/lib");
6
+ const lib_2 = require("taon/lib");
6
7
  const taon_cms_category_abstract_context_1 = require("./taon-cms-category/taon-cms-category.abstract.context");
7
8
  const taon_cms_comment_abstract_context_1 = require("./taon-cms-comment/taon-cms-comment.abstract.context");
8
9
  const taon_cms_content_abstract_context_1 = require("./taon-cms-content/taon-cms-content.abstract.context");
@@ -11,7 +12,7 @@ const taon_cms_content_permission_abstract_context_1 = require("./taon-cms-conte
11
12
  const taon_cms_content_revision_abstract_context_1 = require("./taon-cms-content-revision/taon-cms-content-revision.abstract.context");
12
13
  const taon_cms_content_tag_abstract_context_1 = require("./taon-cms-content-tag/taon-cms-content-tag.abstract.context");
13
14
  const taon_cms_tag_abstract_context_1 = require("./taon-cms-tag/taon-cms-tag.abstract.context");
14
- exports.TaonCmsAbstractContext = (0, lib_1.createContext)(() => ({
15
+ exports.TaonCmsAbstractContext = (0, lib_2.createContext)(() => ({
15
16
  contextName: 'TaonCmsAbstractContext',
16
17
  abstract: true,
17
18
  contexts: {
@@ -23,6 +24,7 @@ exports.TaonCmsAbstractContext = (0, lib_1.createContext)(() => ({
23
24
  TaonCmsContentRevisionAbstractContext: taon_cms_content_revision_abstract_context_1.TaonCmsContentRevisionAbstractContext,
24
25
  TaonCmsContentTagAbstractContext: taon_cms_content_tag_abstract_context_1.TaonCmsContentTagAbstractContext,
25
26
  TaonCmsTagAbstractContext: taon_cms_tag_abstract_context_1.TaonCmsTagAbstractContext,
27
+ TaonSessionAbstractContext: lib_1.TaonSessionAbstractContext,
26
28
  },
27
29
  }));
28
30
  // THIS FILE IS GENERATED - DO NOT MODIFY
@@ -1 +1 @@
1
- {"version":3,"file":"taon-cms.abstract.context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,kCAA0D;AAC1D,+GAAwG;AACxG,4GAAqG;AACrG,4GAAqG;AACrG,8HAAsH;AACtH,6IAAqI;AACrI,uIAA+H;AAC/H,wHAAgH;AAChH,gGAAyF;AAE5E,QAAA,sBAAsB,GAAG,IAAA,mBAAa,EAAC,GAAG,EAAE,CAAC,CAAC;IACzD,WAAW,EAAE,wBAAwB;IACrC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,8BAA8B,EAA9B,mEAA8B;QAC9B,6BAA6B,EAA7B,iEAA6B;QAC7B,6BAA6B,EAA7B,iEAA6B;QAC7B,kCAAkC,EAAlC,4EAAkC;QAClC,uCAAuC,EAAvC,sFAAuC;QACvC,qCAAqC,EAArC,kFAAqC;QACrC,gCAAgC,EAAhC,wEAAgC;QAChC,yBAAyB,EAAzB,yDAAyB;KAC1B;CACF,CAAC,CAAC,CAAC;AAEJ,yCAAyC"}
1
+ {"version":3,"file":"taon-cms.abstract.context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,+CAAmE;AACnE,kCAA0D;AAE1D,+GAAwG;AACxG,4GAAqG;AACrG,4GAAqG;AACrG,8HAAsH;AACtH,6IAAqI;AACrI,uIAA+H;AAC/H,wHAAgH;AAChH,gGAAyF;AAE5E,QAAA,sBAAsB,GAAG,IAAA,mBAAa,EAAC,GAAG,EAAE,CAAC,CAAC;IACzD,WAAW,EAAE,wBAAwB;IACrC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,8BAA8B,EAA9B,mEAA8B;QAC9B,6BAA6B,EAA7B,iEAA6B;QAC7B,6BAA6B,EAA7B,iEAA6B;QAC7B,kCAAkC,EAAlC,4EAAkC;QAClC,uCAAuC,EAAvC,sFAAuC;QACvC,qCAAqC,EAArC,kFAAqC;QACrC,gCAAgC,EAAhC,wEAAgC;QAChC,yBAAyB,EAAzB,yDAAyB;QACzB,0BAA0B,EAA1B,gCAA0B;KAC3B;CACF,CAAC,CAAC,CAAC;AAEJ,yCAAyC"}
@@ -0,0 +1 @@
1
+ export * from './taon-cms-post.component';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dummy1791557415431 = dummy1791557415431;
4
+ function dummy1791557415431() { }
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AAAA,gDAAwC;AAAxC,SAAgB,kBAAkB,KAAK,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ export declare class TaonCmsEditableDirective {
3
+ private readonly element;
4
+ private readonly sanitizer;
5
+ private value;
6
+ private composing;
7
+ taonCmsEditableFormat: 'text' | 'html';
8
+ taonCmsEditableSingleLine: boolean;
9
+ readonly taonCmsEditableChange: EventEmitter<string>;
10
+ set taonCmsEditable(value: string);
11
+ compositionStart(): void;
12
+ compositionEnd(): void;
13
+ onInput(): void;
14
+ onBlur(): void;
15
+ onKeydown(event: KeyboardEvent): void;
16
+ onPaste(event: ClipboardEvent): void;
17
+ private sanitize;
18
+ private render;
19
+ }