@webiny/api-website-builder 0.0.0-unstable.6844005670 → 0.0.0-unstable.7be00a75a9

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 (558) hide show
  1. package/constants.js +4 -3
  2. package/constants.js.map +1 -1
  3. package/domain/page/EntryToPageMapper.js +30 -27
  4. package/domain/page/EntryToPageMapper.js.map +1 -1
  5. package/domain/page/PagePath.d.ts +7 -0
  6. package/domain/page/PagePath.js +26 -0
  7. package/domain/page/PagePath.js.map +1 -0
  8. package/domain/page/abstractions.d.ts +19 -1
  9. package/domain/page/abstractions.js +2 -5
  10. package/domain/page/abstractions.js.map +1 -1
  11. package/domain/page/errors.d.ts +12 -0
  12. package/domain/page/errors.js +48 -31
  13. package/domain/page/errors.js.map +1 -1
  14. package/domain/page/page.model.d.ts +8 -1
  15. package/domain/page/page.model.js +25 -30
  16. package/domain/page/page.model.js.map +1 -1
  17. package/domain/permissionsSchema.d.ts +29 -0
  18. package/domain/permissionsSchema.js +53 -0
  19. package/domain/permissionsSchema.js.map +1 -0
  20. package/domain/redirect/EntryToRedirectMapper.js +21 -20
  21. package/domain/redirect/EntryToRedirectMapper.js.map +1 -1
  22. package/domain/redirect/abstractions.js +2 -9
  23. package/domain/redirect/abstractions.js.map +1 -1
  24. package/domain/redirect/errors.js +28 -31
  25. package/domain/redirect/errors.js.map +1 -1
  26. package/domain/redirect/redirect.model.d.ts +8 -1
  27. package/domain/redirect/redirect.model.js +24 -30
  28. package/domain/redirect/redirect.model.js.map +1 -1
  29. package/domain/shared/abstractions.js +0 -3
  30. package/exports/api/website-builder/nextjs.js +0 -2
  31. package/exports/api/website-builder/page.d.ts +12 -8
  32. package/exports/api/website-builder/page.js +12 -10
  33. package/exports/api/website-builder/redirect.d.ts +4 -4
  34. package/exports/api/website-builder/redirect.js +4 -6
  35. package/features/installer/ApiKeyInstaller.d.ts +1 -1
  36. package/features/installer/ApiKeyInstaller.js +34 -31
  37. package/features/installer/ApiKeyInstaller.js.map +1 -1
  38. package/features/installer/feature.d.ts +4 -1
  39. package/features/installer/feature.js +6 -5
  40. package/features/installer/feature.js.map +1 -1
  41. package/features/nextjs/MarkdownContentBuilder.js +67 -76
  42. package/features/nextjs/MarkdownContentBuilder.js.map +1 -1
  43. package/features/nextjs/MarkdownContentBuilder.test.js +266 -273
  44. package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -1
  45. package/features/nextjs/NextjsConfig.js +43 -46
  46. package/features/nextjs/NextjsConfig.js.map +1 -1
  47. package/features/nextjs/abstractions.d.ts +1 -0
  48. package/features/nextjs/abstractions.js +2 -1
  49. package/features/nextjs/abstractions.js.map +1 -1
  50. package/features/nextjs/feature.d.ts +4 -1
  51. package/features/nextjs/feature.js +6 -5
  52. package/features/nextjs/feature.js.map +1 -1
  53. package/features/nextjs/index.js +0 -2
  54. package/features/pages/CreatePage/CreatePageRepository.js +23 -25
  55. package/features/pages/CreatePage/CreatePageRepository.js.map +1 -1
  56. package/features/pages/CreatePage/CreatePageUseCase.d.ts +2 -2
  57. package/features/pages/CreatePage/CreatePageUseCase.js +31 -36
  58. package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
  59. package/features/pages/CreatePage/abstractions.d.ts +8 -5
  60. package/features/pages/CreatePage/abstractions.js +5 -27
  61. package/features/pages/CreatePage/abstractions.js.map +1 -1
  62. package/features/pages/CreatePage/events.d.ts +3 -3
  63. package/features/pages/CreatePage/events.js +17 -15
  64. package/features/pages/CreatePage/events.js.map +1 -1
  65. package/features/pages/CreatePage/feature.d.ts +4 -1
  66. package/features/pages/CreatePage/feature.js +7 -6
  67. package/features/pages/CreatePage/feature.js.map +1 -1
  68. package/features/pages/CreatePage/index.d.ts +1 -1
  69. package/features/pages/CreatePage/index.js +1 -3
  70. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +30 -36
  71. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
  72. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +2 -2
  73. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +35 -43
  74. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
  75. package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +9 -6
  76. package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -27
  77. package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
  78. package/features/pages/CreatePageRevisionFrom/events.d.ts +3 -3
  79. package/features/pages/CreatePageRevisionFrom/events.js +17 -15
  80. package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
  81. package/features/pages/CreatePageRevisionFrom/feature.d.ts +4 -1
  82. package/features/pages/CreatePageRevisionFrom/feature.js +7 -6
  83. package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -1
  84. package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -1
  85. package/features/pages/CreatePageRevisionFrom/index.js +1 -3
  86. package/features/pages/DeletePage/DeletePageRepository.d.ts +1 -3
  87. package/features/pages/DeletePage/DeletePageRepository.js +18 -28
  88. package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
  89. package/features/pages/DeletePage/DeletePageUseCase.d.ts +6 -6
  90. package/features/pages/DeletePage/DeletePageUseCase.js +36 -43
  91. package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
  92. package/features/pages/DeletePage/abstractions.d.ts +11 -7
  93. package/features/pages/DeletePage/abstractions.js +5 -27
  94. package/features/pages/DeletePage/abstractions.js.map +1 -1
  95. package/features/pages/DeletePage/events.d.ts +3 -3
  96. package/features/pages/DeletePage/events.js +17 -15
  97. package/features/pages/DeletePage/events.js.map +1 -1
  98. package/features/pages/DeletePage/feature.d.ts +4 -1
  99. package/features/pages/DeletePage/feature.js +7 -6
  100. package/features/pages/DeletePage/feature.js.map +1 -1
  101. package/features/pages/DeletePage/index.d.ts +1 -1
  102. package/features/pages/DeletePage/index.js +1 -3
  103. package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +2 -2
  104. package/features/pages/DuplicatePage/DuplicatePageRepository.js +50 -45
  105. package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
  106. package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +2 -2
  107. package/features/pages/DuplicatePage/DuplicatePageUseCase.js +37 -45
  108. package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
  109. package/features/pages/DuplicatePage/abstractions.d.ts +16 -7
  110. package/features/pages/DuplicatePage/abstractions.js +5 -27
  111. package/features/pages/DuplicatePage/abstractions.js.map +1 -1
  112. package/features/pages/DuplicatePage/events.d.ts +3 -3
  113. package/features/pages/DuplicatePage/events.js +17 -15
  114. package/features/pages/DuplicatePage/events.js.map +1 -1
  115. package/features/pages/DuplicatePage/feature.d.ts +4 -1
  116. package/features/pages/DuplicatePage/feature.js +7 -6
  117. package/features/pages/DuplicatePage/feature.js.map +1 -1
  118. package/features/pages/DuplicatePage/index.d.ts +2 -1
  119. package/features/pages/DuplicatePage/index.js +1 -3
  120. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.d.ts +13 -0
  121. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +32 -0
  122. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -0
  123. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.d.ts +12 -0
  124. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +29 -0
  125. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -0
  126. package/features/pages/GetDeletedPageById/abstractions.d.ts +42 -0
  127. package/features/pages/GetDeletedPageById/abstractions.js +6 -0
  128. package/features/pages/GetDeletedPageById/abstractions.js.map +1 -0
  129. package/features/pages/GetDeletedPageById/feature.d.ts +4 -0
  130. package/features/pages/GetDeletedPageById/feature.js +13 -0
  131. package/features/pages/GetDeletedPageById/feature.js.map +1 -0
  132. package/features/pages/GetDeletedPageById/index.d.ts +1 -0
  133. package/features/pages/GetDeletedPageById/index.js +1 -0
  134. package/features/pages/GetPageById/GetPageByIdRepository.js +20 -18
  135. package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -1
  136. package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +1 -1
  137. package/features/pages/GetPageById/GetPageByIdUseCase.js +20 -22
  138. package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
  139. package/features/pages/GetPageById/abstractions.d.ts +1 -0
  140. package/features/pages/GetPageById/abstractions.js +3 -12
  141. package/features/pages/GetPageById/abstractions.js.map +1 -1
  142. package/features/pages/GetPageById/feature.d.ts +4 -1
  143. package/features/pages/GetPageById/feature.js +7 -6
  144. package/features/pages/GetPageById/feature.js.map +1 -1
  145. package/features/pages/GetPageById/index.js +0 -2
  146. package/features/pages/GetPageByPath/GetPageByPathRepository.js +26 -26
  147. package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -1
  148. package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +1 -1
  149. package/features/pages/GetPageByPath/GetPageByPathUseCase.js +20 -22
  150. package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
  151. package/features/pages/GetPageByPath/abstractions.d.ts +1 -0
  152. package/features/pages/GetPageByPath/abstractions.js +3 -12
  153. package/features/pages/GetPageByPath/abstractions.js.map +1 -1
  154. package/features/pages/GetPageByPath/feature.d.ts +4 -1
  155. package/features/pages/GetPageByPath/feature.js +7 -6
  156. package/features/pages/GetPageByPath/feature.js.map +1 -1
  157. package/features/pages/GetPageByPath/index.js +0 -2
  158. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.d.ts +15 -0
  159. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +55 -0
  160. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -0
  161. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.d.ts +10 -0
  162. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +21 -0
  163. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -0
  164. package/features/pages/GetPageLanguagePaths/abstractions.d.ts +20 -0
  165. package/features/pages/GetPageLanguagePaths/abstractions.js +6 -0
  166. package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -0
  167. package/features/pages/GetPageLanguagePaths/feature.d.ts +4 -0
  168. package/features/pages/GetPageLanguagePaths/feature.js +13 -0
  169. package/features/pages/GetPageLanguagePaths/feature.js.map +1 -0
  170. package/features/pages/GetPageLanguagePaths/index.d.ts +1 -0
  171. package/features/pages/GetPageLanguagePaths/index.js +1 -0
  172. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +17 -15
  173. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -1
  174. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +1 -1
  175. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +23 -25
  176. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
  177. package/features/pages/GetPageRevisions/abstractions.d.ts +1 -0
  178. package/features/pages/GetPageRevisions/abstractions.js +3 -12
  179. package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
  180. package/features/pages/GetPageRevisions/feature.d.ts +4 -1
  181. package/features/pages/GetPageRevisions/feature.js +7 -6
  182. package/features/pages/GetPageRevisions/feature.js.map +1 -1
  183. package/features/pages/GetPageRevisions/index.js +0 -2
  184. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.d.ts +17 -0
  185. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +50 -0
  186. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -0
  187. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.d.ts +14 -0
  188. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +38 -0
  189. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -0
  190. package/features/pages/ListDeletedPages/abstractions.d.ts +56 -0
  191. package/features/pages/ListDeletedPages/abstractions.js +6 -0
  192. package/features/pages/ListDeletedPages/abstractions.js.map +1 -0
  193. package/features/pages/ListDeletedPages/feature.d.ts +4 -0
  194. package/features/pages/ListDeletedPages/feature.js +13 -0
  195. package/features/pages/ListDeletedPages/feature.js.map +1 -0
  196. package/features/pages/ListDeletedPages/index.d.ts +1 -0
  197. package/features/pages/ListDeletedPages/index.js +1 -0
  198. package/features/pages/ListPages/ListPagesRepository.js +37 -36
  199. package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
  200. package/features/pages/ListPages/ListPagesUseCase.d.ts +1 -1
  201. package/features/pages/ListPages/ListPagesUseCase.js +28 -25
  202. package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
  203. package/features/pages/ListPages/abstractions.d.ts +1 -0
  204. package/features/pages/ListPages/abstractions.js +3 -12
  205. package/features/pages/ListPages/abstractions.js.map +1 -1
  206. package/features/pages/ListPages/feature.d.ts +4 -1
  207. package/features/pages/ListPages/feature.js +7 -6
  208. package/features/pages/ListPages/feature.js.map +1 -1
  209. package/features/pages/ListPages/index.js +0 -2
  210. package/features/pages/MovePage/MovePageRepository.js +25 -27
  211. package/features/pages/MovePage/MovePageRepository.js.map +1 -1
  212. package/features/pages/MovePage/MovePageUseCase.d.ts +2 -2
  213. package/features/pages/MovePage/MovePageUseCase.js +41 -51
  214. package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
  215. package/features/pages/MovePage/abstractions.d.ts +9 -6
  216. package/features/pages/MovePage/abstractions.js +5 -27
  217. package/features/pages/MovePage/abstractions.js.map +1 -1
  218. package/features/pages/MovePage/events.d.ts +3 -3
  219. package/features/pages/MovePage/events.js +17 -15
  220. package/features/pages/MovePage/events.js.map +1 -1
  221. package/features/pages/MovePage/feature.d.ts +4 -1
  222. package/features/pages/MovePage/feature.js +7 -6
  223. package/features/pages/MovePage/feature.js.map +1 -1
  224. package/features/pages/MovePage/index.d.ts +1 -1
  225. package/features/pages/MovePage/index.js +1 -3
  226. package/features/pages/PublishPage/PublishPageRepository.js +26 -28
  227. package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
  228. package/features/pages/PublishPage/PublishPageUseCase.d.ts +2 -2
  229. package/features/pages/PublishPage/PublishPageUseCase.js +38 -48
  230. package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
  231. package/features/pages/PublishPage/abstractions.d.ts +9 -6
  232. package/features/pages/PublishPage/abstractions.js +5 -27
  233. package/features/pages/PublishPage/abstractions.js.map +1 -1
  234. package/features/pages/PublishPage/events.d.ts +3 -3
  235. package/features/pages/PublishPage/events.js +17 -15
  236. package/features/pages/PublishPage/events.js.map +1 -1
  237. package/features/pages/PublishPage/feature.d.ts +4 -1
  238. package/features/pages/PublishPage/feature.js +7 -6
  239. package/features/pages/PublishPage/feature.js.map +1 -1
  240. package/features/pages/PublishPage/index.d.ts +1 -1
  241. package/features/pages/PublishPage/index.js +1 -3
  242. package/features/pages/RestorePage/RestorePageRepository.d.ts +13 -0
  243. package/features/pages/RestorePage/RestorePageRepository.js +31 -0
  244. package/features/pages/RestorePage/RestorePageRepository.js.map +1 -0
  245. package/features/pages/RestorePage/RestorePageUseCase.d.ts +16 -0
  246. package/features/pages/RestorePage/RestorePageUseCase.js +45 -0
  247. package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -0
  248. package/features/pages/RestorePage/abstractions.d.ts +59 -0
  249. package/features/pages/RestorePage/abstractions.js +8 -0
  250. package/features/pages/RestorePage/abstractions.js.map +1 -0
  251. package/features/pages/RestorePage/events.d.ts +10 -0
  252. package/features/pages/RestorePage/events.js +21 -0
  253. package/features/pages/RestorePage/events.js.map +1 -0
  254. package/features/pages/RestorePage/feature.d.ts +4 -0
  255. package/features/pages/RestorePage/feature.js +13 -0
  256. package/features/pages/RestorePage/feature.js.map +1 -0
  257. package/features/pages/RestorePage/index.d.ts +1 -0
  258. package/features/pages/RestorePage/index.js +1 -0
  259. package/features/pages/TranslatePage/TranslatePageUseCase.d.ts +17 -0
  260. package/features/pages/TranslatePage/TranslatePageUseCase.js +58 -0
  261. package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -0
  262. package/features/pages/TranslatePage/abstractions.d.ts +29 -0
  263. package/features/pages/TranslatePage/abstractions.js +5 -0
  264. package/features/pages/TranslatePage/abstractions.js.map +1 -0
  265. package/features/pages/TranslatePage/feature.d.ts +4 -0
  266. package/features/pages/TranslatePage/feature.js +11 -0
  267. package/features/pages/TranslatePage/feature.js.map +1 -0
  268. package/features/pages/TranslatePage/index.d.ts +1 -0
  269. package/features/pages/TranslatePage/index.js +1 -0
  270. package/features/pages/TrashPage/TrashPageRepository.d.ts +13 -0
  271. package/features/pages/TrashPage/TrashPageRepository.js +31 -0
  272. package/features/pages/TrashPage/TrashPageRepository.js.map +1 -0
  273. package/features/pages/TrashPage/TrashPageUseCase.d.ts +16 -0
  274. package/features/pages/TrashPage/TrashPageUseCase.js +45 -0
  275. package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -0
  276. package/features/pages/TrashPage/abstractions.d.ts +58 -0
  277. package/features/pages/TrashPage/abstractions.js +8 -0
  278. package/features/pages/TrashPage/abstractions.js.map +1 -0
  279. package/features/pages/TrashPage/events.d.ts +10 -0
  280. package/features/pages/TrashPage/events.js +21 -0
  281. package/features/pages/TrashPage/events.js.map +1 -0
  282. package/features/pages/TrashPage/feature.d.ts +4 -0
  283. package/features/pages/TrashPage/feature.js +13 -0
  284. package/features/pages/TrashPage/feature.js.map +1 -0
  285. package/features/pages/TrashPage/index.d.ts +1 -0
  286. package/features/pages/TrashPage/index.js +1 -0
  287. package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
  288. package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
  289. package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +2 -2
  290. package/features/pages/UnpublishPage/UnpublishPageUseCase.js +37 -47
  291. package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
  292. package/features/pages/UnpublishPage/abstractions.d.ts +9 -6
  293. package/features/pages/UnpublishPage/abstractions.js +5 -27
  294. package/features/pages/UnpublishPage/abstractions.js.map +1 -1
  295. package/features/pages/UnpublishPage/events.d.ts +3 -3
  296. package/features/pages/UnpublishPage/events.js +17 -15
  297. package/features/pages/UnpublishPage/events.js.map +1 -1
  298. package/features/pages/UnpublishPage/feature.d.ts +4 -1
  299. package/features/pages/UnpublishPage/feature.js +7 -6
  300. package/features/pages/UnpublishPage/feature.js.map +1 -1
  301. package/features/pages/UnpublishPage/index.d.ts +1 -1
  302. package/features/pages/UnpublishPage/index.js +1 -3
  303. package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
  304. package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
  305. package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +2 -2
  306. package/features/pages/UpdatePage/UpdatePageUseCase.js +46 -56
  307. package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
  308. package/features/pages/UpdatePage/abstractions.d.ts +8 -5
  309. package/features/pages/UpdatePage/abstractions.js +5 -27
  310. package/features/pages/UpdatePage/abstractions.js.map +1 -1
  311. package/features/pages/UpdatePage/events.d.ts +3 -3
  312. package/features/pages/UpdatePage/events.js +17 -15
  313. package/features/pages/UpdatePage/events.js.map +1 -1
  314. package/features/pages/UpdatePage/feature.d.ts +4 -1
  315. package/features/pages/UpdatePage/feature.js +7 -6
  316. package/features/pages/UpdatePage/feature.js.map +1 -1
  317. package/features/pages/UpdatePage/index.d.ts +1 -1
  318. package/features/pages/UpdatePage/index.js +1 -3
  319. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
  320. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -0
  321. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
  322. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
  323. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +56 -0
  324. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
  325. package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
  326. package/features/pages/UpdatePageRevisionDescription/abstractions.js +8 -0
  327. package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
  328. package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
  329. package/features/pages/UpdatePageRevisionDescription/events.js +21 -0
  330. package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
  331. package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
  332. package/features/pages/UpdatePageRevisionDescription/feature.js +13 -0
  333. package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
  334. package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
  335. package/features/pages/UpdatePageRevisionDescription/index.js +1 -0
  336. package/features/permissions/abstractions.d.ts +34 -0
  337. package/features/permissions/abstractions.js +6 -0
  338. package/features/permissions/abstractions.js.map +1 -0
  339. package/features/permissions/feature.d.ts +4 -0
  340. package/features/permissions/feature.js +7 -0
  341. package/features/permissions/feature.js.map +1 -0
  342. package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
  343. package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
  344. package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +2 -2
  345. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +31 -36
  346. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
  347. package/features/redirects/CreateRedirect/abstractions.d.ts +9 -6
  348. package/features/redirects/CreateRedirect/abstractions.js +5 -27
  349. package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
  350. package/features/redirects/CreateRedirect/events.d.ts +3 -3
  351. package/features/redirects/CreateRedirect/events.js +17 -15
  352. package/features/redirects/CreateRedirect/events.js.map +1 -1
  353. package/features/redirects/CreateRedirect/feature.d.ts +4 -1
  354. package/features/redirects/CreateRedirect/feature.js +7 -6
  355. package/features/redirects/CreateRedirect/feature.js.map +1 -1
  356. package/features/redirects/CreateRedirect/index.d.ts +1 -1
  357. package/features/redirects/CreateRedirect/index.js +1 -3
  358. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
  359. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
  360. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +2 -2
  361. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +36 -43
  362. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
  363. package/features/redirects/DeleteRedirect/abstractions.d.ts +9 -6
  364. package/features/redirects/DeleteRedirect/abstractions.js +5 -27
  365. package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
  366. package/features/redirects/DeleteRedirect/events.d.ts +3 -3
  367. package/features/redirects/DeleteRedirect/events.js +17 -15
  368. package/features/redirects/DeleteRedirect/events.js.map +1 -1
  369. package/features/redirects/DeleteRedirect/feature.d.ts +4 -1
  370. package/features/redirects/DeleteRedirect/feature.js +7 -6
  371. package/features/redirects/DeleteRedirect/feature.js.map +1 -1
  372. package/features/redirects/DeleteRedirect/index.d.ts +1 -1
  373. package/features/redirects/DeleteRedirect/index.js +1 -3
  374. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
  375. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
  376. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +1 -1
  377. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +18 -16
  378. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
  379. package/features/redirects/GetActiveRedirects/abstractions.d.ts +1 -0
  380. package/features/redirects/GetActiveRedirects/abstractions.js +3 -12
  381. package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
  382. package/features/redirects/GetActiveRedirects/feature.d.ts +4 -1
  383. package/features/redirects/GetActiveRedirects/feature.js +7 -6
  384. package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
  385. package/features/redirects/GetActiveRedirects/index.js +0 -2
  386. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
  387. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
  388. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +1 -1
  389. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +21 -23
  390. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
  391. package/features/redirects/GetRedirectById/abstractions.d.ts +1 -0
  392. package/features/redirects/GetRedirectById/abstractions.js +3 -12
  393. package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
  394. package/features/redirects/GetRedirectById/feature.d.ts +4 -1
  395. package/features/redirects/GetRedirectById/feature.js +7 -6
  396. package/features/redirects/GetRedirectById/feature.js.map +1 -1
  397. package/features/redirects/GetRedirectById/index.js +0 -2
  398. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
  399. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
  400. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +3 -3
  401. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +14 -17
  402. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
  403. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +3 -3
  404. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +14 -17
  405. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
  406. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +3 -3
  407. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +14 -18
  408. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
  409. package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +1 -0
  410. package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -6
  411. package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
  412. package/features/redirects/InvalidateRedirectsCache/feature.d.ts +4 -1
  413. package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
  414. package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
  415. package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
  416. package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
  417. package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
  418. package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +1 -1
  419. package/features/redirects/ListRedirects/ListRedirectsUseCase.js +29 -26
  420. package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
  421. package/features/redirects/ListRedirects/abstractions.d.ts +1 -0
  422. package/features/redirects/ListRedirects/abstractions.js +3 -16
  423. package/features/redirects/ListRedirects/abstractions.js.map +1 -1
  424. package/features/redirects/ListRedirects/feature.d.ts +4 -1
  425. package/features/redirects/ListRedirects/feature.js +7 -6
  426. package/features/redirects/ListRedirects/feature.js.map +1 -1
  427. package/features/redirects/ListRedirects/index.js +0 -2
  428. package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
  429. package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
  430. package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +2 -2
  431. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +41 -51
  432. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
  433. package/features/redirects/MoveRedirect/abstractions.d.ts +9 -6
  434. package/features/redirects/MoveRedirect/abstractions.js +5 -27
  435. package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
  436. package/features/redirects/MoveRedirect/events.d.ts +3 -3
  437. package/features/redirects/MoveRedirect/events.js +17 -15
  438. package/features/redirects/MoveRedirect/events.js.map +1 -1
  439. package/features/redirects/MoveRedirect/feature.d.ts +4 -1
  440. package/features/redirects/MoveRedirect/feature.js +7 -6
  441. package/features/redirects/MoveRedirect/feature.js.map +1 -1
  442. package/features/redirects/MoveRedirect/index.d.ts +1 -1
  443. package/features/redirects/MoveRedirect/index.js +1 -3
  444. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
  445. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
  446. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +2 -2
  447. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +46 -56
  448. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
  449. package/features/redirects/UpdateRedirect/abstractions.d.ts +9 -6
  450. package/features/redirects/UpdateRedirect/abstractions.js +5 -27
  451. package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
  452. package/features/redirects/UpdateRedirect/events.d.ts +3 -3
  453. package/features/redirects/UpdateRedirect/events.js +17 -15
  454. package/features/redirects/UpdateRedirect/events.js.map +1 -1
  455. package/features/redirects/UpdateRedirect/feature.d.ts +4 -1
  456. package/features/redirects/UpdateRedirect/feature.js +7 -6
  457. package/features/redirects/UpdateRedirect/feature.js.map +1 -1
  458. package/features/redirects/UpdateRedirect/index.d.ts +1 -1
  459. package/features/redirects/UpdateRedirect/index.js +1 -3
  460. package/features/tenantManager/TenantModelExtension.js +52 -32
  461. package/features/tenantManager/TenantModelExtension.js.map +1 -1
  462. package/features/tenantManager/feature.d.ts +4 -1
  463. package/features/tenantManager/feature.js +6 -5
  464. package/features/tenantManager/feature.js.map +1 -1
  465. package/features/webhooks/WbWebhookEventProvider.d.ts +8 -0
  466. package/features/webhooks/WbWebhookEventProvider.js +95 -0
  467. package/features/webhooks/WbWebhookEventProvider.js.map +1 -0
  468. package/features/webhooks/constants.d.ts +12 -0
  469. package/features/webhooks/constants.js +16 -0
  470. package/features/webhooks/constants.js.map +1 -0
  471. package/features/webhooks/feature.d.ts +4 -0
  472. package/features/webhooks/feature.js +31 -0
  473. package/features/webhooks/feature.js.map +1 -0
  474. package/features/webhooks/handlers/OnPageCreatedHandler.d.ts +11 -0
  475. package/features/webhooks/handlers/OnPageCreatedHandler.js +22 -0
  476. package/features/webhooks/handlers/OnPageCreatedHandler.js.map +1 -0
  477. package/features/webhooks/handlers/OnPageDeletedHandler.d.ts +11 -0
  478. package/features/webhooks/handlers/OnPageDeletedHandler.js +22 -0
  479. package/features/webhooks/handlers/OnPageDeletedHandler.js.map +1 -0
  480. package/features/webhooks/handlers/OnPagePublishedHandler.d.ts +11 -0
  481. package/features/webhooks/handlers/OnPagePublishedHandler.js +22 -0
  482. package/features/webhooks/handlers/OnPagePublishedHandler.js.map +1 -0
  483. package/features/webhooks/handlers/OnPageRestoredHandler.d.ts +11 -0
  484. package/features/webhooks/handlers/OnPageRestoredHandler.js +22 -0
  485. package/features/webhooks/handlers/OnPageRestoredHandler.js.map +1 -0
  486. package/features/webhooks/handlers/OnPageTrashedHandler.d.ts +11 -0
  487. package/features/webhooks/handlers/OnPageTrashedHandler.js +22 -0
  488. package/features/webhooks/handlers/OnPageTrashedHandler.js.map +1 -0
  489. package/features/webhooks/handlers/OnPageUnpublishedHandler.d.ts +11 -0
  490. package/features/webhooks/handlers/OnPageUnpublishedHandler.js +22 -0
  491. package/features/webhooks/handlers/OnPageUnpublishedHandler.js.map +1 -0
  492. package/features/webhooks/handlers/OnPageUpdatedHandler.d.ts +11 -0
  493. package/features/webhooks/handlers/OnPageUpdatedHandler.js +23 -0
  494. package/features/webhooks/handlers/OnPageUpdatedHandler.js.map +1 -0
  495. package/features/webhooks/handlers/OnRedirectCreatedHandler.d.ts +11 -0
  496. package/features/webhooks/handlers/OnRedirectCreatedHandler.js +22 -0
  497. package/features/webhooks/handlers/OnRedirectCreatedHandler.js.map +1 -0
  498. package/features/webhooks/handlers/OnRedirectDeletedHandler.d.ts +11 -0
  499. package/features/webhooks/handlers/OnRedirectDeletedHandler.js +22 -0
  500. package/features/webhooks/handlers/OnRedirectDeletedHandler.js.map +1 -0
  501. package/features/webhooks/handlers/OnRedirectUpdatedHandler.d.ts +11 -0
  502. package/features/webhooks/handlers/OnRedirectUpdatedHandler.js +23 -0
  503. package/features/webhooks/handlers/OnRedirectUpdatedHandler.js.map +1 -0
  504. package/graphql/createGraphQL.js +15 -12
  505. package/graphql/createGraphQL.js.map +1 -1
  506. package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
  507. package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
  508. package/graphql/pages/pages.gql.js +226 -254
  509. package/graphql/pages/pages.gql.js.map +1 -1
  510. package/graphql/pages/pages.typeDefs.d.ts +1 -1
  511. package/graphql/pages/pages.typeDefs.js +18 -2
  512. package/graphql/pages/pages.typeDefs.js.map +1 -1
  513. package/graphql/redirects/redirects.gql.js +56 -86
  514. package/graphql/redirects/redirects.gql.js.map +1 -1
  515. package/graphql/redirects/redirects.typeDefs.js +3 -4
  516. package/graphql/redirects/redirects.typeDefs.js.map +1 -1
  517. package/index.d.ts +1 -1
  518. package/index.js +73 -56
  519. package/index.js.map +1 -1
  520. package/package.json +29 -25
  521. package/rest/ActiveRedirectDto.js +0 -3
  522. package/rest/ActiveRedirectRestMapper.js +10 -9
  523. package/rest/ActiveRedirectRestMapper.js.map +1 -1
  524. package/rest/getRedirects.js +19 -26
  525. package/rest/getRedirects.js.map +1 -1
  526. package/utils/ensureAuthentication.js +6 -9
  527. package/utils/ensureAuthentication.js.map +1 -1
  528. package/utils/resolve.js +7 -6
  529. package/utils/resolve.js.map +1 -1
  530. package/domain/permissions.d.ts +0 -125
  531. package/domain/permissions.js +0 -33
  532. package/domain/permissions.js.map +0 -1
  533. package/domain/shared/abstractions.js.map +0 -1
  534. package/exports/api/website-builder/nextjs.js.map +0 -1
  535. package/exports/api/website-builder/page.js.map +0 -1
  536. package/exports/api/website-builder/redirect.js.map +0 -1
  537. package/features/nextjs/index.js.map +0 -1
  538. package/features/pages/CreatePage/index.js.map +0 -1
  539. package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
  540. package/features/pages/DeletePage/index.js.map +0 -1
  541. package/features/pages/DuplicatePage/index.js.map +0 -1
  542. package/features/pages/GetPageById/index.js.map +0 -1
  543. package/features/pages/GetPageByPath/index.js.map +0 -1
  544. package/features/pages/GetPageRevisions/index.js.map +0 -1
  545. package/features/pages/ListPages/index.js.map +0 -1
  546. package/features/pages/MovePage/index.js.map +0 -1
  547. package/features/pages/PublishPage/index.js.map +0 -1
  548. package/features/pages/UnpublishPage/index.js.map +0 -1
  549. package/features/pages/UpdatePage/index.js.map +0 -1
  550. package/features/redirects/CreateRedirect/index.js.map +0 -1
  551. package/features/redirects/DeleteRedirect/index.js.map +0 -1
  552. package/features/redirects/GetActiveRedirects/index.js.map +0 -1
  553. package/features/redirects/GetRedirectById/index.js.map +0 -1
  554. package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
  555. package/features/redirects/ListRedirects/index.js.map +0 -1
  556. package/features/redirects/MoveRedirect/index.js.map +0 -1
  557. package/features/redirects/UpdateRedirect/index.js.map +0 -1
  558. package/rest/ActiveRedirectDto.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","MovePageUseCase","UseCaseAbstraction","MovePageRepository","PageBeforeMoveEvent","PageAfterMoveEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","MovePageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","hasPermission","canEdit","fail","getResult","id","isFail","original","value","beforeEvent","input","publish","result","afterEvent","page","ok","abstraction","implementation","dependencies","Abstraction"],"sources":["MovePageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport { MovePageUseCase as UseCaseAbstraction, MovePageRepository } from \"./abstractions.js\";\nimport { PageBeforeMoveEvent, PageAfterMoveEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/domain/permissions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass MovePageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: MovePageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canEdit(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the original page for events\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n const canEdit = await this.permissions.canEdit(\"page\", original);\n if (!canEdit) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before move event\n const beforeEvent = new PageBeforeMoveEvent({\n original,\n input: params\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the move operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after move event\n const afterEvent = new PageAfterMoveEvent({\n original,\n input: params,\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const MovePageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MovePageUseCaseImpl,\n dependencies: [\n WbPermissions.Abstraction,\n EventPublisher,\n GetPageByIdUseCase,\n MovePageRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,0CAA0C;AACjD,SAASC,eAAe,IAAIC,kBAAkB,EAAEC,kBAAkB;AAClE,SAASC,mBAAmB,EAAEC,kBAAkB;AAChD,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,mBAAmB,CAAyC;EAC9DC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAwC,EAClD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAAwC,GAAxCA,UAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,WAAW,CAACO,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACP,WAAW,CAACE,OAAO,CAACC,MAAM,CAACK,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,QAAQ,GAAGH,SAAS,CAACI,KAAK;IAEhC,MAAMN,OAAO,GAAG,MAAM,IAAI,CAACP,WAAW,CAACO,OAAO,CAAC,MAAM,EAAEK,QAAQ,CAAC;IAChE,IAAI,CAACL,OAAO,EAAE;MACV,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMiB,WAAW,GAAG,IAAIrB,mBAAmB,CAAC;MACxCmB,QAAQ;MACRG,KAAK,EAAEV;IACX,CAAC,CAAC;IAEF,MAAM,IAAI,CAACJ,cAAc,CAACe,OAAO,CAACF,WAAW,CAAC;;IAE9C;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIY,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,kBAAkB,CAAC;MACtCkB,QAAQ;MACRG,KAAK,EAAEV,MAAM;MACbc,IAAI,EAAEF,MAAM,CAACJ;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO/B,MAAM,CAACiC,EAAE,CAACH,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,eAAe,GAAGF,oBAAoB,CAAC;EAChDiC,WAAW,EAAE9B,kBAAkB;EAC/B+B,cAAc,EAAExB,mBAAmB;EACnCyB,YAAY,EAAE,CACV3B,aAAa,CAAC4B,WAAW,EACzBnC,cAAc,EACdM,kBAAkB,EAClBH,kBAAkB;AAE1B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/MovePage/MovePageUseCase.js","sources":["../../../../src/features/pages/MovePage/MovePageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { MovePageUseCase as UseCaseAbstraction, MovePageRepository } from \"./abstractions.js\";\nimport { PageBeforeMoveEvent, PageAfterMoveEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass MovePageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: MovePageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canEdit(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the original page for events\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n const canEdit = await this.permissions.canEdit(\"page\", original);\n if (!canEdit) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before move event\n const beforeEvent = new PageBeforeMoveEvent({\n original,\n input: params\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the move operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after move event\n const afterEvent = new PageAfterMoveEvent({\n original,\n input: params,\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const MovePageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MovePageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, MovePageRepository]\n});\n"],"names":["MovePageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","hasPermission","Result","PageNotAuthorizedError","getResult","original","canEdit","beforeEvent","PageBeforeMoveEvent","result","afterEvent","PageAfterMoveEvent","MovePageUseCase","createImplementation","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","MovePageRepository"],"mappings":";;;;;;;AAWA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAwC,CAClD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QACxE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACJ,OAAO,EAAE;QAE1D,IAAII,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,WAAWD,UAAU,KAAK;QAEhC,MAAME,UAAU,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQD;QACvD,IAAI,CAACC,SACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMI,cAAc,IAAIC,oBAAoB;YACxCH;YACA,OAAOL;QACX;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACO;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACT;QAE7C,IAAIS,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,mBAAmB;YACtCN;YACA,OAAOL;YACP,MAAMS,OAAO,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,kCAAkBC,qBAAqB;IAChD,aAAaC;IACb,gBAAgBnB;IAChB,cAAc;QAACoB;QAAeC;QAAgBC;QAAoBC;KAAmB;AACzF"}
