@webiny/api-website-builder 0.0.0-unstable.6f45466a1d → 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 (562) hide show
  1. package/constants.js +4 -3
  2. package/constants.js.map +1 -1
  3. package/domain/page/EntryToPageMapper.js +30 -26
  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 +22 -3
  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 -28
  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 +4 -2
  57. package/features/pages/CreatePage/CreatePageUseCase.js +33 -30
  58. package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
  59. package/features/pages/CreatePage/abstractions.d.ts +10 -6
  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 +6 -2
  73. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +38 -30
  74. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
  75. package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +11 -7
  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 +7 -5
  90. package/features/pages/DeletePage/DeletePageUseCase.js +37 -37
  91. package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
  92. package/features/pages/DeletePage/abstractions.d.ts +12 -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 +4 -2
  107. package/features/pages/DuplicatePage/DuplicatePageUseCase.js +38 -38
  108. package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
  109. package/features/pages/DuplicatePage/abstractions.d.ts +18 -8
  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 +3 -1
  137. package/features/pages/GetPageById/GetPageByIdUseCase.js +24 -10
  138. package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
  139. package/features/pages/GetPageById/abstractions.d.ts +3 -1
  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 +3 -1
  149. package/features/pages/GetPageByPath/GetPageByPathUseCase.js +24 -10
  150. package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
  151. package/features/pages/GetPageByPath/abstractions.d.ts +3 -1
  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 +3 -1
  175. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +27 -10
  176. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
  177. package/features/pages/GetPageRevisions/abstractions.d.ts +3 -1
  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.d.ts +5 -1
  199. package/features/pages/ListPages/ListPagesRepository.js +39 -28
  200. package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
  201. package/features/pages/ListPages/ListPagesUseCase.d.ts +5 -1
  202. package/features/pages/ListPages/ListPagesUseCase.js +33 -10
  203. package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
  204. package/features/pages/ListPages/abstractions.d.ts +3 -1
  205. package/features/pages/ListPages/abstractions.js +3 -12
  206. package/features/pages/ListPages/abstractions.js.map +1 -1
  207. package/features/pages/ListPages/feature.d.ts +4 -1
  208. package/features/pages/ListPages/feature.js +7 -6
  209. package/features/pages/ListPages/feature.js.map +1 -1
  210. package/features/pages/ListPages/index.js +0 -2
  211. package/features/pages/MovePage/MovePageRepository.js +25 -27
  212. package/features/pages/MovePage/MovePageRepository.js.map +1 -1
  213. package/features/pages/MovePage/MovePageUseCase.d.ts +4 -2
  214. package/features/pages/MovePage/MovePageUseCase.js +42 -40
  215. package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
  216. package/features/pages/MovePage/abstractions.d.ts +11 -7
  217. package/features/pages/MovePage/abstractions.js +5 -27
  218. package/features/pages/MovePage/abstractions.js.map +1 -1
  219. package/features/pages/MovePage/events.d.ts +3 -3
  220. package/features/pages/MovePage/events.js +17 -15
  221. package/features/pages/MovePage/events.js.map +1 -1
  222. package/features/pages/MovePage/feature.d.ts +4 -1
  223. package/features/pages/MovePage/feature.js +7 -6
  224. package/features/pages/MovePage/feature.js.map +1 -1
  225. package/features/pages/MovePage/index.d.ts +1 -1
  226. package/features/pages/MovePage/index.js +1 -3
  227. package/features/pages/PublishPage/PublishPageRepository.js +26 -28
  228. package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
  229. package/features/pages/PublishPage/PublishPageUseCase.d.ts +4 -2
  230. package/features/pages/PublishPage/PublishPageUseCase.js +39 -37
  231. package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
  232. package/features/pages/PublishPage/abstractions.d.ts +11 -7
  233. package/features/pages/PublishPage/abstractions.js +5 -27
  234. package/features/pages/PublishPage/abstractions.js.map +1 -1
  235. package/features/pages/PublishPage/events.d.ts +3 -3
  236. package/features/pages/PublishPage/events.js +17 -15
  237. package/features/pages/PublishPage/events.js.map +1 -1
  238. package/features/pages/PublishPage/feature.d.ts +4 -1
  239. package/features/pages/PublishPage/feature.js +7 -6
  240. package/features/pages/PublishPage/feature.js.map +1 -1
  241. package/features/pages/PublishPage/index.d.ts +1 -1
  242. package/features/pages/PublishPage/index.js +1 -3
  243. package/features/pages/RestorePage/RestorePageRepository.d.ts +13 -0
  244. package/features/pages/RestorePage/RestorePageRepository.js +31 -0
  245. package/features/pages/RestorePage/RestorePageRepository.js.map +1 -0
  246. package/features/pages/RestorePage/RestorePageUseCase.d.ts +16 -0
  247. package/features/pages/RestorePage/RestorePageUseCase.js +45 -0
  248. package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -0
  249. package/features/pages/RestorePage/abstractions.d.ts +59 -0
  250. package/features/pages/RestorePage/abstractions.js +8 -0
  251. package/features/pages/RestorePage/abstractions.js.map +1 -0
  252. package/features/pages/RestorePage/events.d.ts +10 -0
  253. package/features/pages/RestorePage/events.js +21 -0
  254. package/features/pages/RestorePage/events.js.map +1 -0
  255. package/features/pages/RestorePage/feature.d.ts +4 -0
  256. package/features/pages/RestorePage/feature.js +13 -0
  257. package/features/pages/RestorePage/feature.js.map +1 -0
  258. package/features/pages/RestorePage/index.d.ts +1 -0
  259. package/features/pages/RestorePage/index.js +1 -0
  260. package/features/pages/TranslatePage/TranslatePageUseCase.d.ts +17 -0
  261. package/features/pages/TranslatePage/TranslatePageUseCase.js +58 -0
  262. package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -0
  263. package/features/pages/TranslatePage/abstractions.d.ts +29 -0
  264. package/features/pages/TranslatePage/abstractions.js +5 -0
  265. package/features/pages/TranslatePage/abstractions.js.map +1 -0
  266. package/features/pages/TranslatePage/feature.d.ts +4 -0
  267. package/features/pages/TranslatePage/feature.js +11 -0
  268. package/features/pages/TranslatePage/feature.js.map +1 -0
  269. package/features/pages/TranslatePage/index.d.ts +1 -0
  270. package/features/pages/TranslatePage/index.js +1 -0
  271. package/features/pages/TrashPage/TrashPageRepository.d.ts +13 -0
  272. package/features/pages/TrashPage/TrashPageRepository.js +31 -0
  273. package/features/pages/TrashPage/TrashPageRepository.js.map +1 -0
  274. package/features/pages/TrashPage/TrashPageUseCase.d.ts +16 -0
  275. package/features/pages/TrashPage/TrashPageUseCase.js +45 -0
  276. package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -0
  277. package/features/pages/TrashPage/abstractions.d.ts +58 -0
  278. package/features/pages/TrashPage/abstractions.js +8 -0
  279. package/features/pages/TrashPage/abstractions.js.map +1 -0
  280. package/features/pages/TrashPage/events.d.ts +10 -0
  281. package/features/pages/TrashPage/events.js +21 -0
  282. package/features/pages/TrashPage/events.js.map +1 -0
  283. package/features/pages/TrashPage/feature.d.ts +4 -0
  284. package/features/pages/TrashPage/feature.js +13 -0
  285. package/features/pages/TrashPage/feature.js.map +1 -0
  286. package/features/pages/TrashPage/index.d.ts +1 -0
  287. package/features/pages/TrashPage/index.js +1 -0
  288. package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
  289. package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
  290. package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +4 -2
  291. package/features/pages/UnpublishPage/UnpublishPageUseCase.js +38 -36
  292. package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
  293. package/features/pages/UnpublishPage/abstractions.d.ts +11 -7
  294. package/features/pages/UnpublishPage/abstractions.js +5 -27
  295. package/features/pages/UnpublishPage/abstractions.js.map +1 -1
  296. package/features/pages/UnpublishPage/events.d.ts +3 -3
  297. package/features/pages/UnpublishPage/events.js +17 -15
  298. package/features/pages/UnpublishPage/events.js.map +1 -1
  299. package/features/pages/UnpublishPage/feature.d.ts +4 -1
  300. package/features/pages/UnpublishPage/feature.js +7 -6
  301. package/features/pages/UnpublishPage/feature.js.map +1 -1
  302. package/features/pages/UnpublishPage/index.d.ts +1 -1
  303. package/features/pages/UnpublishPage/index.js +1 -3
  304. package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
  305. package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
  306. package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +4 -2
  307. package/features/pages/UpdatePage/UpdatePageUseCase.js +47 -45
  308. package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
  309. package/features/pages/UpdatePage/abstractions.d.ts +12 -9
  310. package/features/pages/UpdatePage/abstractions.js +5 -27
  311. package/features/pages/UpdatePage/abstractions.js.map +1 -1
  312. package/features/pages/UpdatePage/events.d.ts +3 -3
  313. package/features/pages/UpdatePage/events.js +17 -15
  314. package/features/pages/UpdatePage/events.js.map +1 -1
  315. package/features/pages/UpdatePage/feature.d.ts +4 -1
  316. package/features/pages/UpdatePage/feature.js +7 -6
  317. package/features/pages/UpdatePage/feature.js.map +1 -1
  318. package/features/pages/UpdatePage/index.d.ts +1 -1
  319. package/features/pages/UpdatePage/index.js +1 -3
  320. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
  321. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -0
  322. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
  323. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
  324. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +56 -0
  325. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
  326. package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
  327. package/features/pages/UpdatePageRevisionDescription/abstractions.js +8 -0
  328. package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
  329. package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
  330. package/features/pages/UpdatePageRevisionDescription/events.js +21 -0
  331. package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
  332. package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
  333. package/features/pages/UpdatePageRevisionDescription/feature.js +13 -0
  334. package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
  335. package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
  336. package/features/pages/UpdatePageRevisionDescription/index.js +1 -0
  337. package/features/permissions/abstractions.d.ts +34 -0
  338. package/features/permissions/abstractions.js +6 -0
  339. package/features/permissions/abstractions.js.map +1 -0
  340. package/features/permissions/feature.d.ts +4 -0
  341. package/features/permissions/feature.js +7 -0
  342. package/features/permissions/feature.js.map +1 -0
  343. package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
  344. package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
  345. package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +4 -2
  346. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +33 -30
  347. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
  348. package/features/redirects/CreateRedirect/abstractions.d.ts +11 -7
  349. package/features/redirects/CreateRedirect/abstractions.js +5 -27
  350. package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
  351. package/features/redirects/CreateRedirect/events.d.ts +3 -3
  352. package/features/redirects/CreateRedirect/events.js +17 -15
  353. package/features/redirects/CreateRedirect/events.js.map +1 -1
  354. package/features/redirects/CreateRedirect/feature.d.ts +4 -1
  355. package/features/redirects/CreateRedirect/feature.js +7 -6
  356. package/features/redirects/CreateRedirect/feature.js.map +1 -1
  357. package/features/redirects/CreateRedirect/index.d.ts +1 -1
  358. package/features/redirects/CreateRedirect/index.js +1 -3
  359. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
  360. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
  361. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +4 -2
  362. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +37 -37
  363. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
  364. package/features/redirects/DeleteRedirect/abstractions.d.ts +11 -7
  365. package/features/redirects/DeleteRedirect/abstractions.js +5 -27
  366. package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
  367. package/features/redirects/DeleteRedirect/events.d.ts +3 -3
  368. package/features/redirects/DeleteRedirect/events.js +17 -15
  369. package/features/redirects/DeleteRedirect/events.js.map +1 -1
  370. package/features/redirects/DeleteRedirect/feature.d.ts +4 -1
  371. package/features/redirects/DeleteRedirect/feature.js +7 -6
  372. package/features/redirects/DeleteRedirect/feature.js.map +1 -1
  373. package/features/redirects/DeleteRedirect/index.d.ts +1 -1
  374. package/features/redirects/DeleteRedirect/index.js +1 -3
  375. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
  376. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
  377. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +3 -1
  378. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +21 -12
  379. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
  380. package/features/redirects/GetActiveRedirects/abstractions.d.ts +3 -1
  381. package/features/redirects/GetActiveRedirects/abstractions.js +3 -12
  382. package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
  383. package/features/redirects/GetActiveRedirects/feature.d.ts +4 -1
  384. package/features/redirects/GetActiveRedirects/feature.js +7 -6
  385. package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
  386. package/features/redirects/GetActiveRedirects/index.js +0 -2
  387. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
  388. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
  389. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +3 -1
  390. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +25 -12
  391. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
  392. package/features/redirects/GetRedirectById/abstractions.d.ts +3 -1
  393. package/features/redirects/GetRedirectById/abstractions.js +3 -12
  394. package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
  395. package/features/redirects/GetRedirectById/feature.d.ts +4 -1
  396. package/features/redirects/GetRedirectById/feature.js +7 -6
  397. package/features/redirects/GetRedirectById/feature.js.map +1 -1
  398. package/features/redirects/GetRedirectById/index.js +0 -2
  399. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
  400. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
  401. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +3 -3
  402. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +14 -17
  403. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
  404. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +3 -3
  405. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +14 -17
  406. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
  407. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +3 -3
  408. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +14 -18
  409. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
  410. package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +1 -0
  411. package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -6
  412. package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
  413. package/features/redirects/InvalidateRedirectsCache/feature.d.ts +4 -1
  414. package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
  415. package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
  416. package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
  417. package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
  418. package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
  419. package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +5 -1
  420. package/features/redirects/ListRedirects/ListRedirectsUseCase.js +34 -12
  421. package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
  422. package/features/redirects/ListRedirects/abstractions.d.ts +8 -5
  423. package/features/redirects/ListRedirects/abstractions.js +3 -16
  424. package/features/redirects/ListRedirects/abstractions.js.map +1 -1
  425. package/features/redirects/ListRedirects/feature.d.ts +4 -1
  426. package/features/redirects/ListRedirects/feature.js +7 -6
  427. package/features/redirects/ListRedirects/feature.js.map +1 -1
  428. package/features/redirects/ListRedirects/index.js +0 -2
  429. package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
  430. package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
  431. package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +4 -2
  432. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +42 -40
  433. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
  434. package/features/redirects/MoveRedirect/abstractions.d.ts +11 -7
  435. package/features/redirects/MoveRedirect/abstractions.js +5 -27
  436. package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
  437. package/features/redirects/MoveRedirect/events.d.ts +3 -3
  438. package/features/redirects/MoveRedirect/events.js +17 -15
  439. package/features/redirects/MoveRedirect/events.js.map +1 -1
  440. package/features/redirects/MoveRedirect/feature.d.ts +4 -1
  441. package/features/redirects/MoveRedirect/feature.js +7 -6
  442. package/features/redirects/MoveRedirect/feature.js.map +1 -1
  443. package/features/redirects/MoveRedirect/index.d.ts +1 -1
  444. package/features/redirects/MoveRedirect/index.js +1 -3
  445. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
  446. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
  447. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +4 -2
  448. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +47 -45
  449. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
  450. package/features/redirects/UpdateRedirect/abstractions.d.ts +11 -7
  451. package/features/redirects/UpdateRedirect/abstractions.js +5 -27
  452. package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
  453. package/features/redirects/UpdateRedirect/events.d.ts +3 -3
  454. package/features/redirects/UpdateRedirect/events.js +17 -15
  455. package/features/redirects/UpdateRedirect/events.js.map +1 -1
  456. package/features/redirects/UpdateRedirect/feature.d.ts +4 -1
  457. package/features/redirects/UpdateRedirect/feature.js +7 -6
  458. package/features/redirects/UpdateRedirect/feature.js.map +1 -1
  459. package/features/redirects/UpdateRedirect/index.d.ts +1 -1
  460. package/features/redirects/UpdateRedirect/index.js +1 -3
  461. package/features/tenantManager/TenantModelExtension.js +52 -32
  462. package/features/tenantManager/TenantModelExtension.js.map +1 -1
  463. package/features/tenantManager/feature.d.ts +4 -1
  464. package/features/tenantManager/feature.js +6 -5
  465. package/features/tenantManager/feature.js.map +1 -1
  466. package/features/webhooks/WbWebhookEventProvider.d.ts +8 -0
  467. package/features/webhooks/WbWebhookEventProvider.js +95 -0
  468. package/features/webhooks/WbWebhookEventProvider.js.map +1 -0
  469. package/features/webhooks/constants.d.ts +12 -0
  470. package/features/webhooks/constants.js +16 -0
  471. package/features/webhooks/constants.js.map +1 -0
  472. package/features/webhooks/feature.d.ts +4 -0
  473. package/features/webhooks/feature.js +31 -0
  474. package/features/webhooks/feature.js.map +1 -0
  475. package/features/webhooks/handlers/OnPageCreatedHandler.d.ts +11 -0
  476. package/features/webhooks/handlers/OnPageCreatedHandler.js +22 -0
  477. package/features/webhooks/handlers/OnPageCreatedHandler.js.map +1 -0
  478. package/features/webhooks/handlers/OnPageDeletedHandler.d.ts +11 -0
  479. package/features/webhooks/handlers/OnPageDeletedHandler.js +22 -0
  480. package/features/webhooks/handlers/OnPageDeletedHandler.js.map +1 -0
  481. package/features/webhooks/handlers/OnPagePublishedHandler.d.ts +11 -0
  482. package/features/webhooks/handlers/OnPagePublishedHandler.js +22 -0
  483. package/features/webhooks/handlers/OnPagePublishedHandler.js.map +1 -0
  484. package/features/webhooks/handlers/OnPageRestoredHandler.d.ts +11 -0
  485. package/features/webhooks/handlers/OnPageRestoredHandler.js +22 -0
  486. package/features/webhooks/handlers/OnPageRestoredHandler.js.map +1 -0
  487. package/features/webhooks/handlers/OnPageTrashedHandler.d.ts +11 -0
  488. package/features/webhooks/handlers/OnPageTrashedHandler.js +22 -0
  489. package/features/webhooks/handlers/OnPageTrashedHandler.js.map +1 -0
  490. package/features/webhooks/handlers/OnPageUnpublishedHandler.d.ts +11 -0
  491. package/features/webhooks/handlers/OnPageUnpublishedHandler.js +22 -0
  492. package/features/webhooks/handlers/OnPageUnpublishedHandler.js.map +1 -0
  493. package/features/webhooks/handlers/OnPageUpdatedHandler.d.ts +11 -0
  494. package/features/webhooks/handlers/OnPageUpdatedHandler.js +23 -0
  495. package/features/webhooks/handlers/OnPageUpdatedHandler.js.map +1 -0
  496. package/features/webhooks/handlers/OnRedirectCreatedHandler.d.ts +11 -0
  497. package/features/webhooks/handlers/OnRedirectCreatedHandler.js +22 -0
  498. package/features/webhooks/handlers/OnRedirectCreatedHandler.js.map +1 -0
  499. package/features/webhooks/handlers/OnRedirectDeletedHandler.d.ts +11 -0
  500. package/features/webhooks/handlers/OnRedirectDeletedHandler.js +22 -0
  501. package/features/webhooks/handlers/OnRedirectDeletedHandler.js.map +1 -0
  502. package/features/webhooks/handlers/OnRedirectUpdatedHandler.d.ts +11 -0
  503. package/features/webhooks/handlers/OnRedirectUpdatedHandler.js +23 -0
  504. package/features/webhooks/handlers/OnRedirectUpdatedHandler.js.map +1 -0
  505. package/graphql/createGraphQL.js +15 -12
  506. package/graphql/createGraphQL.js.map +1 -1
  507. package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
  508. package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
  509. package/graphql/pages/pages.gql.js +226 -254
  510. package/graphql/pages/pages.gql.js.map +1 -1
  511. package/graphql/pages/pages.typeDefs.d.ts +1 -1
  512. package/graphql/pages/pages.typeDefs.js +24 -2
  513. package/graphql/pages/pages.typeDefs.js.map +1 -1
  514. package/graphql/redirects/redirects.gql.js +56 -86
  515. package/graphql/redirects/redirects.gql.js.map +1 -1
  516. package/graphql/redirects/redirects.typeDefs.js +3 -4
  517. package/graphql/redirects/redirects.typeDefs.js.map +1 -1
  518. package/index.d.ts +1 -1
  519. package/index.js +73 -55
  520. package/index.js.map +1 -1
  521. package/package.json +30 -27
  522. package/rest/ActiveRedirectDto.js +0 -3
  523. package/rest/ActiveRedirectRestMapper.js +10 -9
  524. package/rest/ActiveRedirectRestMapper.js.map +1 -1
  525. package/rest/getRedirects.js +19 -26
  526. package/rest/getRedirects.js.map +1 -1
  527. package/utils/ensureAuthentication.js +6 -9
  528. package/utils/ensureAuthentication.js.map +1 -1
  529. package/utils/resolve.js +7 -6
  530. package/utils/resolve.js.map +1 -1
  531. package/domain/shared/abstractions.js.map +0 -1
  532. package/exports/api/website-builder/nextjs.js.map +0 -1
  533. package/exports/api/website-builder/page.js.map +0 -1
  534. package/exports/api/website-builder/redirect.js.map +0 -1
  535. package/features/nextjs/index.js.map +0 -1
  536. package/features/pages/CreatePage/index.js.map +0 -1
  537. package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
  538. package/features/pages/DeletePage/index.js.map +0 -1
  539. package/features/pages/DuplicatePage/index.js.map +0 -1
  540. package/features/pages/GetPageById/index.js.map +0 -1
  541. package/features/pages/GetPageByPath/index.js.map +0 -1
  542. package/features/pages/GetPageRevisions/index.js.map +0 -1
  543. package/features/pages/ListPages/index.js.map +0 -1
  544. package/features/pages/MovePage/index.js.map +0 -1
  545. package/features/pages/PagePermissions/feature.d.ts +0 -1
  546. package/features/pages/PagePermissions/feature.js +0 -53
  547. package/features/pages/PagePermissions/feature.js.map +0 -1
  548. package/features/pages/PublishPage/index.js.map +0 -1
  549. package/features/pages/UnpublishPage/index.js.map +0 -1
  550. package/features/pages/UpdatePage/index.js.map +0 -1
  551. package/features/redirects/CreateRedirect/index.js.map +0 -1
  552. package/features/redirects/DeleteRedirect/index.js.map +0 -1
  553. package/features/redirects/GetActiveRedirects/index.js.map +0 -1
  554. package/features/redirects/GetRedirectById/index.js.map +0 -1
  555. package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
  556. package/features/redirects/ListRedirects/index.js.map +0 -1
  557. package/features/redirects/MoveRedirect/index.js.map +0 -1
  558. package/features/redirects/RedirectPermissions/feature.d.ts +0 -1
  559. package/features/redirects/RedirectPermissions/feature.js +0 -45
  560. package/features/redirects/RedirectPermissions/feature.js.map +0 -1
  561. package/features/redirects/UpdateRedirect/index.js.map +0 -1
  562. package/rest/ActiveRedirectDto.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