@@ -1,6 +1,6 @@
1
1
  import { type Result } from "@webiny/feature/api";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
3
- import type { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import type { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import type { WbPage } from "../../../domain/page/abstractions.js";
5
5
  import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
6
  export interface IMoveWbPageParams {
@@ -31,6 +31,7 @@ export interface IMovePageUseCaseErrors {
31
31
  persistence: PagePersistenceError;
32
32
  }
33
33
  type UseCaseError = IMovePageUseCaseErrors[keyof IMovePageUseCaseErrors];
34
+ /** Move a page to a different folder. */
34
35
  export declare const MovePageUseCase: import("@webiny/di").Abstraction<IMovePageUseCase>;
35
36
  export declare namespace MovePageUseCase {
36
37
  type Interface = IMovePageUseCase;
@@ -48,14 +49,16 @@ export interface PageAfterMovePayload {
48
49
  input: IMoveWbPageParams;
49
50
  page: WbPage;
50
51
  }
51
- export declare const PageBeforeMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeMovePayload>>>;
52
- export declare namespace PageBeforeMoveHandler {
52
+ /** Hook into page lifecycle before a page is moved. */
53
+ export declare const PageBeforeMoveEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeMovePayload>>>;
54
+ export declare namespace PageBeforeMoveEventHandler {
53
55
  type Interface = IEventHandler<DomainEvent<PageBeforeMovePayload>>;
54
56
  type Event = DomainEvent<PageBeforeMovePayload>;
55
57
  type Page = WbPage;
56
58
  }
57
- export declare const PageAfterMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterMovePayload>>>;
58
- export declare namespace PageAfterMoveHandler {
59
+ /** Hook into page lifecycle after a page is moved. */
60
+ export declare const PageAfterMoveEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterMovePayload>>>;
61
+ export declare namespace PageAfterMoveEventHandler {
59
62
  type Interface = IEventHandler<DomainEvent<PageAfterMovePayload>>;
60
63
  type Event = DomainEvent<PageAfterMovePayload>;
61
64
  type Page = WbPage;
@@ -1,30 +1,8 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // ============================================================================
4
- // Type Definitions
5
- // ============================================================================
6
-
7
- // ============================================================================
8
- // Repository Abstraction
9
- // ============================================================================
10
-
11
- export const MovePageRepository = createAbstraction("Wb/MovePageRepository");
12
-
13
- // ============================================================================
14
- // Use Case Abstraction
15
- // ============================================================================
16
-
17
- export const MovePageUseCase = createAbstraction("Wb/MovePageUseCase");
18
-
19
- // ============================================================================
20
- // Event Payload Types
21
- // ============================================================================
22
-
23
- // ============================================================================
24
- // Event Handler Abstractions
25
- // ============================================================================
26
-
27
- export const PageBeforeMoveHandler = createAbstraction("Wb/PageBeforeMoveHandler");
28
- export const PageAfterMoveHandler = createAbstraction("Wb/PageAfterMoveHandler");
2
+ const MovePageRepository = createAbstraction("Wb/MovePageRepository");
3
+ const MovePageUseCase = createAbstraction("Wb/MovePageUseCase");
4
+ const PageBeforeMoveEventHandler = createAbstraction("Wb/PageBeforeMoveEventHandler");
5
+ const PageAfterMoveEventHandler = createAbstraction("Wb/PageAfterMoveEventHandler");
6
+ export { MovePageRepository, MovePageUseCase, PageAfterMoveEventHandler, PageBeforeMoveEventHandler };
29
7
 
30
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","MovePageRepository","MovePageUseCase","PageBeforeMoveHandler","PageAfterMoveHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IMoveWbPageParams {\n id: string;\n folderId: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IMovePageRepository {\n execute(params: IMoveWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IMovePageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IMovePageRepositoryErrors[keyof IMovePageRepositoryErrors];\n\nexport const MovePageRepository = createAbstraction<IMovePageRepository>(\"Wb/MovePageRepository\");\n\nexport namespace MovePageRepository {\n export type Interface = IMovePageRepository;\n export type Params = IMoveWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IMovePageUseCase {\n execute(params: IMoveWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IMovePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IMovePageUseCaseErrors[keyof IMovePageUseCaseErrors];\n\nexport const MovePageUseCase = createAbstraction<IMovePageUseCase>(\"Wb/MovePageUseCase\");\n\nexport namespace MovePageUseCase {\n export type Interface = IMovePageUseCase;\n export type Params = IMoveWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeMovePayload {\n original: WbPage;\n input: IMoveWbPageParams;\n}\n\nexport interface PageAfterMovePayload {\n original: WbPage;\n input: IMoveWbPageParams;\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforeMoveHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeMovePayload>>\n>(\"Wb/PageBeforeMoveHandler\");\n\nexport namespace PageBeforeMoveHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeMovePayload>>;\n export type Event = DomainEvent<PageBeforeMovePayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterMoveHandler =\n createAbstraction<IEventHandler<DomainEvent<PageAfterMovePayload>>>(\"Wb/PageAfterMoveHandler\");\n\nexport namespace PageAfterMoveHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterMovePayload>>;\n export type Event = DomainEvent<PageAfterMovePayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAUpE;AACA;AACA;;AAOA;AACA;AACA;;AAaA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,uBAAuB,CAAC;;AASjG;AACA;AACA;;AAcA,OAAO,MAAME,eAAe,GAAGF,iBAAiB,CAAmB,oBAAoB,CAAC;;AAUxF;AACA;AACA;;AAaA;AACA;AACA;;AAEA,OAAO,MAAMG,qBAAqB,GAAGH,iBAAiB,CAEpD,0BAA0B,CAAC;AAQ7B,OAAO,MAAMI,oBAAoB,GAC7BJ,iBAAiB,CAAmD,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/MovePage/abstractions.js","sources":["../../../../src/features/pages/MovePage/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IMoveWbPageParams {\n id: string;\n folderId: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IMovePageRepository {\n execute(params: IMoveWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IMovePageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IMovePageRepositoryErrors[keyof IMovePageRepositoryErrors];\n\nexport const MovePageRepository = createAbstraction<IMovePageRepository>(\"Wb/MovePageRepository\");\n\nexport namespace MovePageRepository {\n export type Interface = IMovePageRepository;\n export type Params = IMoveWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IMovePageUseCase {\n execute(params: IMoveWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IMovePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IMovePageUseCaseErrors[keyof IMovePageUseCaseErrors];\n\n/** Move a page to a different folder. */\nexport const MovePageUseCase = createAbstraction<IMovePageUseCase>(\"Wb/MovePageUseCase\");\n\nexport namespace MovePageUseCase {\n export type Interface = IMovePageUseCase;\n export type Params = IMoveWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeMovePayload {\n original: WbPage;\n input: IMoveWbPageParams;\n}\n\nexport interface PageAfterMovePayload {\n original: WbPage;\n input: IMoveWbPageParams;\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into page lifecycle before a page is moved. */\nexport const PageBeforeMoveEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeMovePayload>>\n>(\"Wb/PageBeforeMoveEventHandler\");\n\nexport namespace PageBeforeMoveEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeMovePayload>>;\n export type Event = DomainEvent<PageBeforeMovePayload>;\n export type Page = WbPage;\n}\n\n/** Hook into page lifecycle after a page is moved. */\nexport const PageAfterMoveEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterMovePayload>>\n>(\"Wb/PageAfterMoveEventHandler\");\n\nexport namespace PageAfterMoveEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterMovePayload>>;\n export type Event = DomainEvent<PageAfterMovePayload>;\n export type Page = WbPage;\n}\n"],"names":["MovePageRepository","createAbstraction","MovePageUseCase","PageBeforeMoveEventHandler","PageAfterMoveEventHandler"],"mappings":";AAkCO,MAAMA,qBAAqBC,kBAAuC;AA0BlE,MAAMC,kBAAkBD,kBAAoC;AA8B5D,MAAME,6BAA6BF,kBAExC;AASK,MAAMG,4BAA4BH,kBAEvC"}
@@ -1,10 +1,10 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import type { PageBeforeMovePayload, PageAfterMovePayload } from "./abstractions.js";
3
3
  export declare class PageBeforeMoveEvent extends DomainEvent<PageBeforeMovePayload> {
4
4
  eventType: "page.beforeMove";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<PageBeforeMovePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageBeforeMovePayload>>>;
6
6
  }
7
7
  export declare class PageAfterMoveEvent extends DomainEvent<PageAfterMovePayload> {
8
8
  eventType: "page.afterMove";
9
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<PageAfterMovePayload>>>;
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageAfterMovePayload>>>;
10
10
  }
@@ -1,19 +1,21 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import { PageBeforeMoveHandler, PageAfterMoveHandler } from "./abstractions.js";
3
- // PageBeforeMove Event
4
- export class PageBeforeMoveEvent extends DomainEvent {
5
- eventType = "page.beforeMove";
6
- getHandlerAbstraction() {
7
- return PageBeforeMoveHandler;
8
- }
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { PageAfterMoveEventHandler, PageBeforeMoveEventHandler } from "./abstractions.js";
3
+ class PageBeforeMoveEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return PageBeforeMoveEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "page.beforeMove";
9
+ }
9
10
  }
10
-
11
- // PageAfterMove Event
12
- export class PageAfterMoveEvent extends DomainEvent {
13
- eventType = "page.afterMove";
14
- getHandlerAbstraction() {
15
- return PageAfterMoveHandler;
16
- }
11
+ class PageAfterMoveEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return PageAfterMoveEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "page.afterMove";
17
+ }
17
18
  }
19
+ export { PageAfterMoveEvent, PageBeforeMoveEvent };
18
20
 
19
21
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","PageBeforeMoveHandler","PageAfterMoveHandler","PageBeforeMoveEvent","eventType","getHandlerAbstraction","PageAfterMoveEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { PageBeforeMoveHandler, PageAfterMoveHandler } from \"./abstractions.js\";\nimport type { PageBeforeMovePayload, PageAfterMovePayload } from \"./abstractions.js\";\n\n// PageBeforeMove Event\nexport class PageBeforeMoveEvent extends DomainEvent<PageBeforeMovePayload> {\n eventType = \"page.beforeMove\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeMoveHandler;\n }\n}\n\n// PageAfterMove Event\nexport class PageAfterMoveEvent extends DomainEvent<PageAfterMovePayload> {\n eventType = \"page.afterMove\" as const;\n\n getHandlerAbstraction() {\n return PageAfterMoveHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,qBAAqB,EAAEC,oBAAoB;AAGpD;AACA,OAAO,MAAMC,mBAAmB,SAASH,WAAW,CAAwB;EACxEI,SAAS,GAAG,iBAAiB;EAE7BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,qBAAqB;EAChC;AACJ;;AAEA;AACA,OAAO,MAAMK,kBAAkB,SAASN,WAAW,CAAuB;EACtEI,SAAS,GAAG,gBAAgB;EAE5BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,oBAAoB;EAC/B;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/MovePage/events.js","sources":["../../../../src/features/pages/MovePage/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeMoveEventHandler, PageAfterMoveEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeMovePayload, PageAfterMovePayload } from \"./abstractions.js\";\n\n// PageBeforeMove Event\nexport class PageBeforeMoveEvent extends DomainEvent<PageBeforeMovePayload> {\n eventType = \"page.beforeMove\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeMoveEventHandler;\n }\n}\n\n// PageAfterMove Event\nexport class PageAfterMoveEvent extends DomainEvent<PageAfterMovePayload> {\n eventType = \"page.afterMove\" as const;\n\n getHandlerAbstraction() {\n return PageAfterMoveEventHandler;\n }\n}\n"],"names":["PageBeforeMoveEvent","DomainEvent","PageBeforeMoveEventHandler","PageAfterMoveEvent","PageAfterMoveEventHandler"],"mappings":";;AAKO,MAAMA,4BAA4BC;IAGrC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,2BAA2BF;IAGpC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1 +1,4 @@
1
- export declare const MovePageFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const MovePageFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { MovePageRepository } from "./MovePageRepository.js";
3
3
  import { MovePageUseCase } from "./MovePageUseCase.js";
4
- export const MovePageFeature = createFeature({
5
- name: "WebsiteBuilder/MovePage",
6
- register(container) {
7
- container.register(MovePageRepository).inSingletonScope();
8
- container.register(MovePageUseCase);
9
- }
4
+ const MovePageFeature = createFeature({
5
+ name: "WebsiteBuilder/MovePage",
6
+ register (container) {
7
+ container.register(MovePageRepository).inSingletonScope();
8
+ container.register(MovePageUseCase);
9
+ }
10
10
  });
11
+ export { MovePageFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","MovePageRepository","MovePageUseCase","MovePageFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MovePageRepository } from \"./MovePageRepository.js\";\nimport { MovePageUseCase } from \"./MovePageUseCase.js\";\n\nexport const MovePageFeature = createFeature({\n name: \"WebsiteBuilder/MovePage\",\n register(container) {\n container.register(MovePageRepository).inSingletonScope();\n container.register(MovePageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,kBAAkB;AAC3B,SAASC,eAAe;AAExB,OAAO,MAAMC,eAAe,GAAGH,aAAa,CAAC;EACzCI,IAAI,EAAE,yBAAyB;EAC/BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,kBAAkB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IACzDD,SAAS,CAACD,QAAQ,CAACH,eAAe,CAAC;EACvC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/MovePage/feature.js","sources":["../../../../src/features/pages/MovePage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MovePageRepository } from \"./MovePageRepository.js\";\nimport { MovePageUseCase } from \"./MovePageUseCase.js\";\n\nexport const MovePageFeature = createFeature({\n name: \"WebsiteBuilder/MovePage\",\n register(container) {\n container.register(MovePageRepository).inSingletonScope();\n container.register(MovePageUseCase);\n }\n});\n"],"names":["MovePageFeature","createFeature","container","MovePageRepository","MovePageUseCase"],"mappings":";;;AAIO,MAAMA,kBAAkBC,cAAc;IACzC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,oBAAoB,gBAAgB;QACvDD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1 +1 @@
1
- export { PageAfterMoveHandler, PageBeforeMoveHandler, MovePageUseCase } from "./abstractions.js";
1
+ export { PageAfterMoveEventHandler, PageBeforeMoveEventHandler, MovePageUseCase } from "./abstractions.js";
@@ -1,3 +1 @@
1
- export { PageAfterMoveHandler, PageBeforeMoveHandler, MovePageUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { MovePageUseCase, PageAfterMoveEventHandler, PageBeforeMoveEventHandler } from "./abstractions.js";
@@ -1,41 +1,39 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { PublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { PublishPageRepository } from "./abstractions.js";
3
3
  import { PublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/PublishEntry";
4
4
  import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
5
5
  import { PageModel } from "../../../domain/page/abstractions.js";
6
6
  import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
7
7
  import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
8
8
  class PublishPageRepositoryImpl {
9
- constructor(publishEntry, getEntryById, pageModel) {
10
- this.publishEntry = publishEntry;
11
- this.getEntryById = getEntryById;
12
- this.pageModel = pageModel;
13
- }
14
- async execute(params) {
15
- // First, validate the page exists
16
- const getResult = await this.getEntryById.execute(this.pageModel, params.id);
17
- if (getResult.isFail()) {
18
- if (getResult.error.code === "Cms/Entry/NotFound") {
19
- return Result.fail(new PageNotFoundError(params.id));
20
- }
21
- return Result.fail(new PagePersistenceError(getResult.error));
9
+ constructor(publishEntry, getEntryById, pageModel){
10
+ this.publishEntry = publishEntry;
11
+ this.getEntryById = getEntryById;
12
+ this.pageModel = pageModel;
22
13
  }
23
-
24
- // Publish the entry
25
- const result = await this.publishEntry.execute(this.pageModel, params.id);
26
- if (result.isFail()) {
27
- if (result.error.code === "Cms/Entry/NotFound") {
28
- return Result.fail(new PageNotFoundError(params.id));
29
- }
30
- return Result.fail(new PagePersistenceError(result.error));
14
+ async execute(params) {
15
+ const getResult = await this.getEntryById.execute(this.pageModel, params.id);
16
+ if (getResult.isFail()) {
17
+ if ("Cms/Entry/NotFound" === getResult.error.code) return Result.fail(new PageNotFoundError(params.id));
18
+ return Result.fail(new PagePersistenceError(getResult.error));
19
+ }
20
+ const result = await this.publishEntry.execute(this.pageModel, params.id);
21
+ if (result.isFail()) {
22
+ if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
23
+ return Result.fail(new PagePersistenceError(result.error));
24
+ }
25
+ const page = EntryToPageMapper.toPage(result.value);
26
+ return Result.ok(page);
31
27
  }
32
- const page = EntryToPageMapper.toPage(result.value);
33
- return Result.ok(page);
34
- }
35
28
  }
36
- export const PublishPageRepository = RepositoryAbstraction.createImplementation({
37
- implementation: PublishPageRepositoryImpl,
38
- dependencies: [PublishEntryUseCase, GetEntryByIdUseCase, PageModel]
29
+ const PublishPageRepository_PublishPageRepository = PublishPageRepository.createImplementation({
30
+ implementation: PublishPageRepositoryImpl,
31
+ dependencies: [
32
+ PublishEntryUseCase,
33
+ GetEntryByIdUseCase,
34
+ PageModel
35
+ ]
39
36
  });
37
+ export { PublishPageRepository_PublishPageRepository as PublishPageRepository };
40
38
 
41
39
  //# sourceMappingURL=PublishPageRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","PublishPageRepository","RepositoryAbstraction","PublishEntryUseCase","GetEntryByIdUseCase","PageModel","EntryToPageMapper","PageNotFoundError","PagePersistenceError","PublishPageRepositoryImpl","constructor","publishEntry","getEntryById","pageModel","execute","params","getResult","id","isFail","error","code","fail","result","page","toPage","value","ok","createImplementation","implementation","dependencies"],"sources":["PublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { PublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/PublishEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass PublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private publishEntry: PublishEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the page exists\n const getResult = await this.getEntryById.execute(this.pageModel, params.id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(getResult.error));\n }\n\n // Publish the entry\n const result = await this.publishEntry.execute(this.pageModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const PublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: PublishPageRepositoryImpl,\n dependencies: [PublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB,EAAEC,oBAAoB;AAEhD,MAAMC,yBAAyB,CAA4C;EACvEC,WAAWA,CACCC,YAA2C,EAC3CC,YAA2C,EAC3CC,SAA8B,EACxC;IAAA,KAHUF,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACE,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,CAAC;IAE5E,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,IAAIF,SAAS,CAACG,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC/C,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAId,iBAAiB,CAACQ,MAAM,CAACE,EAAE,CAAC,CAAC;MACxD;MACA,OAAOjB,MAAM,CAACqB,IAAI,CAAC,IAAIb,oBAAoB,CAACQ,SAAS,CAACG,KAAK,CAAC,CAAC;IACjE;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACX,YAAY,CAACG,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,CAAC;IAEzE,IAAIK,MAAM,CAACJ,MAAM,CAAC,CAAC,EAAE;MACjB,IAAII,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAId,iBAAiB,CAACQ,MAAM,CAACE,EAAE,CAAC,CAAC;MACxD;MACA,OAAOjB,MAAM,CAACqB,IAAI,CAAC,IAAIb,oBAAoB,CAACc,MAAM,CAACH,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAMI,IAAI,GAAGjB,iBAAiB,CAACkB,MAAM,CAACF,MAAM,CAACG,KAAK,CAAC;IACnD,OAAOzB,MAAM,CAAC0B,EAAE,CAACH,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMtB,qBAAqB,GAAGC,qBAAqB,CAACyB,oBAAoB,CAAC;EAC5EC,cAAc,EAAEnB,yBAAyB;EACzCoB,YAAY,EAAE,CAAC1B,mBAAmB,EAAEC,mBAAmB,EAAEC,SAAS;AACtE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/PublishPage/PublishPageRepository.js","sources":["../../../../src/features/pages/PublishPage/PublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { PublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/PublishEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass PublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private publishEntry: PublishEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the page exists\n const getResult = await this.getEntryById.execute(this.pageModel, params.id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(getResult.error));\n }\n\n // Publish the entry\n const result = await this.publishEntry.execute(this.pageModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const PublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: PublishPageRepositoryImpl,\n dependencies: [PublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"names":["PublishPageRepositoryImpl","publishEntry","getEntryById","pageModel","params","getResult","Result","PageNotFoundError","PagePersistenceError","result","page","EntryToPageMapper","PublishPageRepository","RepositoryAbstraction","PublishEntryUseCase","GetEntryByIdUseCase","PageModel"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,YAA2C,EAC3CC,SAA8B,CACxC;aAHUF,YAAY,GAAZA;aACAC,YAAY,GAAZA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAED,OAAO,EAAE;QAE3E,IAAIC,UAAU,MAAM,IAAI;YACpB,IAAIA,AAAyB,yBAAzBA,UAAU,KAAK,CAAC,IAAI,EACpB,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBH,UAAU,KAAK;QAC/D;QAGA,MAAMI,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAEL,OAAO,EAAE;QAExE,IAAIK,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOH,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBC,OAAO,KAAK;QAC5D;QAEA,MAAMC,OAAOC,kBAAkB,MAAM,CAACF,OAAO,KAAK;QAClD,OAAOH,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBb;IAChB,cAAc;QAACc;QAAqBC;QAAqBC;KAAU;AACvE"}
@@ -1,7 +1,7 @@
1
- import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
1
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from "./abstractions.js";
3
3
  import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
4
- import { WbPermissions } from "../../../domain/permissions.js";
4
+ import { WbPermissions } from "../../../features/permissions/abstractions.js";
5
5
  declare class PublishPageUseCaseImpl implements UseCaseAbstraction.Interface {
6
6
  private permissions;
7
7
  private eventPublisher;
@@ -1,58 +1,48 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
- import { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from "./abstractions.js";
4
- import { PageBeforePublishEvent, PageAfterPublishEvent } from "./events.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import { PublishPageRepository, PublishPageUseCase } from "./abstractions.js";
4
+ import { PageAfterPublishEvent, PageBeforePublishEvent } from "./events.js";
5
5
  import { GetPageByIdUseCase } from "../GetPageById/index.js";
6
- import { WbPermissions } from "../../../domain/permissions.js";
6
+ import { WbPermissions } from "../../permissions/abstractions.js";
7
7
  import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
8
8
  class PublishPageUseCaseImpl {
9
- constructor(permissions, eventPublisher, getPageById, repository) {
10
- this.permissions = permissions;
11
- this.eventPublisher = eventPublisher;
12
- this.getPageById = getPageById;
13
- this.repository = repository;
14
- }
15
- async execute(params) {
16
- const hasPermission = await this.permissions.canPublish("page");
17
- if (!hasPermission) {
18
- return Result.fail(new PageNotAuthorizedError());
9
+ constructor(permissions, eventPublisher, getPageById, repository){
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getPageById = getPageById;
13
+ this.repository = repository;
19
14
  }
20
-
21
- // Get the page first for the before event
22
- const getResult = await this.getPageById.execute(params.id);
23
- if (getResult.isFail()) {
24
- return getResult;
25
- }
26
- const page = getResult.value;
27
- const canAccess = await this.permissions.canAccess("page", page);
28
- if (!canAccess) {
29
- return Result.fail(new PageNotAuthorizedError());
30
- }
31
-
32
- // Publish before publish event
33
- const beforeEvent = new PageBeforePublishEvent({
34
- page
35
- });
36
- await this.eventPublisher.publish(beforeEvent);
37
-
38
- // Execute the publish operation
39
- const result = await this.repository.execute(params);
40
- if (result.isFail()) {
41
- return result;
15
+ async execute(params) {
16
+ const hasPermission = await this.permissions.canPublish("page");
17
+ if (!hasPermission) return Result.fail(new PageNotAuthorizedError());
18
+ const getResult = await this.getPageById.execute(params.id);
19
+ if (getResult.isFail()) return getResult;
20
+ const page = getResult.value;
21
+ const canAccess = await this.permissions.canAccess("page", page);
22
+ if (!canAccess) return Result.fail(new PageNotAuthorizedError());
23
+ const beforeEvent = new PageBeforePublishEvent({
24
+ page
25
+ });
26
+ await this.eventPublisher.publish(beforeEvent);
27
+ const result = await this.repository.execute(params);
28
+ if (result.isFail()) return result;
29
+ const afterEvent = new PageAfterPublishEvent({
30
+ page: result.value
31
+ });
32
+ await this.eventPublisher.publish(afterEvent);
33
+ return Result.ok(result.value);
42
34
  }
43
-
44
- // Publish after publish event
45
- const afterEvent = new PageAfterPublishEvent({
46
- page: result.value
47
- });
48
- await this.eventPublisher.publish(afterEvent);
49
- return Result.ok(result.value);
50
- }
51
35
  }
52
- export const PublishPageUseCase = createImplementation({
53
- abstraction: UseCaseAbstraction,
54
- implementation: PublishPageUseCaseImpl,
55
- dependencies: [WbPermissions.Abstraction, EventPublisher, GetPageByIdUseCase, PublishPageRepository]
36
+ const PublishPageUseCase_PublishPageUseCase = createImplementation({
37
+ abstraction: PublishPageUseCase,
38
+ implementation: PublishPageUseCaseImpl,
39
+ dependencies: [
40
+ WbPermissions,
41
+ EventPublisher,
42
+ GetPageByIdUseCase,
43
+ PublishPageRepository
44
+ ]
56
45
  });
46
+ export { PublishPageUseCase_PublishPageUseCase as PublishPageUseCase };
57
47
 
58
48
  //# sourceMappingURL=PublishPageUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","PublishPageUseCase","UseCaseAbstraction","PublishPageRepository","PageBeforePublishEvent","PageAfterPublishEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","PublishPageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","hasPermission","canPublish","fail","getResult","id","isFail","page","value","canAccess","beforeEvent","publish","result","afterEvent","ok","abstraction","implementation","dependencies","Abstraction"],"sources":["PublishPageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from \"./abstractions.js\";\nimport { PageBeforePublishEvent, PageAfterPublishEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/domain/permissions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass PublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: PublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canPublish(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the page first for the before event\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const page = getResult.value;\n\n const canAccess = await this.permissions.canAccess(\"page\", page);\n if (!canAccess) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before publish event\n const beforeEvent = new PageBeforePublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the publish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after publish event\n const afterEvent = new PageAfterPublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const PublishPageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: PublishPageUseCaseImpl,\n dependencies: [\n WbPermissions.Abstraction,\n EventPublisher,\n GetPageByIdUseCase,\n PublishPageRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,0CAA0C;AACjD,SAASC,kBAAkB,IAAIC,kBAAkB,EAAEC,qBAAqB;AACxE,SAASC,sBAAsB,EAAEC,qBAAqB;AACtD,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA2C,EACrD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA2C,GAA3CA,UAA2C;EACpD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,WAAW,CAACO,UAAU,CAAC,MAAM,CAAC;IAC/D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACP,WAAW,CAACE,OAAO,CAACC,MAAM,CAACK,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,IAAI,GAAGH,SAAS,CAACI,KAAK;IAE5B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACd,WAAW,CAACc,SAAS,CAAC,MAAM,EAAEF,IAAI,CAAC;IAChE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAO3B,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMkB,WAAW,GAAG,IAAItB,sBAAsB,CAAC;MAC3CmB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACX,cAAc,CAACe,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIY,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,qBAAqB,CAAC;MACzCkB,IAAI,EAAEK,MAAM,CAACJ;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO/B,MAAM,CAACgC,EAAE,CAACF,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,kBAAkB,GAAGF,oBAAoB,CAAC;EACnDgC,WAAW,EAAE7B,kBAAkB;EAC/B8B,cAAc,EAAEvB,sBAAsB;EACtCwB,YAAY,EAAE,CACV1B,aAAa,CAAC2B,WAAW,EACzBlC,cAAc,EACdM,kBAAkB,EAClBH,qBAAqB;AAE7B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/PublishPage/PublishPageUseCase.js","sources":["../../../../src/features/pages/PublishPage/PublishPageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from \"./abstractions.js\";\nimport { PageBeforePublishEvent, PageAfterPublishEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass PublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: PublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canPublish(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the page first for the before event\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const page = getResult.value;\n\n const canAccess = await this.permissions.canAccess(\"page\", page);\n if (!canAccess) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before publish event\n const beforeEvent = new PageBeforePublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the publish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after publish event\n const afterEvent = new PageAfterPublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const PublishPageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: PublishPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, PublishPageRepository]\n});\n"],"names":["PublishPageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","hasPermission","Result","PageNotAuthorizedError","getResult","page","canAccess","beforeEvent","PageBeforePublishEvent","result","afterEvent","PageAfterPublishEvent","PublishPageUseCase","createImplementation","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","PublishPageRepository"],"mappings":";;;;;;;AAWA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA2C,CACrD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QACxE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QACxD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACJ,OAAO,EAAE;QAE1D,IAAII,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,OAAOD,UAAU,KAAK;QAE5B,MAAME,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQD;QAC3D,IAAI,CAACC,WACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMI,cAAc,IAAIC,uBAAuB;YAC3CH;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACE;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACT;QAE7C,IAAIS,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,sBAAsB;YACzC,MAAMF,OAAO,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBnB;IAChB,cAAc;QAACoB;QAAeC;QAAgBC;QAAoBC;KAAsB;AAC5F"}
@@ -1,6 +1,6 @@
1
1
  import { type Result } from "@webiny/feature/api";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
3
- import type { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import type { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import type { WbPage } from "../../../domain/page/abstractions.js";
5
5
  import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
6
  export interface IPublishWbPageParams {
@@ -30,6 +30,7 @@ export interface IPublishPageUseCaseErrors {
30
30
  persistence: PagePersistenceError;
31
31
  }
32
32
  type UseCaseError = IPublishPageUseCaseErrors[keyof IPublishPageUseCaseErrors];
33
+ /** Publish a page. */
33
34
  export declare const PublishPageUseCase: import("@webiny/di").Abstraction<IPublishPageUseCase>;
34
35
  export declare namespace PublishPageUseCase {
35
36
  type Interface = IPublishPageUseCase;
@@ -44,14 +45,16 @@ export interface PageBeforePublishPayload {
44
45
  export interface PageAfterPublishPayload {
45
46
  page: WbPage;
46
47
  }
47
- export declare const PageBeforePublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforePublishPayload>>>;
48
- export declare namespace PageBeforePublishHandler {
48
+ /** Hook into page lifecycle before a page is published. */
49
+ export declare const PageBeforePublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforePublishPayload>>>;
50
+ export declare namespace PageBeforePublishEventHandler {
49
51
  type Interface = IEventHandler<DomainEvent<PageBeforePublishPayload>>;
50
52
  type Event = DomainEvent<PageBeforePublishPayload>;
51
53
  type Page = WbPage;
52
54
  }
53
- export declare const PageAfterPublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterPublishPayload>>>;
54
- export declare namespace PageAfterPublishHandler {
55
+ /** Hook into page lifecycle after a page is published. */
56
+ export declare const PageAfterPublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterPublishPayload>>>;
57
+ export declare namespace PageAfterPublishEventHandler {
55
58
  type Interface = IEventHandler<DomainEvent<PageAfterPublishPayload>>;
56
59
  type Event = DomainEvent<PageAfterPublishPayload>;
57
60
  type Page = WbPage;
@@ -1,30 +1,8 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // ============================================================================
4
- // Type Definitions
5
- // ============================================================================
6
-
7
- // ============================================================================
8
- // Repository Abstraction
9
- // ============================================================================
10
-
11
- export const PublishPageRepository = createAbstraction("Wb/PublishPageRepository");
12
-
13
- // ============================================================================
14
- // Use Case Abstraction
15
- // ============================================================================
16
-
17
- export const PublishPageUseCase = createAbstraction("Wb/PublishPageUseCase");
18
-
19
- // ============================================================================
20
- // Event Payload Types
21
- // ============================================================================
22
-
23
- // ============================================================================
24
- // Event Handler Abstractions
25
- // ============================================================================
26
-
27
- export const PageBeforePublishHandler = createAbstraction("Wb/PageBeforePublishHandler");
28
- export const PageAfterPublishHandler = createAbstraction("Wb/PageAfterPublishHandler");
2
+ const PublishPageRepository = createAbstraction("Wb/PublishPageRepository");
3
+ const PublishPageUseCase = createAbstraction("Wb/PublishPageUseCase");
4
+ const PageBeforePublishEventHandler = createAbstraction("Wb/PageBeforePublishEventHandler");
5
+ const PageAfterPublishEventHandler = createAbstraction("Wb/PageAfterPublishEventHandler");
6
+ export { PageAfterPublishEventHandler, PageBeforePublishEventHandler, PublishPageRepository, PublishPageUseCase };
29
7
 
30
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","PublishPageRepository","PublishPageUseCase","PageBeforePublishHandler","PageAfterPublishHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IPublishWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IPublishPageRepository {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IPublishPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IPublishPageRepositoryErrors[keyof IPublishPageRepositoryErrors];\n\nexport const PublishPageRepository = createAbstraction<IPublishPageRepository>(\n \"Wb/PublishPageRepository\"\n);\n\nexport namespace PublishPageRepository {\n export type Interface = IPublishPageRepository;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IPublishPageUseCase {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IPublishPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IPublishPageUseCaseErrors[keyof IPublishPageUseCaseErrors];\n\nexport const PublishPageUseCase = createAbstraction<IPublishPageUseCase>(\"Wb/PublishPageUseCase\");\n\nexport namespace PublishPageUseCase {\n export type Interface = IPublishPageUseCase;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforePublishPayload {\n page: WbPage;\n}\n\nexport interface PageAfterPublishPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforePublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforePublishPayload>>\n>(\"Wb/PageBeforePublishHandler\");\n\nexport namespace PageBeforePublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforePublishPayload>>;\n export type Event = DomainEvent<PageBeforePublishPayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterPublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterPublishPayload>>\n>(\"Wb/PageAfterPublishHandler\");\n\nexport namespace PageAfterPublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterPublishPayload>>;\n export type Event = DomainEvent<PageAfterPublishPayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAUpE;AACA;AACA;;AAMA;AACA;AACA;;AAaA,OAAO,MAAMC,qBAAqB,GAAGD,iBAAiB,CAClD,0BACJ,CAAC;;AASD;AACA;AACA;;AAcA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,uBAAuB,CAAC;;AAUjG;AACA;AACA;;AAUA;AACA;AACA;;AAEA,OAAO,MAAMG,wBAAwB,GAAGH,iBAAiB,CAEvD,6BAA6B,CAAC;AAQhC,OAAO,MAAMI,uBAAuB,GAAGJ,iBAAiB,CAEtD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/PublishPage/abstractions.js","sources":["../../../../src/features/pages/PublishPage/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IPublishWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IPublishPageRepository {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IPublishPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IPublishPageRepositoryErrors[keyof IPublishPageRepositoryErrors];\n\nexport const PublishPageRepository = createAbstraction<IPublishPageRepository>(\n \"Wb/PublishPageRepository\"\n);\n\nexport namespace PublishPageRepository {\n export type Interface = IPublishPageRepository;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IPublishPageUseCase {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IPublishPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IPublishPageUseCaseErrors[keyof IPublishPageUseCaseErrors];\n\n/** Publish a page. */\nexport const PublishPageUseCase = createAbstraction<IPublishPageUseCase>(\"Wb/PublishPageUseCase\");\n\nexport namespace PublishPageUseCase {\n export type Interface = IPublishPageUseCase;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforePublishPayload {\n page: WbPage;\n}\n\nexport interface PageAfterPublishPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into page lifecycle before a page is published. */\nexport const PageBeforePublishEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforePublishPayload>>\n>(\"Wb/PageBeforePublishEventHandler\");\n\nexport namespace PageBeforePublishEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforePublishPayload>>;\n export type Event = DomainEvent<PageBeforePublishPayload>;\n export type Page = WbPage;\n}\n\n/** Hook into page lifecycle after a page is published. */\nexport const PageAfterPublishEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterPublishPayload>>\n>(\"Wb/PageAfterPublishEventHandler\");\n\nexport namespace PageAfterPublishEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterPublishPayload>>;\n export type Event = DomainEvent<PageAfterPublishPayload>;\n export type Page = WbPage;\n}\n"],"names":["PublishPageRepository","createAbstraction","PublishPageUseCase","PageBeforePublishEventHandler","PageAfterPublishEventHandler"],"mappings":";AAiCO,MAAMA,wBAAwBC,kBACjC;AA2BG,MAAMC,qBAAqBD,kBAAuC;AA2BlE,MAAME,gCAAgCF,kBAE3C;AASK,MAAMG,+BAA+BH,kBAE1C"}