3
+ import { TrashPageRepository } from "./abstractions.js";
4
+ import { PageModel } from "../../../domain/page/abstractions.js";
5
+ import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
6
+ class TrashPageRepositoryImpl {
7
+ constructor(deleteEntry, pageModel){
8
+ this.deleteEntry = deleteEntry;
9
+ this.pageModel = pageModel;
10
+ }
11
+ async execute(params) {
12
+ const result = await this.deleteEntry.execute(this.pageModel, params.id, {
13
+ permanently: false
14
+ });
15
+ if (result.isFail()) {
16
+ if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
17
+ return Result.fail(new PagePersistenceError(result.error));
18
+ }
19
+ return Result.ok();
20
+ }
21
+ }
22
+ const TrashPageRepository_TrashPageRepository = TrashPageRepository.createImplementation({
23
+ implementation: TrashPageRepositoryImpl,
24
+ dependencies: [
25
+ DeleteEntryUseCase,
26
+ PageModel
27
+ ]
28
+ });
29
+ export { TrashPageRepository_TrashPageRepository as TrashPageRepository };
30
+
31
+ //# sourceMappingURL=TrashPageRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/pages/TrashPage/TrashPageRepository.js","sources":["../../../../src/features/pages/TrashPage/TrashPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { TrashPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass TrashPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // Trash the entry\n const result = await this.deleteEntry.execute(this.pageModel, params.id, {\n permanently: false\n });\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 return Result.ok();\n }\n}\n\nexport const TrashPageRepository = RepositoryAbstraction.createImplementation({\n implementation: TrashPageRepositoryImpl,\n dependencies: [DeleteEntryUseCase, PageModel]\n});\n"],"names":["TrashPageRepositoryImpl","deleteEntry","pageModel","params","result","Result","PageNotFoundError","PagePersistenceError","TrashPageRepository","RepositoryAbstraction","DeleteEntryUseCase","PageModel"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,SAA8B,CACxC;aAFUD,WAAW,GAAXA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAED,OAAO,EAAE,EAAE;YACrE,aAAa;QACjB;QAEA,IAAIC,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBH,OAAO,KAAK;QAC5D;QAEA,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,0CAAsBC,oBAAAA,oBAA0C,CAAC;IAC1E,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;KAAU;AACjD"}
@@ -0,0 +1,16 @@
1
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from "./abstractions.js";
3
+ import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
4
+ import { WbPermissions } from "../../../features/permissions/abstractions.js";
5
+ declare class TrashPageUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private permissions;
7
+ private eventPublisher;
8
+ private getPageById;
9
+ private repository;
10
+ constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: TrashPageRepository.Interface);
11
+ execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
12
+ }
13
+ export declare const TrashPageUseCase: typeof TrashPageUseCaseImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITrashPageUseCase>;
15
+ };
16
+ export {};
@@ -0,0 +1,45 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import { TrashPageRepository, TrashPageUseCase } from "./abstractions.js";
4
+ import { PageAfterTrashEvent, PageBeforeTrashEvent } from "./events.js";
5
+ import { GetPageByIdUseCase } from "../GetPageById/index.js";
6
+ import { WbPermissions } from "../../permissions/abstractions.js";
7
+ import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
8
+ class TrashPageUseCaseImpl {
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 getResult = await this.getPageById.execute(params.id);
17
+ if (getResult.isFail()) return Result.fail(getResult.error);
18
+ const page = getResult.value;
19
+ const canDelete = await this.permissions.canDelete("page", page);
20
+ if (!canDelete) return Result.fail(new PageNotAuthorizedError());
21
+ const beforeEvent = new PageBeforeTrashEvent({
22
+ page
23
+ });
24
+ await this.eventPublisher.publish(beforeEvent);
25
+ const result = await this.repository.execute(params);
26
+ if (result.isFail()) return result;
27
+ const afterEvent = new PageAfterTrashEvent({
28
+ page
29
+ });
30
+ await this.eventPublisher.publish(afterEvent);
31
+ return Result.ok();
32
+ }
33
+ }
34
+ const TrashPageUseCase_TrashPageUseCase = TrashPageUseCase.createImplementation({
35
+ implementation: TrashPageUseCaseImpl,
36
+ dependencies: [
37
+ WbPermissions,
38
+ EventPublisher,
39
+ GetPageByIdUseCase,
40
+ TrashPageRepository
41
+ ]
42
+ });
43
+ export { TrashPageUseCase_TrashPageUseCase as TrashPageUseCase };
44
+
45
+ //# sourceMappingURL=TrashPageUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/pages/TrashPage/TrashPageUseCase.js","sources":["../../../../src/features/pages/TrashPage/TrashPageUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from \"./abstractions.js\";\nimport { PageBeforeTrashEvent, PageAfterTrashEvent } 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 TrashPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: TrashPageRepository.Interface\n ) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the page first to include in events and for item-level permission check\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const page = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"page\", page);\n if (!canDelete) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new PageBeforeTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new PageAfterTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const TrashPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: TrashPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, TrashPageRepository]\n});\n"],"names":["TrashPageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","getResult","Result","page","canDelete","PageNotAuthorizedError","beforeEvent","PageBeforeTrashEvent","result","afterEvent","PageAfterTrashEvent","TrashPageUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","TrashPageRepository"],"mappings":";;;;;;;AAWA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAyC,CACnD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,QAAQC,MAAiC,EAA6B;QAE/E,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACD,OAAO,EAAE;QAE1D,IAAIC,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,OAAOF,UAAU,KAAK;QAE5B,MAAMG,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQD;QAC3D,IAAI,CAACC,WACD,OAAOF,OAAO,IAAI,CAAC,IAAIG;QAI3B,MAAMC,cAAc,IAAIC,qBAAqB;YACzCJ;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACG;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACR;QAE7C,IAAIQ,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,oBAAoB;YACvCP;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACM;QAElC,OAAOP,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMS,oCAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgBjB;IAChB,cAAc;QAACkB;QAAeC;QAAgBC;QAAoBC;KAAoB;AAC1F"}
@@ -0,0 +1,58 @@
1
+ import { type Result } from "@webiny/feature/api";
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
+ import type { WbPage } from "../../../domain/page/abstractions.js";
5
+ import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
+ export interface ITrashWbPageParams {
7
+ id: string;
8
+ }
9
+ export interface ITrashPageRepository {
10
+ execute(params: ITrashWbPageParams): Promise<Result<void, RepositoryError>>;
11
+ }
12
+ export interface ITrashPageRepositoryErrors {
13
+ notFound: PageNotFoundError;
14
+ persistence: PagePersistenceError;
15
+ }
16
+ type RepositoryError = ITrashPageRepositoryErrors[keyof ITrashPageRepositoryErrors];
17
+ export declare const TrashPageRepository: import("@webiny/di").Abstraction<ITrashPageRepository>;
18
+ export declare namespace TrashPageRepository {
19
+ type Interface = ITrashPageRepository;
20
+ type Params = ITrashWbPageParams;
21
+ type Return = Promise<Result<void, RepositoryError>>;
22
+ type Error = RepositoryError;
23
+ }
24
+ export interface ITrashPageUseCase {
25
+ execute(params: ITrashWbPageParams): Promise<Result<void, UseCaseError>>;
26
+ }
27
+ export interface ITrashPageUseCaseErrors {
28
+ notAuthorized: PageNotAuthorizedError;
29
+ notFound: PageNotFoundError;
30
+ persistence: PagePersistenceError;
31
+ }
32
+ type UseCaseError = ITrashPageUseCaseErrors[keyof ITrashPageUseCaseErrors];
33
+ export declare const TrashPageUseCase: import("@webiny/di").Abstraction<ITrashPageUseCase>;
34
+ export declare namespace TrashPageUseCase {
35
+ type Interface = ITrashPageUseCase;
36
+ type Params = ITrashWbPageParams;
37
+ type Return = Promise<Result<void, UseCaseError>>;
38
+ type Error = UseCaseError;
39
+ }
40
+ export interface PageBeforeTrashPayload {
41
+ page: WbPage;
42
+ }
43
+ export interface PageAfterTrashPayload {
44
+ page: WbPage;
45
+ }
46
+ export declare const PageBeforeTrashEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeTrashPayload>>>;
47
+ export declare namespace PageBeforeTrashEventHandler {
48
+ type Interface = IEventHandler<DomainEvent<PageBeforeTrashPayload>>;
49
+ type Event = DomainEvent<PageBeforeTrashPayload>;
50
+ type Page = WbPage;
51
+ }
52
+ export declare const PageAfterTrashEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterTrashPayload>>>;
53
+ export declare namespace PageAfterTrashEventHandler {
54
+ type Interface = IEventHandler<DomainEvent<PageAfterTrashPayload>>;
55
+ type Event = DomainEvent<PageAfterTrashPayload>;
56
+ type Page = WbPage;
57
+ }
58
+ export {};
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TrashPageRepository = createAbstraction("Wb/TrashPageRepository");
3
+ const TrashPageUseCase = createAbstraction("Wb/TrashPageUseCase");
4
+ const PageBeforeTrashEventHandler = createAbstraction("Wb/PageBeforeTrashEventHandler");
5
+ const PageAfterTrashEventHandler = createAbstraction("Wb/PageAfterTrashEventHandler");
6
+ export { PageAfterTrashEventHandler, PageBeforeTrashEventHandler, TrashPageRepository, TrashPageUseCase };
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/pages/TrashPage/abstractions.js","sources":["../../../../src/features/pages/TrashPage/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 ITrashWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface ITrashPageRepository {\n execute(params: ITrashWbPageParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ITrashPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = ITrashPageRepositoryErrors[keyof ITrashPageRepositoryErrors];\n\nexport const TrashPageRepository =\n createAbstraction<ITrashPageRepository>(\"Wb/TrashPageRepository\");\n\nexport namespace TrashPageRepository {\n export type Interface = ITrashPageRepository;\n export type Params = ITrashWbPageParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ITrashPageUseCase {\n execute(params: ITrashWbPageParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface ITrashPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = ITrashPageUseCaseErrors[keyof ITrashPageUseCaseErrors];\n\nexport const TrashPageUseCase = createAbstraction<ITrashPageUseCase>(\"Wb/TrashPageUseCase\");\n\nexport namespace TrashPageUseCase {\n export type Interface = ITrashPageUseCase;\n export type Params = ITrashWbPageParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeTrashPayload {\n page: WbPage;\n}\n\nexport interface PageAfterTrashPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforeTrashEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeTrashPayload>>\n>(\"Wb/PageBeforeTrashEventHandler\");\n\nexport namespace PageBeforeTrashEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeTrashPayload>>;\n export type Event = DomainEvent<PageBeforeTrashPayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterTrashEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterTrashPayload>>\n>(\"Wb/PageAfterTrashEventHandler\");\n\nexport namespace PageAfterTrashEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterTrashPayload>>;\n export type Event = DomainEvent<PageAfterTrashPayload>;\n export type Page = WbPage;\n}\n"],"names":["TrashPageRepository","createAbstraction","TrashPageUseCase","PageBeforeTrashEventHandler","PageAfterTrashEventHandler"],"mappings":";AAiCO,MAAMA,sBACTC,kBAAwC;AAyBrC,MAAMC,mBAAmBD,kBAAqC;AAyB9D,MAAME,8BAA8BF,kBAEzC;AAQK,MAAMG,6BAA6BH,kBAExC"}
@@ -0,0 +1,10 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { PageBeforeTrashPayload, PageAfterTrashPayload } from "./abstractions.js";
3
+ export declare class PageBeforeTrashEvent extends DomainEvent<PageBeforeTrashPayload> {
4
+ eventType: "page.beforeTrash";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageBeforeTrashPayload>>>;
6
+ }
7
+ export declare class PageAfterTrashEvent extends DomainEvent<PageAfterTrashPayload> {
8
+ eventType: "page.afterTrash";
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageAfterTrashPayload>>>;
10
+ }
@@ -0,0 +1,21 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { PageAfterTrashEventHandler, PageBeforeTrashEventHandler } from "./abstractions.js";
3
+ class PageBeforeTrashEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return PageBeforeTrashEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "page.beforeTrash";
9
+ }
10
+ }
11
+ class PageAfterTrashEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return PageAfterTrashEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "page.afterTrash";
17
+ }
18
+ }
19
+ export { PageAfterTrashEvent, PageBeforeTrashEvent };
20
+
21
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/pages/TrashPage/events.js","sources":["../../../../src/features/pages/TrashPage/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeTrashEventHandler, PageAfterTrashEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeTrashPayload, PageAfterTrashPayload } from \"./abstractions.js\";\n\n// PageBeforeTrash Event\nexport class PageBeforeTrashEvent extends DomainEvent<PageBeforeTrashPayload> {\n eventType = \"page.beforeTrash\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeTrashEventHandler;\n }\n}\n\n// PageAfterTrash Event\nexport class PageAfterTrashEvent extends DomainEvent<PageAfterTrashPayload> {\n eventType = \"page.afterTrash\" as const;\n\n getHandlerAbstraction() {\n return PageAfterTrashEventHandler;\n }\n}\n"],"names":["PageBeforeTrashEvent","DomainEvent","PageBeforeTrashEventHandler","PageAfterTrashEvent","PageAfterTrashEventHandler"],"mappings":";;AAKO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,4BAA4BF;IAGrC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,4 @@
1
+ export declare const TrashPageFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TrashPageRepository } from "./TrashPageRepository.js";
3
+ import { TrashPageUseCase } from "./TrashPageUseCase.js";
4
+ const TrashPageFeature = createFeature({
5
+ name: "WebsiteBuilder/TrashPage",
6
+ register (container) {
7
+ container.register(TrashPageRepository).inSingletonScope();
8
+ container.register(TrashPageUseCase);
9
+ }
10
+ });
11
+ export { TrashPageFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/pages/TrashPage/feature.js","sources":["../../../../src/features/pages/TrashPage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TrashPageRepository } from \"./TrashPageRepository.js\";\nimport { TrashPageUseCase } from \"./TrashPageUseCase.js\";\n\nexport const TrashPageFeature = createFeature({\n name: \"WebsiteBuilder/TrashPage\",\n register(container) {\n container.register(TrashPageRepository).inSingletonScope();\n container.register(TrashPageUseCase);\n }\n});\n"],"names":["TrashPageFeature","createFeature","container","TrashPageRepository","TrashPageUseCase"],"mappings":";;;AAIO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,qBAAqB,gBAAgB;QACxDD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { PageAfterTrashEventHandler, PageBeforeTrashEventHandler, TrashPageUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { PageAfterTrashEventHandler, PageBeforeTrashEventHandler, TrashPageUseCase } from "./abstractions.js";
@@ -1,41 +1,39 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { UnpublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { UnpublishPageRepository } from "./abstractions.js";
3
3
  import { UnpublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UnpublishEntry";
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 UnpublishPageRepositoryImpl {
9
- constructor(unpublishEntry, getEntryById, pageModel) {
10
- this.unpublishEntry = unpublishEntry;
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(unpublishEntry, getEntryById, pageModel){
10
+ this.unpublishEntry = unpublishEntry;
11
+ this.getEntryById = getEntryById;
12
+ this.pageModel = pageModel;
22
13
  }
23
-
24
- // Unpublish the entry
25
- const result = await this.unpublishEntry.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.unpublishEntry.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 UnpublishPageRepository = RepositoryAbstraction.createImplementation({
37
- implementation: UnpublishPageRepositoryImpl,
38
- dependencies: [UnpublishEntryUseCase, GetEntryByIdUseCase, PageModel]
29
+ const UnpublishPageRepository_UnpublishPageRepository = UnpublishPageRepository.createImplementation({
30
+ implementation: UnpublishPageRepositoryImpl,
31
+ dependencies: [
32
+ UnpublishEntryUseCase,
33
+ GetEntryByIdUseCase,
34
+ PageModel
35
+ ]
39
36
  });
37
+ export { UnpublishPageRepository_UnpublishPageRepository as UnpublishPageRepository };
40
38
 
41
39
  //# sourceMappingURL=UnpublishPageRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","UnpublishPageRepository","RepositoryAbstraction","UnpublishEntryUseCase","GetEntryByIdUseCase","PageModel","EntryToPageMapper","PageNotFoundError","PagePersistenceError","UnpublishPageRepositoryImpl","constructor","unpublishEntry","getEntryById","pageModel","execute","params","getResult","id","isFail","error","code","fail","result","page","toPage","value","ok","createImplementation","implementation","dependencies"],"sources":["UnpublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UnpublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { UnpublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UnpublishEntry\";\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 UnpublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private unpublishEntry: UnpublishEntryUseCase.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 // Unpublish the entry\n const result = await this.unpublishEntry.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 UnpublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: UnpublishPageRepositoryImpl,\n dependencies: [UnpublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,uBAAuB,IAAIC,qBAAqB;AACzD,SAASC,qBAAqB,QAAQ,+DAA+D;AACrG,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB,EAAEC,oBAAoB;AAEhD,MAAMC,2BAA2B,CAA4C;EACzEC,WAAWA,CACCC,cAA+C,EAC/CC,YAA2C,EAC3CC,SAA8B,EACxC;IAAA,KAHUF,cAA+C,GAA/CA,cAA+C;IAAA,KAC/CC,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,cAAc,CAACG,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,CAAC;IAE3E,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,uBAAuB,GAAGC,qBAAqB,CAACyB,oBAAoB,CAAC;EAC9EC,cAAc,EAAEnB,2BAA2B;EAC3CoB,YAAY,EAAE,CAAC1B,qBAAqB,EAAEC,mBAAmB,EAAEC,SAAS;AACxE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/UnpublishPage/UnpublishPageRepository.js","sources":["../../../../src/features/pages/UnpublishPage/UnpublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UnpublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { UnpublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UnpublishEntry\";\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 UnpublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private unpublishEntry: UnpublishEntryUseCase.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 // Unpublish the entry\n const result = await this.unpublishEntry.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 UnpublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: UnpublishPageRepositoryImpl,\n dependencies: [UnpublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"names":["UnpublishPageRepositoryImpl","unpublishEntry","getEntryById","pageModel","params","getResult","Result","PageNotFoundError","PagePersistenceError","result","page","EntryToPageMapper","UnpublishPageRepository","RepositoryAbstraction","UnpublishEntryUseCase","GetEntryByIdUseCase","PageModel"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,cAA+C,EAC/CC,YAA2C,EAC3CC,SAA8B,CACxC;aAHUF,cAAc,GAAdA;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,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAEL,OAAO,EAAE;QAE1E,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,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBb;IAChB,cAAc;QAACc;QAAuBC;QAAqBC;KAAU;AACzE"}
@@ -1,11 +1,13 @@
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 { UnpublishPageUseCase as UseCaseAbstraction, UnpublishPageRepository } from "./abstractions.js";
3
3
  import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
4
+ import { WbPermissions } from "../../../features/permissions/abstractions.js";
4
5
  declare class UnpublishPageUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private permissions;
5
7
  private eventPublisher;
6
8
  private getPageById;
7
9
  private repository;
8
- constructor(eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: UnpublishPageRepository.Interface);
10
+ constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: UnpublishPageRepository.Interface);
9
11
  execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
10
12
  }
11
13
  export declare const UnpublishPageUseCase: typeof UnpublishPageUseCaseImpl & {
@@ -1,45 +1,47 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
- import { UnpublishPageUseCase as UseCaseAbstraction, UnpublishPageRepository } from "./abstractions.js";
4
- import { PageBeforeUnpublishEvent, PageAfterUnpublishEvent } from "./events.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import { UnpublishPageRepository, UnpublishPageUseCase } from "./abstractions.js";
4
+ import { PageAfterUnpublishEvent, PageBeforeUnpublishEvent } from "./events.js";
5
5
  import { GetPageByIdUseCase } from "../GetPageById/index.js";
6
+ import { WbPermissions } from "../../permissions/abstractions.js";
7
+ import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
8
  class UnpublishPageUseCaseImpl {
7
- constructor(eventPublisher, getPageById, repository) {
8
- this.eventPublisher = eventPublisher;
9
- this.getPageById = getPageById;
10
- this.repository = repository;
11
- }
12
- async execute(params) {
13
- // Get the page first for the before event
14
- const getResult = await this.getPageById.execute(params.id);
15
- if (getResult.isFail()) {
16
- return getResult;
9
+ constructor(permissions, eventPublisher, getPageById, repository){
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getPageById = getPageById;
13
+ this.repository = repository;
17
14
  }
18
- const page = getResult.value;
19
-
20
- // Publish before unpublish event
21
- const beforeEvent = new PageBeforeUnpublishEvent({
22
- page
23
- });
24
- await this.eventPublisher.publish(beforeEvent);
25
-
26
- // Execute the unpublish operation
27
- const result = await this.repository.execute(params);
28
- if (result.isFail()) {
29
- return result;
15
+ async execute(params) {
16
+ const hasPermission = await this.permissions.canUnpublish("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 PageBeforeUnpublishEvent({
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 PageAfterUnpublishEvent({
30
+ page: result.value
31
+ });
32
+ await this.eventPublisher.publish(afterEvent);
33
+ return Result.ok(result.value);
30
34
  }
31
-
32
- // Publish after unpublish event
33
- const afterEvent = new PageAfterUnpublishEvent({
34
- page: result.value
35
- });
36
- await this.eventPublisher.publish(afterEvent);
37
- return Result.ok(result.value);
38
- }
39
35
  }
40
- export const UnpublishPageUseCase = UseCaseAbstraction.createImplementation({
41
- implementation: UnpublishPageUseCaseImpl,
42
- dependencies: [EventPublisher, GetPageByIdUseCase, UnpublishPageRepository]
36
+ const UnpublishPageUseCase_UnpublishPageUseCase = UnpublishPageUseCase.createImplementation({
37
+ implementation: UnpublishPageUseCaseImpl,
38
+ dependencies: [
39
+ WbPermissions,
40
+ EventPublisher,
41
+ GetPageByIdUseCase,
42
+ UnpublishPageRepository
43
+ ]
43
44
  });
45
+ export { UnpublishPageUseCase_UnpublishPageUseCase as UnpublishPageUseCase };
44
46
 
45
47
  //# sourceMappingURL=UnpublishPageUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","EventPublisher","UnpublishPageUseCase","UseCaseAbstraction","UnpublishPageRepository","PageBeforeUnpublishEvent","PageAfterUnpublishEvent","GetPageByIdUseCase","UnpublishPageUseCaseImpl","constructor","eventPublisher","getPageById","repository","execute","params","getResult","id","isFail","page","value","beforeEvent","publish","result","afterEvent","ok","createImplementation","implementation","dependencies"],"sources":["UnpublishPageUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport {\n UnpublishPageUseCase as UseCaseAbstraction,\n UnpublishPageRepository\n} from \"./abstractions.js\";\nimport { PageBeforeUnpublishEvent, PageAfterUnpublishEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\n\nclass UnpublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: UnpublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\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 // Publish before unpublish event\n const beforeEvent = new PageBeforeUnpublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the unpublish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after unpublish event\n const afterEvent = new PageAfterUnpublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UnpublishPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: UnpublishPageUseCaseImpl,\n dependencies: [EventPublisher, GetPageByIdUseCase, UnpublishPageRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,0CAA0C;AACjD,SACIC,oBAAoB,IAAIC,kBAAkB,EAC1CC,uBAAuB;AAE3B,SAASC,wBAAwB,EAAEC,uBAAuB;AAC1D,SAASC,kBAAkB;AAE3B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA6C,EACvD;IAAA,KAHUF,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA6C,GAA7CA,UAA6C;EACtD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,WAAW,CAACE,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,IAAI,GAAGH,SAAS,CAACI,KAAK;;IAE5B;IACA,MAAMC,WAAW,GAAG,IAAIf,wBAAwB,CAAC;MAC7Ca;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACR,cAAc,CAACW,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACV,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIQ,MAAM,CAACL,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOK,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIjB,uBAAuB,CAAC;MAC3CY,IAAI,EAAEI,MAAM,CAACH;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACT,cAAc,CAACW,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAOvB,MAAM,CAACwB,EAAE,CAACF,MAAM,CAACH,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMjB,oBAAoB,GAAGC,kBAAkB,CAACsB,oBAAoB,CAAC;EACxEC,cAAc,EAAElB,wBAAwB;EACxCmB,YAAY,EAAE,CAAC1B,cAAc,EAAEM,kBAAkB,EAAEH,uBAAuB;AAC9E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/UnpublishPage/UnpublishPageUseCase.js","sources":["../../../../src/features/pages/UnpublishPage/UnpublishPageUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n UnpublishPageUseCase as UseCaseAbstraction,\n UnpublishPageRepository\n} from \"./abstractions.js\";\nimport { PageBeforeUnpublishEvent, PageAfterUnpublishEvent } 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 UnpublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: UnpublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canUnpublish(\"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 unpublish event\n const beforeEvent = new PageBeforeUnpublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the unpublish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after unpublish event\n const afterEvent = new PageAfterUnpublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UnpublishPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: UnpublishPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, UnpublishPageRepository]\n});\n"],"names":["UnpublishPageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","hasPermission","Result","PageNotAuthorizedError","getResult","page","canAccess","beforeEvent","PageBeforeUnpublishEvent","result","afterEvent","PageAfterUnpublishEvent","UnpublishPageUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","UnpublishPageRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA6C,CACvD;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,YAAY,CAAC;QAC1D,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,yBAAyB;YAC7CH;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,wBAAwB;YAC3C,MAAMF,OAAO,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBlB;IAChB,cAAc;QAACmB;QAAeC;QAAgBC;QAAoBC;KAAwB;AAC9F"}
@@ -1,8 +1,8 @@
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
- import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
5
+ import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
6
  export interface IUnpublishWbPageParams {
7
7
  id: string;
8
8
  }
@@ -25,10 +25,12 @@ export interface IUnpublishPageUseCase {
25
25
  execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;
26
26
  }
27
27
  export interface IUnpublishPageUseCaseErrors {
28
+ notAuthorized: PageNotAuthorizedError;
28
29
  notFound: PageNotFoundError;
29
30
  persistence: PagePersistenceError;
30
31
  }
31
32
  type UseCaseError = IUnpublishPageUseCaseErrors[keyof IUnpublishPageUseCaseErrors];
33
+ /** Unpublish a page. */
32
34
  export declare const UnpublishPageUseCase: import("@webiny/di").Abstraction<IUnpublishPageUseCase>;
33
35
  export declare namespace UnpublishPageUseCase {
34
36
  type Interface = IUnpublishPageUseCase;
@@ -43,14 +45,16 @@ export interface PageBeforeUnpublishPayload {
43
45
  export interface PageAfterUnpublishPayload {
44
46
  page: WbPage;
45
47
  }
46
- export declare const PageBeforeUnpublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>>;
47
- export declare namespace PageBeforeUnpublishHandler {
48
+ /** Hook into page lifecycle before a page is unpublished. */
49
+ export declare const PageBeforeUnpublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>>;
50
+ export declare namespace PageBeforeUnpublishEventHandler {
48
51
  type Interface = IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>;
49
52
  type Event = DomainEvent<PageBeforeUnpublishPayload>;
50
53
  type Page = WbPage;
51
54
  }
52
- export declare const PageAfterUnpublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterUnpublishPayload>>>;
53
- export declare namespace PageAfterUnpublishHandler {
55
+ /** Hook into page lifecycle after a page is unpublished. */
56
+ export declare const PageAfterUnpublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterUnpublishPayload>>>;
57
+ export declare namespace PageAfterUnpublishEventHandler {
54
58
  type Interface = IEventHandler<DomainEvent<PageAfterUnpublishPayload>>;
55
59
  type Event = DomainEvent<PageAfterUnpublishPayload>;
56
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 UnpublishPageRepository = createAbstraction("Wb/UnpublishPageRepository");
12
-
13
- // ============================================================================
14
- // Use Case Abstraction
15
- // ============================================================================
16
-
17
- export const UnpublishPageUseCase = createAbstraction("Wb/UnpublishPageUseCase");
18
-
19
- // ============================================================================
20
- // Event Payload Types
21
- // ============================================================================
22
-
23
- // ============================================================================
24
- // Event Handler Abstractions
25
- // ============================================================================
26
-
27
- export const PageBeforeUnpublishHandler = createAbstraction("Wb/PageBeforeUnpublishHandler");
28
- export const PageAfterUnpublishHandler = createAbstraction("Wb/PageAfterUnpublishHandler");
2
+ const UnpublishPageRepository = createAbstraction("Wb/UnpublishPageRepository");
3
+ const UnpublishPageUseCase = createAbstraction("Wb/UnpublishPageUseCase");
4
+ const PageBeforeUnpublishEventHandler = createAbstraction("Wb/PageBeforeUnpublishEventHandler");
5
+ const PageAfterUnpublishEventHandler = createAbstraction("Wb/PageAfterUnpublishEventHandler");
6
+ export { PageAfterUnpublishEventHandler, PageBeforeUnpublishEventHandler, UnpublishPageRepository, UnpublishPageUseCase };
29
7
 
30
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UnpublishPageRepository","UnpublishPageUseCase","PageBeforeUnpublishHandler","PageAfterUnpublishHandler"],"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 { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IUnpublishWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IUnpublishPageRepository {\n execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IUnpublishPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IUnpublishPageRepositoryErrors[keyof IUnpublishPageRepositoryErrors];\n\nexport const UnpublishPageRepository = createAbstraction<IUnpublishPageRepository>(\n \"Wb/UnpublishPageRepository\"\n);\n\nexport namespace UnpublishPageRepository {\n export type Interface = IUnpublishPageRepository;\n export type Params = IUnpublishWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IUnpublishPageUseCase {\n execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IUnpublishPageUseCaseErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IUnpublishPageUseCaseErrors[keyof IUnpublishPageUseCaseErrors];\n\nexport const UnpublishPageUseCase =\n createAbstraction<IUnpublishPageUseCase>(\"Wb/UnpublishPageUseCase\");\n\nexport namespace UnpublishPageUseCase {\n export type Interface = IUnpublishPageUseCase;\n export type Params = IUnpublishWbPageParams;\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 PageBeforeUnpublishPayload {\n page: WbPage;\n}\n\nexport interface PageAfterUnpublishPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforeUnpublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>\n>(\"Wb/PageBeforeUnpublishHandler\");\n\nexport namespace PageBeforeUnpublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>;\n export type Event = DomainEvent<PageBeforeUnpublishPayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterUnpublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterUnpublishPayload>>\n>(\"Wb/PageAfterUnpublishHandler\");\n\nexport namespace PageAfterUnpublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterUnpublishPayload>>;\n export type Event = DomainEvent<PageAfterUnpublishPayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAMpE;AACA;AACA;;AAMA;AACA;AACA;;AAaA,OAAO,MAAMC,uBAAuB,GAAGD,iBAAiB,CACpD,4BACJ,CAAC;;AASD;AACA;AACA;;AAaA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,yBAAyB,CAAC;;AAUvE;AACA;AACA;;AAUA;AACA;AACA;;AAEA,OAAO,MAAMG,0BAA0B,GAAGH,iBAAiB,CAEzD,+BAA+B,CAAC;AAQlC,OAAO,MAAMI,yBAAyB,GAAGJ,iBAAiB,CAExD,8BAA8B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/pages/UnpublishPage/abstractions.js","sources":["../../../../src/features/pages/UnpublishPage/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 IUnpublishWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IUnpublishPageRepository {\n execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IUnpublishPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IUnpublishPageRepositoryErrors[keyof IUnpublishPageRepositoryErrors];\n\nexport const UnpublishPageRepository = createAbstraction<IUnpublishPageRepository>(\n \"Wb/UnpublishPageRepository\"\n);\n\nexport namespace UnpublishPageRepository {\n export type Interface = IUnpublishPageRepository;\n export type Params = IUnpublishWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IUnpublishPageUseCase {\n execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IUnpublishPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IUnpublishPageUseCaseErrors[keyof IUnpublishPageUseCaseErrors];\n\n/** Unpublish a page. */\nexport const UnpublishPageUseCase =\n createAbstraction<IUnpublishPageUseCase>(\"Wb/UnpublishPageUseCase\");\n\nexport namespace UnpublishPageUseCase {\n export type Interface = IUnpublishPageUseCase;\n export type Params = IUnpublishWbPageParams;\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 PageBeforeUnpublishPayload {\n page: WbPage;\n}\n\nexport interface PageAfterUnpublishPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into page lifecycle before a page is unpublished. */\nexport const PageBeforeUnpublishEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>\n>(\"Wb/PageBeforeUnpublishEventHandler\");\n\nexport namespace PageBeforeUnpublishEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>;\n export type Event = DomainEvent<PageBeforeUnpublishPayload>;\n export type Page = WbPage;\n}\n\n/** Hook into page lifecycle after a page is unpublished. */\nexport const PageAfterUnpublishEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterUnpublishPayload>>\n>(\"Wb/PageAfterUnpublishEventHandler\");\n\nexport namespace PageAfterUnpublishEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterUnpublishPayload>>;\n export type Event = DomainEvent<PageAfterUnpublishPayload>;\n export type Page = WbPage;\n}\n"],"names":["UnpublishPageRepository","createAbstraction","UnpublishPageUseCase","PageBeforeUnpublishEventHandler","PageAfterUnpublishEventHandler"],"mappings":";AAiCO,MAAMA,0BAA0BC,kBACnC;AA2BG,MAAMC,uBACTD,kBAAyC;AA2BtC,MAAME,kCAAkCF,kBAE7C;AASK,MAAMG,iCAAiCH,kBAE5C"}