@webiny/api-website-builder 6.0.0-alpha.5 → 6.0.0-rc.1

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 (640) hide show
  1. package/README.md +7 -29
  2. package/constants.js +3 -9
  3. package/constants.js.map +1 -1
  4. package/domain/page/EntryToPageMapper.d.ts +5 -0
  5. package/domain/page/EntryToPageMapper.js +30 -0
  6. package/domain/page/EntryToPageMapper.js.map +1 -0
  7. package/domain/page/abstractions.d.ts +33 -0
  8. package/domain/page/abstractions.js +8 -0
  9. package/domain/page/abstractions.js.map +1 -0
  10. package/domain/page/errors.d.ts +19 -0
  11. package/domain/page/errors.js +38 -0
  12. package/domain/page/errors.js.map +1 -0
  13. package/domain/page/page.model.d.ts +2 -0
  14. package/domain/page/page.model.js +32 -0
  15. package/domain/page/page.model.js.map +1 -0
  16. package/domain/permissions.d.ts +133 -0
  17. package/domain/permissions.js +35 -0
  18. package/domain/permissions.js.map +1 -0
  19. package/domain/redirect/EntryToRedirectMapper.d.ts +5 -0
  20. package/domain/redirect/EntryToRedirectMapper.js +24 -0
  21. package/domain/redirect/EntryToRedirectMapper.js.map +1 -0
  22. package/domain/redirect/abstractions.d.ts +30 -0
  23. package/domain/redirect/abstractions.js +12 -0
  24. package/domain/redirect/abstractions.js.map +1 -0
  25. package/domain/redirect/errors.d.ts +19 -0
  26. package/domain/redirect/errors.js +38 -0
  27. package/domain/redirect/errors.js.map +1 -0
  28. package/domain/redirect/redirect.model.d.ts +2 -0
  29. package/domain/redirect/redirect.model.js +32 -0
  30. package/domain/redirect/redirect.model.js.map +1 -0
  31. package/domain/shared/abstractions.d.ts +5 -0
  32. package/domain/shared/abstractions.js +3 -0
  33. package/domain/shared/abstractions.js.map +1 -0
  34. package/exports/api/website-builder/nextjs.d.ts +1 -0
  35. package/exports/api/website-builder/nextjs.js +3 -0
  36. package/exports/api/website-builder/nextjs.js.map +1 -0
  37. package/exports/api/website-builder/page.d.ts +12 -0
  38. package/exports/api/website-builder/page.js +14 -0
  39. package/exports/api/website-builder/page.js.map +1 -0
  40. package/exports/api/website-builder/redirect.d.ts +8 -0
  41. package/exports/api/website-builder/redirect.js +10 -0
  42. package/exports/api/website-builder/redirect.js.map +1 -0
  43. package/features/installer/ApiKeyInstaller.d.ts +20 -0
  44. package/features/installer/ApiKeyInstaller.js +44 -0
  45. package/features/installer/ApiKeyInstaller.js.map +1 -0
  46. package/features/installer/feature.d.ts +1 -0
  47. package/features/installer/feature.js +10 -0
  48. package/features/installer/feature.js.map +1 -0
  49. package/features/nextjs/MarkdownContentBuilder.d.ts +31 -0
  50. package/features/nextjs/MarkdownContentBuilder.js +86 -0
  51. package/features/nextjs/MarkdownContentBuilder.js.map +1 -0
  52. package/features/nextjs/MarkdownContentBuilder.test.d.ts +1 -0
  53. package/features/nextjs/MarkdownContentBuilder.test.js +278 -0
  54. package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -0
  55. package/features/nextjs/NextjsConfig.d.ts +14 -0
  56. package/features/nextjs/NextjsConfig.js +58 -0
  57. package/features/nextjs/NextjsConfig.js.map +1 -0
  58. package/features/nextjs/abstractions.d.ts +9 -0
  59. package/features/nextjs/abstractions.js +4 -0
  60. package/features/nextjs/abstractions.js.map +1 -0
  61. package/features/nextjs/feature.d.ts +1 -0
  62. package/features/nextjs/feature.js +10 -0
  63. package/features/nextjs/feature.js.map +1 -0
  64. package/features/nextjs/index.d.ts +1 -0
  65. package/features/nextjs/index.js +3 -0
  66. package/features/nextjs/index.js.map +1 -0
  67. package/features/pages/CreatePage/CreatePageRepository.d.ts +13 -0
  68. package/features/pages/CreatePage/CreatePageRepository.js +36 -0
  69. package/features/pages/CreatePage/CreatePageRepository.js.map +1 -0
  70. package/features/pages/CreatePage/CreatePageUseCase.d.ts +14 -0
  71. package/features/pages/CreatePage/CreatePageUseCase.js +45 -0
  72. package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -0
  73. package/features/pages/CreatePage/abstractions.d.ts +56 -0
  74. package/features/pages/CreatePage/abstractions.js +30 -0
  75. package/features/pages/CreatePage/abstractions.js.map +1 -0
  76. package/features/pages/CreatePage/events.d.ts +10 -0
  77. package/features/pages/CreatePage/events.js +19 -0
  78. package/features/pages/CreatePage/events.js.map +1 -0
  79. package/features/pages/CreatePage/feature.d.ts +1 -0
  80. package/features/pages/CreatePage/feature.js +12 -0
  81. package/features/pages/CreatePage/feature.js.map +1 -0
  82. package/features/pages/CreatePage/index.d.ts +1 -15
  83. package/features/pages/CreatePage/index.js +1 -16
  84. package/features/pages/CreatePage/index.js.map +1 -1
  85. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.d.ts +15 -0
  86. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +49 -0
  87. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -0
  88. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +16 -0
  89. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +53 -0
  90. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -0
  91. package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +61 -0
  92. package/features/pages/CreatePageRevisionFrom/abstractions.js +30 -0
  93. package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -0
  94. package/features/pages/CreatePageRevisionFrom/events.d.ts +10 -0
  95. package/features/pages/CreatePageRevisionFrom/events.js +19 -0
  96. package/features/pages/CreatePageRevisionFrom/events.js.map +1 -0
  97. package/features/pages/CreatePageRevisionFrom/feature.d.ts +1 -0
  98. package/features/pages/CreatePageRevisionFrom/feature.js +12 -0
  99. package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -0
  100. package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -16
  101. package/features/pages/CreatePageRevisionFrom/index.js +1 -16
  102. package/features/pages/CreatePageRevisionFrom/index.js.map +1 -1
  103. package/features/pages/DeletePage/DeletePageRepository.d.ts +15 -0
  104. package/features/pages/DeletePage/DeletePageRepository.js +39 -0
  105. package/features/pages/DeletePage/DeletePageRepository.js.map +1 -0
  106. package/features/pages/DeletePage/DeletePageUseCase.d.ts +16 -0
  107. package/features/pages/DeletePage/DeletePageUseCase.js +52 -0
  108. package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -0
  109. package/features/pages/DeletePage/abstractions.d.ts +58 -0
  110. package/features/pages/DeletePage/abstractions.js +30 -0
  111. package/features/pages/DeletePage/abstractions.js.map +1 -0
  112. package/features/pages/DeletePage/events.d.ts +10 -0
  113. package/features/pages/DeletePage/events.js +19 -0
  114. package/features/pages/DeletePage/events.js.map +1 -0
  115. package/features/pages/DeletePage/feature.d.ts +1 -0
  116. package/features/pages/DeletePage/feature.js +12 -0
  117. package/features/pages/DeletePage/feature.js.map +1 -0
  118. package/features/pages/DeletePage/index.d.ts +1 -16
  119. package/features/pages/DeletePage/index.js +1 -16
  120. package/features/pages/DeletePage/index.js.map +1 -1
  121. package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +15 -0
  122. package/features/pages/DuplicatePage/DuplicatePageRepository.js +59 -0
  123. package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -0
  124. package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +14 -0
  125. package/features/pages/DuplicatePage/DuplicatePageUseCase.js +55 -0
  126. package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -0
  127. package/features/pages/DuplicatePage/abstractions.d.ts +62 -0
  128. package/features/pages/DuplicatePage/abstractions.js +30 -0
  129. package/features/pages/DuplicatePage/abstractions.js.map +1 -0
  130. package/features/pages/DuplicatePage/events.d.ts +10 -0
  131. package/features/pages/DuplicatePage/events.js +19 -0
  132. package/features/pages/DuplicatePage/events.js.map +1 -0
  133. package/features/pages/DuplicatePage/feature.d.ts +1 -0
  134. package/features/pages/DuplicatePage/feature.js +12 -0
  135. package/features/pages/DuplicatePage/feature.js.map +1 -0
  136. package/features/pages/DuplicatePage/index.d.ts +1 -16
  137. package/features/pages/DuplicatePage/index.js +1 -16
  138. package/features/pages/DuplicatePage/index.js.map +1 -1
  139. package/features/pages/GetPageById/GetPageByIdRepository.d.ts +13 -0
  140. package/features/pages/GetPageById/GetPageByIdRepository.js +29 -0
  141. package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -0
  142. package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +12 -0
  143. package/features/pages/GetPageById/GetPageByIdUseCase.js +31 -0
  144. package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -0
  145. package/features/pages/GetPageById/abstractions.d.ts +40 -0
  146. package/features/pages/GetPageById/abstractions.js +15 -0
  147. package/features/pages/GetPageById/abstractions.js.map +1 -0
  148. package/features/pages/GetPageById/feature.d.ts +1 -0
  149. package/features/pages/GetPageById/feature.js +12 -0
  150. package/features/pages/GetPageById/feature.js.map +1 -0
  151. package/features/pages/GetPageById/index.d.ts +1 -9
  152. package/features/pages/GetPageById/index.js +1 -14
  153. package/features/pages/GetPageById/index.js.map +1 -1
  154. package/features/pages/GetPageByPath/GetPageByPathRepository.d.ts +13 -0
  155. package/features/pages/GetPageByPath/GetPageByPathRepository.js +38 -0
  156. package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -0
  157. package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +12 -0
  158. package/features/pages/GetPageByPath/GetPageByPathUseCase.js +31 -0
  159. package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -0
  160. package/features/pages/GetPageByPath/abstractions.d.ts +40 -0
  161. package/features/pages/GetPageByPath/abstractions.js +15 -0
  162. package/features/pages/GetPageByPath/abstractions.js.map +1 -0
  163. package/features/pages/GetPageByPath/feature.d.ts +1 -0
  164. package/features/pages/GetPageByPath/feature.js +12 -0
  165. package/features/pages/GetPageByPath/feature.js.map +1 -0
  166. package/features/pages/GetPageByPath/index.d.ts +1 -9
  167. package/features/pages/GetPageByPath/index.js +1 -14
  168. package/features/pages/GetPageByPath/index.js.map +1 -1
  169. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.d.ts +13 -0
  170. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +26 -0
  171. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -0
  172. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +12 -0
  173. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +34 -0
  174. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -0
  175. package/features/pages/GetPageRevisions/abstractions.d.ts +38 -0
  176. package/features/pages/GetPageRevisions/abstractions.js +15 -0
  177. package/features/pages/GetPageRevisions/abstractions.js.map +1 -0
  178. package/features/pages/GetPageRevisions/feature.d.ts +1 -0
  179. package/features/pages/GetPageRevisions/feature.js +12 -0
  180. package/features/pages/GetPageRevisions/feature.js.map +1 -0
  181. package/features/pages/GetPageRevisions/index.d.ts +1 -9
  182. package/features/pages/GetPageRevisions/index.js +1 -14
  183. package/features/pages/GetPageRevisions/index.js.map +1 -1
  184. package/features/pages/ListPages/ListPagesRepository.d.ts +13 -0
  185. package/features/pages/ListPages/ListPagesRepository.js +39 -0
  186. package/features/pages/ListPages/ListPagesRepository.js.map +1 -0
  187. package/features/pages/ListPages/ListPagesUseCase.d.ts +14 -0
  188. package/features/pages/ListPages/ListPagesUseCase.js +35 -0
  189. package/features/pages/ListPages/ListPagesUseCase.js.map +1 -0
  190. package/features/pages/ListPages/abstractions.d.ts +56 -0
  191. package/features/pages/ListPages/abstractions.js +15 -0
  192. package/features/pages/ListPages/abstractions.js.map +1 -0
  193. package/features/pages/ListPages/feature.d.ts +1 -0
  194. package/features/pages/ListPages/feature.js +12 -0
  195. package/features/pages/ListPages/feature.js.map +1 -0
  196. package/features/pages/ListPages/index.d.ts +1 -9
  197. package/features/pages/ListPages/index.js +1 -14
  198. package/features/pages/ListPages/index.js.map +1 -1
  199. package/features/pages/MovePage/MovePageRepository.d.ts +15 -0
  200. package/features/pages/MovePage/MovePageRepository.js +39 -0
  201. package/features/pages/MovePage/MovePageRepository.js.map +1 -0
  202. package/features/pages/MovePage/MovePageUseCase.d.ts +14 -0
  203. package/features/pages/MovePage/MovePageUseCase.js +61 -0
  204. package/features/pages/MovePage/MovePageUseCase.js.map +1 -0
  205. package/features/pages/MovePage/abstractions.d.ts +63 -0
  206. package/features/pages/MovePage/abstractions.js +30 -0
  207. package/features/pages/MovePage/abstractions.js.map +1 -0
  208. package/features/pages/MovePage/events.d.ts +10 -0
  209. package/features/pages/MovePage/events.js +19 -0
  210. package/features/pages/MovePage/events.js.map +1 -0
  211. package/features/pages/MovePage/feature.d.ts +1 -0
  212. package/features/pages/MovePage/feature.js +12 -0
  213. package/features/pages/MovePage/feature.js.map +1 -0
  214. package/features/pages/MovePage/index.d.ts +1 -16
  215. package/features/pages/MovePage/index.js +1 -16
  216. package/features/pages/MovePage/index.js.map +1 -1
  217. package/features/pages/PublishPage/PublishPageRepository.d.ts +15 -0
  218. package/features/pages/PublishPage/PublishPageRepository.js +41 -0
  219. package/features/pages/PublishPage/PublishPageRepository.js.map +1 -0
  220. package/features/pages/PublishPage/PublishPageUseCase.d.ts +14 -0
  221. package/features/pages/PublishPage/PublishPageUseCase.js +58 -0
  222. package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -0
  223. package/features/pages/PublishPage/abstractions.d.ts +59 -0
  224. package/features/pages/PublishPage/abstractions.js +30 -0
  225. package/features/pages/PublishPage/abstractions.js.map +1 -0
  226. package/features/pages/PublishPage/events.d.ts +10 -0
  227. package/features/pages/PublishPage/events.js +19 -0
  228. package/features/pages/PublishPage/events.js.map +1 -0
  229. package/features/pages/PublishPage/feature.d.ts +1 -0
  230. package/features/pages/PublishPage/feature.js +12 -0
  231. package/features/pages/PublishPage/feature.js.map +1 -0
  232. package/features/pages/PublishPage/index.d.ts +1 -16
  233. package/features/pages/PublishPage/index.js +1 -16
  234. package/features/pages/PublishPage/index.js.map +1 -1
  235. package/features/pages/UnpublishPage/UnpublishPageRepository.d.ts +15 -0
  236. package/features/pages/UnpublishPage/UnpublishPageRepository.js +41 -0
  237. package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -0
  238. package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +16 -0
  239. package/features/pages/UnpublishPage/UnpublishPageUseCase.js +57 -0
  240. package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -0
  241. package/features/pages/UnpublishPage/abstractions.d.ts +59 -0
  242. package/features/pages/UnpublishPage/abstractions.js +30 -0
  243. package/features/pages/UnpublishPage/abstractions.js.map +1 -0
  244. package/features/pages/UnpublishPage/events.d.ts +10 -0
  245. package/features/pages/UnpublishPage/events.js +19 -0
  246. package/features/pages/UnpublishPage/events.js.map +1 -0
  247. package/features/pages/UnpublishPage/feature.d.ts +1 -0
  248. package/features/pages/UnpublishPage/feature.js +12 -0
  249. package/features/pages/UnpublishPage/feature.js.map +1 -0
  250. package/features/pages/UnpublishPage/index.d.ts +1 -16
  251. package/features/pages/UnpublishPage/index.js +1 -16
  252. package/features/pages/UnpublishPage/index.js.map +1 -1
  253. package/features/pages/UpdatePage/UpdatePageRepository.d.ts +15 -0
  254. package/features/pages/UpdatePage/UpdatePageRepository.js +47 -0
  255. package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -0
  256. package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +16 -0
  257. package/features/pages/UpdatePage/UpdatePageUseCase.js +66 -0
  258. package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -0
  259. package/features/pages/UpdatePage/abstractions.d.ts +77 -0
  260. package/features/pages/UpdatePage/abstractions.js +30 -0
  261. package/features/pages/UpdatePage/abstractions.js.map +1 -0
  262. package/features/pages/UpdatePage/events.d.ts +10 -0
  263. package/features/pages/UpdatePage/events.js +19 -0
  264. package/features/pages/UpdatePage/events.js.map +1 -0
  265. package/features/pages/UpdatePage/feature.d.ts +1 -0
  266. package/features/pages/UpdatePage/feature.js +12 -0
  267. package/features/pages/UpdatePage/feature.js.map +1 -0
  268. package/features/pages/UpdatePage/index.d.ts +1 -16
  269. package/features/pages/UpdatePage/index.js +1 -16
  270. package/features/pages/UpdatePage/index.js.map +1 -1
  271. package/features/redirects/CreateRedirect/CreateRedirectRepository.d.ts +13 -0
  272. package/features/redirects/CreateRedirect/CreateRedirectRepository.js +32 -0
  273. package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -0
  274. package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +12 -0
  275. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +45 -0
  276. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -0
  277. package/features/redirects/CreateRedirect/abstractions.d.ts +58 -0
  278. package/features/redirects/CreateRedirect/abstractions.js +30 -0
  279. package/features/redirects/CreateRedirect/abstractions.js.map +1 -0
  280. package/features/redirects/CreateRedirect/events.d.ts +10 -0
  281. package/features/redirects/CreateRedirect/events.js +19 -0
  282. package/features/redirects/CreateRedirect/events.js.map +1 -0
  283. package/features/redirects/CreateRedirect/feature.d.ts +1 -0
  284. package/features/redirects/CreateRedirect/feature.js +12 -0
  285. package/features/redirects/CreateRedirect/feature.js.map +1 -0
  286. package/features/redirects/CreateRedirect/index.d.ts +1 -15
  287. package/features/redirects/CreateRedirect/index.js +1 -16
  288. package/features/redirects/CreateRedirect/index.js.map +1 -1
  289. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.d.ts +13 -0
  290. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +27 -0
  291. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -0
  292. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +14 -0
  293. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +53 -0
  294. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -0
  295. package/features/redirects/DeleteRedirect/abstractions.d.ts +58 -0
  296. package/features/redirects/DeleteRedirect/abstractions.js +30 -0
  297. package/features/redirects/DeleteRedirect/abstractions.js.map +1 -0
  298. package/features/redirects/DeleteRedirect/events.d.ts +10 -0
  299. package/features/redirects/DeleteRedirect/events.js +19 -0
  300. package/features/redirects/DeleteRedirect/events.js.map +1 -0
  301. package/features/redirects/DeleteRedirect/feature.d.ts +1 -0
  302. package/features/redirects/DeleteRedirect/feature.js +12 -0
  303. package/features/redirects/DeleteRedirect/feature.js.map +1 -0
  304. package/features/redirects/DeleteRedirect/index.d.ts +1 -16
  305. package/features/redirects/DeleteRedirect/index.js +1 -16
  306. package/features/redirects/DeleteRedirect/index.js.map +1 -1
  307. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.d.ts +11 -0
  308. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +30 -0
  309. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -0
  310. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +10 -0
  311. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +24 -0
  312. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -0
  313. package/features/redirects/GetActiveRedirects/abstractions.d.ts +39 -0
  314. package/features/redirects/GetActiveRedirects/abstractions.js +15 -0
  315. package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -0
  316. package/features/redirects/GetActiveRedirects/feature.d.ts +1 -0
  317. package/features/redirects/GetActiveRedirects/feature.js +12 -0
  318. package/features/redirects/GetActiveRedirects/feature.js.map +1 -0
  319. package/features/redirects/GetActiveRedirects/index.d.ts +1 -7
  320. package/features/redirects/GetActiveRedirects/index.js +1 -11
  321. package/features/redirects/GetActiveRedirects/index.js.map +1 -1
  322. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.d.ts +13 -0
  323. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +29 -0
  324. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -0
  325. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +10 -0
  326. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +32 -0
  327. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -0
  328. package/features/redirects/GetRedirectById/abstractions.d.ts +41 -0
  329. package/features/redirects/GetRedirectById/abstractions.js +15 -0
  330. package/features/redirects/GetRedirectById/abstractions.js.map +1 -0
  331. package/features/redirects/GetRedirectById/feature.d.ts +1 -0
  332. package/features/redirects/GetRedirectById/feature.js +12 -0
  333. package/features/redirects/GetRedirectById/feature.js.map +1 -0
  334. package/features/redirects/GetRedirectById/index.d.ts +1 -9
  335. package/features/redirects/GetRedirectById/index.js +1 -14
  336. package/features/redirects/GetRedirectById/index.js.map +1 -1
  337. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.d.ts +12 -0
  338. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +28 -0
  339. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -0
  340. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +9 -0
  341. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +25 -0
  342. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -0
  343. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +9 -0
  344. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +25 -0
  345. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -0
  346. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +9 -0
  347. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +26 -0
  348. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -0
  349. package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +15 -0
  350. package/features/redirects/InvalidateRedirectsCache/abstractions.js +9 -0
  351. package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -0
  352. package/features/redirects/InvalidateRedirectsCache/feature.d.ts +1 -0
  353. package/features/redirects/InvalidateRedirectsCache/feature.js +16 -0
  354. package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -0
  355. package/features/redirects/InvalidateRedirectsCache/index.d.ts +1 -0
  356. package/features/redirects/InvalidateRedirectsCache/index.js +3 -0
  357. package/features/redirects/InvalidateRedirectsCache/index.js.map +1 -0
  358. package/features/redirects/ListRedirects/ListRedirectsRepository.d.ts +16 -0
  359. package/features/redirects/ListRedirects/ListRedirectsRepository.js +46 -0
  360. package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -0
  361. package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +12 -0
  362. package/features/redirects/ListRedirects/ListRedirectsUseCase.js +36 -0
  363. package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -0
  364. package/features/redirects/ListRedirects/abstractions.d.ts +69 -0
  365. package/features/redirects/ListRedirects/abstractions.js +19 -0
  366. package/features/redirects/ListRedirects/abstractions.js.map +1 -0
  367. package/features/redirects/ListRedirects/feature.d.ts +1 -0
  368. package/features/redirects/ListRedirects/feature.js +12 -0
  369. package/features/redirects/ListRedirects/feature.js.map +1 -0
  370. package/features/redirects/ListRedirects/index.d.ts +1 -9
  371. package/features/redirects/ListRedirects/index.js +1 -14
  372. package/features/redirects/ListRedirects/index.js.map +1 -1
  373. package/features/redirects/MoveRedirect/MoveRedirectRepository.d.ts +15 -0
  374. package/features/redirects/MoveRedirect/MoveRedirectRepository.js +39 -0
  375. package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -0
  376. package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +14 -0
  377. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +61 -0
  378. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -0
  379. package/features/redirects/MoveRedirect/abstractions.d.ts +64 -0
  380. package/features/redirects/MoveRedirect/abstractions.js +30 -0
  381. package/features/redirects/MoveRedirect/abstractions.js.map +1 -0
  382. package/features/redirects/MoveRedirect/events.d.ts +10 -0
  383. package/features/redirects/MoveRedirect/events.js +19 -0
  384. package/features/redirects/MoveRedirect/events.js.map +1 -0
  385. package/features/redirects/MoveRedirect/feature.d.ts +1 -0
  386. package/features/redirects/MoveRedirect/feature.js +12 -0
  387. package/features/redirects/MoveRedirect/feature.js.map +1 -0
  388. package/features/redirects/MoveRedirect/index.d.ts +1 -16
  389. package/features/redirects/MoveRedirect/index.js +1 -16
  390. package/features/redirects/MoveRedirect/index.js.map +1 -1
  391. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.d.ts +15 -0
  392. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +47 -0
  393. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -0
  394. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +16 -0
  395. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +66 -0
  396. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -0
  397. package/features/redirects/UpdateRedirect/abstractions.d.ts +76 -0
  398. package/features/redirects/UpdateRedirect/abstractions.js +30 -0
  399. package/features/redirects/UpdateRedirect/abstractions.js.map +1 -0
  400. package/features/redirects/UpdateRedirect/events.d.ts +10 -0
  401. package/features/redirects/UpdateRedirect/events.js +19 -0
  402. package/features/redirects/UpdateRedirect/events.js.map +1 -0
  403. package/features/redirects/UpdateRedirect/feature.d.ts +1 -0
  404. package/features/redirects/UpdateRedirect/feature.js +12 -0
  405. package/features/redirects/UpdateRedirect/feature.js.map +1 -0
  406. package/features/redirects/UpdateRedirect/index.d.ts +1 -16
  407. package/features/redirects/UpdateRedirect/index.js +1 -16
  408. package/features/redirects/UpdateRedirect/index.js.map +1 -1
  409. package/features/tenantManager/TenantModelExtension.d.ts +8 -0
  410. package/features/tenantManager/TenantModelExtension.js +36 -0
  411. package/features/tenantManager/TenantModelExtension.js.map +1 -0
  412. package/features/tenantManager/feature.d.ts +1 -0
  413. package/features/tenantManager/feature.js +10 -0
  414. package/features/tenantManager/feature.js.map +1 -0
  415. package/graphql/createGraphQL.d.ts +1 -1
  416. package/graphql/createGraphQL.js +6 -13
  417. package/graphql/createGraphQL.js.map +1 -1
  418. package/graphql/nextjs/NextjsGraphQLSchema.d.ts +9 -0
  419. package/graphql/nextjs/NextjsGraphQLSchema.js +48 -0
  420. package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -0
  421. package/graphql/pages/pages.gql.d.ts +2 -2
  422. package/graphql/pages/pages.gql.js +164 -85
  423. package/graphql/pages/pages.gql.js.map +1 -1
  424. package/graphql/pages/pages.typeDefs.d.ts +1 -1
  425. package/graphql/pages/pages.typeDefs.js +4 -10
  426. package/graphql/pages/pages.typeDefs.js.map +1 -1
  427. package/graphql/redirects/redirects.gql.d.ts +2 -2
  428. package/graphql/redirects/redirects.gql.js +61 -33
  429. package/graphql/redirects/redirects.gql.js.map +1 -1
  430. package/graphql/redirects/redirects.typeDefs.js +5 -10
  431. package/graphql/redirects/redirects.typeDefs.js.map +1 -1
  432. package/index.d.ts +1 -3
  433. package/index.js +81 -14
  434. package/index.js.map +1 -1
  435. package/package.json +24 -32
  436. package/rest/ActiveRedirectDto.js +1 -5
  437. package/rest/ActiveRedirectRestMapper.d.ts +2 -2
  438. package/rest/ActiveRedirectRestMapper.js +1 -8
  439. package/rest/ActiveRedirectRestMapper.js.map +1 -1
  440. package/rest/getRedirects.d.ts +2 -2
  441. package/rest/getRedirects.js +10 -15
  442. package/rest/getRedirects.js.map +1 -1
  443. package/utils/ensureAuthentication.d.ts +6 -2
  444. package/utils/ensureAuthentication.js +10 -12
  445. package/utils/ensureAuthentication.js.map +1 -1
  446. package/utils/resolve.d.ts +1 -2
  447. package/utils/resolve.js +4 -20
  448. package/utils/resolve.js.map +1 -1
  449. package/context/BaseContext.d.ts +0 -11
  450. package/context/BaseContext.js +0 -41
  451. package/context/BaseContext.js.map +0 -1
  452. package/context/WebsiteBuilder.d.ts +0 -15
  453. package/context/WebsiteBuilder.js +0 -65
  454. package/context/WebsiteBuilder.js.map +0 -1
  455. package/context/pages/PagesStorage.d.ts +0 -33
  456. package/context/pages/PagesStorage.js +0 -123
  457. package/context/pages/PagesStorage.js.map +0 -1
  458. package/context/pages/pages.context.d.ts +0 -11
  459. package/context/pages/pages.context.js +0 -82
  460. package/context/pages/pages.context.js.map +0 -1
  461. package/context/pages/pages.crud.d.ts +0 -3
  462. package/context/pages/pages.crud.js +0 -208
  463. package/context/pages/pages.crud.js.map +0 -1
  464. package/context/pages/pages.types.d.ts +0 -247
  465. package/context/pages/pages.types.js +0 -7
  466. package/context/pages/pages.types.js.map +0 -1
  467. package/context/redirects/RedirectsStorage.d.ts +0 -21
  468. package/context/redirects/RedirectsStorage.js +0 -88
  469. package/context/redirects/RedirectsStorage.js.map +0 -1
  470. package/context/redirects/redirects.context.d.ts +0 -11
  471. package/context/redirects/redirects.context.js +0 -80
  472. package/context/redirects/redirects.context.js.map +0 -1
  473. package/context/redirects/redirects.crud.d.ts +0 -3
  474. package/context/redirects/redirects.crud.js +0 -116
  475. package/context/redirects/redirects.crud.js.map +0 -1
  476. package/context/redirects/redirects.types.d.ts +0 -147
  477. package/context/redirects/redirects.types.js +0 -7
  478. package/context/redirects/redirects.types.js.map +0 -1
  479. package/context/types.d.ts +0 -29
  480. package/context/types.js +0 -7
  481. package/context/types.js.map +0 -1
  482. package/features/pages/CreatePage/CreatePage.d.ts +0 -7
  483. package/features/pages/CreatePage/CreatePage.js +0 -19
  484. package/features/pages/CreatePage/CreatePage.js.map +0 -1
  485. package/features/pages/CreatePage/CreatePageWithEvents.d.ts +0 -9
  486. package/features/pages/CreatePage/CreatePageWithEvents.js +0 -25
  487. package/features/pages/CreatePage/CreatePageWithEvents.js.map +0 -1
  488. package/features/pages/CreatePage/ICreatePage.d.ts +0 -4
  489. package/features/pages/CreatePage/ICreatePage.js +0 -7
  490. package/features/pages/CreatePage/ICreatePage.js.map +0 -1
  491. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +0 -7
  492. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js +0 -17
  493. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +0 -1
  494. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +0 -10
  495. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +0 -32
  496. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +0 -1
  497. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +0 -4
  498. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +0 -7
  499. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +0 -1
  500. package/features/pages/DeletePage/DeletePage.d.ts +0 -7
  501. package/features/pages/DeletePage/DeletePage.js +0 -17
  502. package/features/pages/DeletePage/DeletePage.js.map +0 -1
  503. package/features/pages/DeletePage/DeletePageWithEvents.d.ts +0 -10
  504. package/features/pages/DeletePage/DeletePageWithEvents.js +0 -30
  505. package/features/pages/DeletePage/DeletePageWithEvents.js.map +0 -1
  506. package/features/pages/DeletePage/IDeletePage.d.ts +0 -4
  507. package/features/pages/DeletePage/IDeletePage.js +0 -7
  508. package/features/pages/DeletePage/IDeletePage.js.map +0 -1
  509. package/features/pages/DuplicatePage/DuplicatePage.d.ts +0 -9
  510. package/features/pages/DuplicatePage/DuplicatePage.js +0 -39
  511. package/features/pages/DuplicatePage/DuplicatePage.js.map +0 -1
  512. package/features/pages/DuplicatePage/DuplicatePageWithEvents.d.ts +0 -10
  513. package/features/pages/DuplicatePage/DuplicatePageWithEvents.js +0 -32
  514. package/features/pages/DuplicatePage/DuplicatePageWithEvents.js.map +0 -1
  515. package/features/pages/DuplicatePage/IDuplicatePage.d.ts +0 -4
  516. package/features/pages/DuplicatePage/IDuplicatePage.js +0 -7
  517. package/features/pages/DuplicatePage/IDuplicatePage.js.map +0 -1
  518. package/features/pages/GetPageById/GetPageById.d.ts +0 -7
  519. package/features/pages/GetPageById/GetPageById.js +0 -17
  520. package/features/pages/GetPageById/GetPageById.js.map +0 -1
  521. package/features/pages/GetPageById/IGetPageById.d.ts +0 -4
  522. package/features/pages/GetPageById/IGetPageById.js +0 -7
  523. package/features/pages/GetPageById/IGetPageById.js.map +0 -1
  524. package/features/pages/GetPageByPath/GetPageByPath.d.ts +0 -11
  525. package/features/pages/GetPageByPath/GetPageByPath.js +0 -28
  526. package/features/pages/GetPageByPath/GetPageByPath.js.map +0 -1
  527. package/features/pages/GetPageByPath/IGetPageByPath.d.ts +0 -4
  528. package/features/pages/GetPageByPath/IGetPageByPath.js +0 -7
  529. package/features/pages/GetPageByPath/IGetPageByPath.js.map +0 -1
  530. package/features/pages/GetPageRevisions/GetPageRevisions.d.ts +0 -7
  531. package/features/pages/GetPageRevisions/GetPageRevisions.js +0 -17
  532. package/features/pages/GetPageRevisions/GetPageRevisions.js.map +0 -1
  533. package/features/pages/GetPageRevisions/IGetPageById.d.ts +0 -4
  534. package/features/pages/GetPageRevisions/IGetPageById.js +0 -7
  535. package/features/pages/GetPageRevisions/IGetPageById.js.map +0 -1
  536. package/features/pages/ListPages/IListPages.d.ts +0 -17
  537. package/features/pages/ListPages/IListPages.js +0 -7
  538. package/features/pages/ListPages/IListPages.js.map +0 -1
  539. package/features/pages/ListPages/ListPages.d.ts +0 -7
  540. package/features/pages/ListPages/ListPages.js +0 -17
  541. package/features/pages/ListPages/ListPages.js.map +0 -1
  542. package/features/pages/MovePage/IMovePage.d.ts +0 -4
  543. package/features/pages/MovePage/IMovePage.js +0 -7
  544. package/features/pages/MovePage/IMovePage.js.map +0 -1
  545. package/features/pages/MovePage/MovePage.d.ts +0 -7
  546. package/features/pages/MovePage/MovePage.js +0 -17
  547. package/features/pages/MovePage/MovePage.js.map +0 -1
  548. package/features/pages/MovePage/MovePageWithEvents.d.ts +0 -10
  549. package/features/pages/MovePage/MovePageWithEvents.js +0 -32
  550. package/features/pages/MovePage/MovePageWithEvents.js.map +0 -1
  551. package/features/pages/PublishPage/IPublishPage.d.ts +0 -4
  552. package/features/pages/PublishPage/IPublishPage.js +0 -7
  553. package/features/pages/PublishPage/IPublishPage.js.map +0 -1
  554. package/features/pages/PublishPage/PublishPage.d.ts +0 -7
  555. package/features/pages/PublishPage/PublishPage.js +0 -17
  556. package/features/pages/PublishPage/PublishPage.js.map +0 -1
  557. package/features/pages/PublishPage/PublishPageWithEvents.d.ts +0 -10
  558. package/features/pages/PublishPage/PublishPageWithEvents.js +0 -31
  559. package/features/pages/PublishPage/PublishPageWithEvents.js.map +0 -1
  560. package/features/pages/UnpublishPage/IUnpublishPage.d.ts +0 -4
  561. package/features/pages/UnpublishPage/IUnpublishPage.js +0 -7
  562. package/features/pages/UnpublishPage/IUnpublishPage.js.map +0 -1
  563. package/features/pages/UnpublishPage/UnpublishPage.d.ts +0 -7
  564. package/features/pages/UnpublishPage/UnpublishPage.js +0 -17
  565. package/features/pages/UnpublishPage/UnpublishPage.js.map +0 -1
  566. package/features/pages/UnpublishPage/UnpublishPageWithEvents.d.ts +0 -10
  567. package/features/pages/UnpublishPage/UnpublishPageWithEvents.js +0 -31
  568. package/features/pages/UnpublishPage/UnpublishPageWithEvents.js.map +0 -1
  569. package/features/pages/UpdatePage/IUpdatePage.d.ts +0 -4
  570. package/features/pages/UpdatePage/IUpdatePage.js +0 -7
  571. package/features/pages/UpdatePage/IUpdatePage.js.map +0 -1
  572. package/features/pages/UpdatePage/UpdatePage.d.ts +0 -7
  573. package/features/pages/UpdatePage/UpdatePage.js +0 -20
  574. package/features/pages/UpdatePage/UpdatePage.js.map +0 -1
  575. package/features/pages/UpdatePage/UpdatePageWithEvents.d.ts +0 -10
  576. package/features/pages/UpdatePage/UpdatePageWithEvents.js +0 -40
  577. package/features/pages/UpdatePage/UpdatePageWithEvents.js.map +0 -1
  578. package/features/pages/index.d.ts +0 -9
  579. package/features/pages/index.js +0 -106
  580. package/features/pages/index.js.map +0 -1
  581. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.d.ts +0 -9
  582. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js +0 -25
  583. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js.map +0 -1
  584. package/features/redirects/CreateRedirect/CreateRevision.d.ts +0 -7
  585. package/features/redirects/CreateRedirect/CreateRevision.js +0 -19
  586. package/features/redirects/CreateRedirect/CreateRevision.js.map +0 -1
  587. package/features/redirects/CreateRedirect/ICreateRedirect.d.ts +0 -4
  588. package/features/redirects/CreateRedirect/ICreateRedirect.js +0 -7
  589. package/features/redirects/CreateRedirect/ICreateRedirect.js.map +0 -1
  590. package/features/redirects/DeleteRedirect/DeleteRedirect.d.ts +0 -7
  591. package/features/redirects/DeleteRedirect/DeleteRedirect.js +0 -17
  592. package/features/redirects/DeleteRedirect/DeleteRedirect.js.map +0 -1
  593. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.d.ts +0 -10
  594. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js +0 -30
  595. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js.map +0 -1
  596. package/features/redirects/DeleteRedirect/IDeleteRedirect.d.ts +0 -4
  597. package/features/redirects/DeleteRedirect/IDeleteRedirect.js +0 -7
  598. package/features/redirects/DeleteRedirect/IDeleteRedirect.js.map +0 -1
  599. package/features/redirects/GetActiveRedirects/GetActiveRedirects.d.ts +0 -7
  600. package/features/redirects/GetActiveRedirects/GetActiveRedirects.js +0 -26
  601. package/features/redirects/GetActiveRedirects/GetActiveRedirects.js.map +0 -1
  602. package/features/redirects/GetActiveRedirects/IGetActiveRedirects.d.ts +0 -4
  603. package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js +0 -7
  604. package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js.map +0 -1
  605. package/features/redirects/GetRedirectById/GetRedirectById.d.ts +0 -7
  606. package/features/redirects/GetRedirectById/GetRedirectById.js +0 -17
  607. package/features/redirects/GetRedirectById/GetRedirectById.js.map +0 -1
  608. package/features/redirects/GetRedirectById/IGetRedirectById.d.ts +0 -4
  609. package/features/redirects/GetRedirectById/IGetRedirectById.js +0 -7
  610. package/features/redirects/GetRedirectById/IGetRedirectById.js.map +0 -1
  611. package/features/redirects/InvalidateRedirectsCache.d.ts +0 -7
  612. package/features/redirects/InvalidateRedirectsCache.js +0 -24
  613. package/features/redirects/InvalidateRedirectsCache.js.map +0 -1
  614. package/features/redirects/ListRedirects/IListRedirects.d.ts +0 -17
  615. package/features/redirects/ListRedirects/IListRedirects.js +0 -7
  616. package/features/redirects/ListRedirects/IListRedirects.js.map +0 -1
  617. package/features/redirects/ListRedirects/ListRedirects.d.ts +0 -7
  618. package/features/redirects/ListRedirects/ListRedirects.js +0 -17
  619. package/features/redirects/ListRedirects/ListRedirects.js.map +0 -1
  620. package/features/redirects/MoveRedirect/IMoveRedirect.d.ts +0 -4
  621. package/features/redirects/MoveRedirect/IMoveRedirect.js +0 -7
  622. package/features/redirects/MoveRedirect/IMoveRedirect.js.map +0 -1
  623. package/features/redirects/MoveRedirect/MoveRedirect.d.ts +0 -7
  624. package/features/redirects/MoveRedirect/MoveRedirect.js +0 -17
  625. package/features/redirects/MoveRedirect/MoveRedirect.js.map +0 -1
  626. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.d.ts +0 -10
  627. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js +0 -32
  628. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js.map +0 -1
  629. package/features/redirects/UpdateRedirect/IUpdateRedirect.d.ts +0 -4
  630. package/features/redirects/UpdateRedirect/IUpdateRedirect.js +0 -7
  631. package/features/redirects/UpdateRedirect/IUpdateRedirect.js.map +0 -1
  632. package/features/redirects/UpdateRedirect/UpdateRedirect.d.ts +0 -7
  633. package/features/redirects/UpdateRedirect/UpdateRedirect.js +0 -20
  634. package/features/redirects/UpdateRedirect/UpdateRedirect.js.map +0 -1
  635. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.d.ts +0 -10
  636. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js +0 -40
  637. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js.map +0 -1
  638. package/features/redirects/index.d.ts +0 -7
  639. package/features/redirects/index.js +0 -84
  640. package/features/redirects/index.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ import { PublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { PublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/PublishEntry";
3
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
4
+ import { PageModel } from "../../../domain/page/abstractions.js";
5
+ declare class PublishPageRepositoryImpl implements RepositoryAbstraction.Interface {
6
+ private publishEntry;
7
+ private getEntryById;
8
+ private pageModel;
9
+ constructor(publishEntry: PublishEntryUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface, pageModel: PageModel.Interface);
10
+ execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
11
+ }
12
+ export declare const PublishPageRepository: typeof PublishPageRepositoryImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IPublishPageRepository>;
14
+ };
15
+ export {};
@@ -0,0 +1,41 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { PublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { PublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/PublishEntry";
4
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
5
+ import { PageModel } from "../../../domain/page/abstractions.js";
6
+ import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
7
+ import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
8
+ class PublishPageRepositoryImpl {
9
+ constructor(publishEntry, getEntryById, pageModel) {
10
+ this.publishEntry = publishEntry;
11
+ this.getEntryById = getEntryById;
12
+ this.pageModel = pageModel;
13
+ }
14
+ async execute(params) {
15
+ // First, validate the page exists
16
+ const getResult = await this.getEntryById.execute(this.pageModel, params.id);
17
+ if (getResult.isFail()) {
18
+ if (getResult.error.code === "Cms/Entry/NotFound") {
19
+ return Result.fail(new PageNotFoundError(params.id));
20
+ }
21
+ return Result.fail(new PagePersistenceError(getResult.error));
22
+ }
23
+
24
+ // Publish the entry
25
+ const result = await this.publishEntry.execute(this.pageModel, params.id);
26
+ if (result.isFail()) {
27
+ if (result.error.code === "Cms/Entry/NotFound") {
28
+ return Result.fail(new PageNotFoundError(params.id));
29
+ }
30
+ return Result.fail(new PagePersistenceError(result.error));
31
+ }
32
+ const page = EntryToPageMapper.toPage(result.value);
33
+ return Result.ok(page);
34
+ }
35
+ }
36
+ export const PublishPageRepository = RepositoryAbstraction.createImplementation({
37
+ implementation: PublishPageRepositoryImpl,
38
+ dependencies: [PublishEntryUseCase, GetEntryByIdUseCase, PageModel]
39
+ });
40
+
41
+ //# sourceMappingURL=PublishPageRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","PublishPageRepository","RepositoryAbstraction","PublishEntryUseCase","GetEntryByIdUseCase","PageModel","EntryToPageMapper","PageNotFoundError","PagePersistenceError","PublishPageRepositoryImpl","constructor","publishEntry","getEntryById","pageModel","execute","params","getResult","id","isFail","error","code","fail","result","page","toPage","value","ok","createImplementation","implementation","dependencies"],"sources":["PublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { PublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/PublishEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass PublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private publishEntry: PublishEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the page exists\n const getResult = await this.getEntryById.execute(this.pageModel, params.id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(getResult.error));\n }\n\n // Publish the entry\n const result = await this.publishEntry.execute(this.pageModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const PublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: PublishPageRepositoryImpl,\n dependencies: [PublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB,EAAEC,oBAAoB;AAEhD,MAAMC,yBAAyB,CAA4C;EACvEC,WAAWA,CACCC,YAA2C,EAC3CC,YAA2C,EAC3CC,SAA8B,EACxC;IAAA,KAHUF,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACE,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,CAAC;IAE5E,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,IAAIF,SAAS,CAACG,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC/C,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAId,iBAAiB,CAACQ,MAAM,CAACE,EAAE,CAAC,CAAC;MACxD;MACA,OAAOjB,MAAM,CAACqB,IAAI,CAAC,IAAIb,oBAAoB,CAACQ,SAAS,CAACG,KAAK,CAAC,CAAC;IACjE;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACX,YAAY,CAACG,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,CAAC;IAEzE,IAAIK,MAAM,CAACJ,MAAM,CAAC,CAAC,EAAE;MACjB,IAAII,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAId,iBAAiB,CAACQ,MAAM,CAACE,EAAE,CAAC,CAAC;MACxD;MACA,OAAOjB,MAAM,CAACqB,IAAI,CAAC,IAAIb,oBAAoB,CAACc,MAAM,CAACH,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAMI,IAAI,GAAGjB,iBAAiB,CAACkB,MAAM,CAACF,MAAM,CAACG,KAAK,CAAC;IACnD,OAAOzB,MAAM,CAAC0B,EAAE,CAACH,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMtB,qBAAqB,GAAGC,qBAAqB,CAACyB,oBAAoB,CAAC;EAC5EC,cAAc,EAAEnB,yBAAyB;EACzCoB,YAAY,EAAE,CAAC1B,mBAAmB,EAAEC,mBAAmB,EAAEC,SAAS;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
2
+ import { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from "./abstractions.js";
3
+ import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
4
+ import { WbPermissions } from "../../../domain/permissions.js";
5
+ declare class PublishPageUseCaseImpl 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: PublishPageRepository.Interface);
11
+ execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
12
+ }
13
+ export declare const PublishPageUseCase: import("@webiny/di").Implementation<typeof PublishPageUseCaseImpl>;
14
+ export {};
@@ -0,0 +1,58 @@
1
+ import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from "./abstractions.js";
4
+ import { PageBeforePublishEvent, PageAfterPublishEvent } from "./events.js";
5
+ import { GetPageByIdUseCase } from "../GetPageById/index.js";
6
+ import { WbPermissions } from "../../../domain/permissions.js";
7
+ import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
8
+ class PublishPageUseCaseImpl {
9
+ constructor(permissions, eventPublisher, getPageById, repository) {
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getPageById = getPageById;
13
+ this.repository = repository;
14
+ }
15
+ async execute(params) {
16
+ const hasPermission = await this.permissions.canPublish("page");
17
+ if (!hasPermission) {
18
+ return Result.fail(new PageNotAuthorizedError());
19
+ }
20
+
21
+ // Get the page first for the before event
22
+ const getResult = await this.getPageById.execute(params.id);
23
+ if (getResult.isFail()) {
24
+ return getResult;
25
+ }
26
+ const page = getResult.value;
27
+ const canAccess = await this.permissions.canAccess("page", page);
28
+ if (!canAccess) {
29
+ return Result.fail(new PageNotAuthorizedError());
30
+ }
31
+
32
+ // Publish before publish event
33
+ const beforeEvent = new PageBeforePublishEvent({
34
+ page
35
+ });
36
+ await this.eventPublisher.publish(beforeEvent);
37
+
38
+ // Execute the publish operation
39
+ const result = await this.repository.execute(params);
40
+ if (result.isFail()) {
41
+ return result;
42
+ }
43
+
44
+ // Publish after publish event
45
+ const afterEvent = new PageAfterPublishEvent({
46
+ page: result.value
47
+ });
48
+ await this.eventPublisher.publish(afterEvent);
49
+ return Result.ok(result.value);
50
+ }
51
+ }
52
+ export const PublishPageUseCase = createImplementation({
53
+ abstraction: UseCaseAbstraction,
54
+ implementation: PublishPageUseCaseImpl,
55
+ dependencies: [WbPermissions.Abstraction, EventPublisher, GetPageByIdUseCase, PublishPageRepository]
56
+ });
57
+
58
+ //# sourceMappingURL=PublishPageUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","createImplementation","EventPublisher","PublishPageUseCase","UseCaseAbstraction","PublishPageRepository","PageBeforePublishEvent","PageAfterPublishEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","PublishPageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","hasPermission","canPublish","fail","getResult","id","isFail","page","value","canAccess","beforeEvent","publish","result","afterEvent","ok","abstraction","implementation","dependencies","Abstraction"],"sources":["PublishPageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport { PublishPageUseCase as UseCaseAbstraction, PublishPageRepository } from \"./abstractions.js\";\nimport { PageBeforePublishEvent, PageAfterPublishEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/domain/permissions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass PublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: PublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canPublish(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the page first for the before event\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const page = getResult.value;\n\n const canAccess = await this.permissions.canAccess(\"page\", page);\n if (!canAccess) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before publish event\n const beforeEvent = new PageBeforePublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the publish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after publish event\n const afterEvent = new PageAfterPublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const PublishPageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: PublishPageUseCaseImpl,\n dependencies: [\n WbPermissions.Abstraction,\n EventPublisher,\n GetPageByIdUseCase,\n PublishPageRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,0CAA0C;AACjD,SAASC,kBAAkB,IAAIC,kBAAkB,EAAEC,qBAAqB;AACxE,SAASC,sBAAsB,EAAEC,qBAAqB;AACtD,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA2C,EACrD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA2C,GAA3CA,UAA2C;EACpD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,WAAW,CAACO,UAAU,CAAC,MAAM,CAAC;IAC/D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACP,WAAW,CAACE,OAAO,CAACC,MAAM,CAACK,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,IAAI,GAAGH,SAAS,CAACI,KAAK;IAE5B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACd,WAAW,CAACc,SAAS,CAAC,MAAM,EAAEF,IAAI,CAAC;IAChE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAO3B,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMkB,WAAW,GAAG,IAAItB,sBAAsB,CAAC;MAC3CmB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACX,cAAc,CAACe,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIY,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,qBAAqB,CAAC;MACzCkB,IAAI,EAAEK,MAAM,CAACJ;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO/B,MAAM,CAACgC,EAAE,CAACF,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,kBAAkB,GAAGF,oBAAoB,CAAC;EACnDgC,WAAW,EAAE7B,kBAAkB;EAC/B8B,cAAc,EAAEvB,sBAAsB;EACtCwB,YAAY,EAAE,CACV1B,aAAa,CAAC2B,WAAW,EACzBlC,cAAc,EACdM,kBAAkB,EAClBH,qBAAqB;AAE7B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
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";
4
+ import type { WbPage } from "../../../domain/page/abstractions.js";
5
+ import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
+ export interface IPublishWbPageParams {
7
+ id: string;
8
+ }
9
+ export interface IPublishPageRepository {
10
+ execute(params: IPublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;
11
+ }
12
+ export interface IPublishPageRepositoryErrors {
13
+ notFound: PageNotFoundError;
14
+ persistence: PagePersistenceError;
15
+ }
16
+ type RepositoryError = IPublishPageRepositoryErrors[keyof IPublishPageRepositoryErrors];
17
+ export declare const PublishPageRepository: import("@webiny/di").Abstraction<IPublishPageRepository>;
18
+ export declare namespace PublishPageRepository {
19
+ type Interface = IPublishPageRepository;
20
+ type Params = IPublishWbPageParams;
21
+ type Return = Promise<Result<WbPage, RepositoryError>>;
22
+ type Error = RepositoryError;
23
+ }
24
+ export interface IPublishPageUseCase {
25
+ execute(params: IPublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;
26
+ }
27
+ export interface IPublishPageUseCaseErrors {
28
+ notAuthorized: PageNotAuthorizedError;
29
+ notFound: PageNotFoundError;
30
+ persistence: PagePersistenceError;
31
+ }
32
+ type UseCaseError = IPublishPageUseCaseErrors[keyof IPublishPageUseCaseErrors];
33
+ export declare const PublishPageUseCase: import("@webiny/di").Abstraction<IPublishPageUseCase>;
34
+ export declare namespace PublishPageUseCase {
35
+ type Interface = IPublishPageUseCase;
36
+ type Params = IPublishWbPageParams;
37
+ type Return = Promise<Result<WbPage, UseCaseError>>;
38
+ type Error = UseCaseError;
39
+ type Page = WbPage;
40
+ }
41
+ export interface PageBeforePublishPayload {
42
+ page: WbPage;
43
+ }
44
+ export interface PageAfterPublishPayload {
45
+ page: WbPage;
46
+ }
47
+ export declare const PageBeforePublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforePublishPayload>>>;
48
+ export declare namespace PageBeforePublishHandler {
49
+ type Interface = IEventHandler<DomainEvent<PageBeforePublishPayload>>;
50
+ type Event = DomainEvent<PageBeforePublishPayload>;
51
+ type Page = WbPage;
52
+ }
53
+ export declare const PageAfterPublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterPublishPayload>>>;
54
+ export declare namespace PageAfterPublishHandler {
55
+ type Interface = IEventHandler<DomainEvent<PageAfterPublishPayload>>;
56
+ type Event = DomainEvent<PageAfterPublishPayload>;
57
+ type Page = WbPage;
58
+ }
59
+ export {};
@@ -0,0 +1,30 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+
3
+ // ============================================================================
4
+ // Type Definitions
5
+ // ============================================================================
6
+
7
+ // ============================================================================
8
+ // Repository Abstraction
9
+ // ============================================================================
10
+
11
+ export const PublishPageRepository = createAbstraction("Wb/PublishPageRepository");
12
+
13
+ // ============================================================================
14
+ // Use Case Abstraction
15
+ // ============================================================================
16
+
17
+ export const PublishPageUseCase = createAbstraction("Wb/PublishPageUseCase");
18
+
19
+ // ============================================================================
20
+ // Event Payload Types
21
+ // ============================================================================
22
+
23
+ // ============================================================================
24
+ // Event Handler Abstractions
25
+ // ============================================================================
26
+
27
+ export const PageBeforePublishHandler = createAbstraction("Wb/PageBeforePublishHandler");
28
+ export const PageAfterPublishHandler = createAbstraction("Wb/PageAfterPublishHandler");
29
+
30
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","PublishPageRepository","PublishPageUseCase","PageBeforePublishHandler","PageAfterPublishHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IPublishWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IPublishPageRepository {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IPublishPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IPublishPageRepositoryErrors[keyof IPublishPageRepositoryErrors];\n\nexport const PublishPageRepository = createAbstraction<IPublishPageRepository>(\n \"Wb/PublishPageRepository\"\n);\n\nexport namespace PublishPageRepository {\n export type Interface = IPublishPageRepository;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IPublishPageUseCase {\n execute(params: IPublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IPublishPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IPublishPageUseCaseErrors[keyof IPublishPageUseCaseErrors];\n\nexport const PublishPageUseCase = createAbstraction<IPublishPageUseCase>(\"Wb/PublishPageUseCase\");\n\nexport namespace PublishPageUseCase {\n export type Interface = IPublishPageUseCase;\n export type Params = IPublishWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforePublishPayload {\n page: WbPage;\n}\n\nexport interface PageAfterPublishPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforePublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforePublishPayload>>\n>(\"Wb/PageBeforePublishHandler\");\n\nexport namespace PageBeforePublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforePublishPayload>>;\n export type Event = DomainEvent<PageBeforePublishPayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterPublishHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterPublishPayload>>\n>(\"Wb/PageAfterPublishHandler\");\n\nexport namespace PageAfterPublishHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterPublishPayload>>;\n export type Event = DomainEvent<PageAfterPublishPayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAUpE;AACA;AACA;;AAMA;AACA;AACA;;AAaA,OAAO,MAAMC,qBAAqB,GAAGD,iBAAiB,CAClD,0BACJ,CAAC;;AASD;AACA;AACA;;AAcA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,uBAAuB,CAAC;;AAUjG;AACA;AACA;;AAUA;AACA;AACA;;AAEA,OAAO,MAAMG,wBAAwB,GAAGH,iBAAiB,CAEvD,6BAA6B,CAAC;AAQhC,OAAO,MAAMI,uBAAuB,GAAGJ,iBAAiB,CAEtD,4BAA4B,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import type { PageBeforePublishPayload, PageAfterPublishPayload } from "./abstractions.js";
3
+ export declare class PageBeforePublishEvent extends DomainEvent<PageBeforePublishPayload> {
4
+ eventType: "page.beforePublish";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<PageBeforePublishPayload>>>;
6
+ }
7
+ export declare class PageAfterPublishEvent extends DomainEvent<PageAfterPublishPayload> {
8
+ eventType: "page.afterPublish";
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<PageAfterPublishPayload>>>;
10
+ }
@@ -0,0 +1,19 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { PageBeforePublishHandler, PageAfterPublishHandler } from "./abstractions.js";
3
+ // PageBeforePublish Event
4
+ export class PageBeforePublishEvent extends DomainEvent {
5
+ eventType = "page.beforePublish";
6
+ getHandlerAbstraction() {
7
+ return PageBeforePublishHandler;
8
+ }
9
+ }
10
+
11
+ // PageAfterPublish Event
12
+ export class PageAfterPublishEvent extends DomainEvent {
13
+ eventType = "page.afterPublish";
14
+ getHandlerAbstraction() {
15
+ return PageAfterPublishHandler;
16
+ }
17
+ }
18
+
19
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DomainEvent","PageBeforePublishHandler","PageAfterPublishHandler","PageBeforePublishEvent","eventType","getHandlerAbstraction","PageAfterPublishEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { PageBeforePublishHandler, PageAfterPublishHandler } from \"./abstractions.js\";\nimport type { PageBeforePublishPayload, PageAfterPublishPayload } from \"./abstractions.js\";\n\n// PageBeforePublish Event\nexport class PageBeforePublishEvent extends DomainEvent<PageBeforePublishPayload> {\n eventType = \"page.beforePublish\" as const;\n\n getHandlerAbstraction() {\n return PageBeforePublishHandler;\n }\n}\n\n// PageAfterPublish Event\nexport class PageAfterPublishEvent extends DomainEvent<PageAfterPublishPayload> {\n eventType = \"page.afterPublish\" as const;\n\n getHandlerAbstraction() {\n return PageAfterPublishHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,wBAAwB,EAAEC,uBAAuB;AAG1D;AACA,OAAO,MAAMC,sBAAsB,SAASH,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,wBAAwB;EACnC;AACJ;;AAEA;AACA,OAAO,MAAMK,qBAAqB,SAASN,WAAW,CAA0B;EAC5EI,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,uBAAuB;EAClC;AACJ","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const PublishPageFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,12 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { PublishPageRepository } from "./PublishPageRepository.js";
3
+ import { PublishPageUseCase } from "./PublishPageUseCase.js";
4
+ export const PublishPageFeature = createFeature({
5
+ name: "WebsiteBuilder/PublishPage",
6
+ register(container) {
7
+ container.register(PublishPageRepository).inSingletonScope();
8
+ container.register(PublishPageUseCase);
9
+ }
10
+ });
11
+
12
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","PublishPageRepository","PublishPageUseCase","PublishPageFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { PublishPageRepository } from \"./PublishPageRepository.js\";\nimport { PublishPageUseCase } from \"./PublishPageUseCase.js\";\n\nexport const PublishPageFeature = createFeature({\n name: \"WebsiteBuilder/PublishPage\",\n register(container) {\n container.register(PublishPageRepository).inSingletonScope();\n container.register(PublishPageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAC9B,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,kBAAkB,GAAGH,aAAa,CAAC;EAC5CI,IAAI,EAAE,4BAA4B;EAClCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,qBAAqB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC5DD,SAAS,CAACD,QAAQ,CAACH,kBAAkB,CAAC;EAC1C;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,16 +1 @@
1
- import type { Topic } from "@webiny/pubsub/types";
2
- import { PublishPageWithEvents } from "./PublishPageWithEvents";
3
- import type { OnPageAfterPublishTopicParams, OnPageBeforePublishTopicParams, WbPagesStorageOperations } from "../../../context/pages/pages.types";
4
- export interface PublishPageUseCasesTopics {
5
- onPageBeforePublish: Topic<OnPageBeforePublishTopicParams>;
6
- onPageAfterPublish: Topic<OnPageAfterPublishTopicParams>;
7
- }
8
- interface PublishPageUseCasesParams {
9
- publishOperation: WbPagesStorageOperations["publish"];
10
- getOperation: WbPagesStorageOperations["getById"];
11
- topics: PublishPageUseCasesTopics;
12
- }
13
- export declare const getPublishPageUseCase: (params: PublishPageUseCasesParams) => {
14
- publishPageUseCase: PublishPageWithEvents;
15
- };
16
- export {};
1
+ export { PageAfterPublishHandler, PageBeforePublishHandler, PublishPageUseCase } from "./abstractions.js";
@@ -1,18 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPublishPageUseCase = void 0;
7
- var _PublishPage = require("./PublishPage");
8
- var _PublishPageWithEvents = require("./PublishPageWithEvents");
9
- const getPublishPageUseCase = params => {
10
- const publishPage = new _PublishPage.PublishPage(params.publishOperation);
11
- const publishPageUseCase = new _PublishPageWithEvents.PublishPageWithEvents(params.topics, params.getOperation, publishPage);
12
- return {
13
- publishPageUseCase
14
- };
15
- };
16
- exports.getPublishPageUseCase = getPublishPageUseCase;
1
+ export { PageAfterPublishHandler, PageBeforePublishHandler, PublishPageUseCase } from "./abstractions.js";
17
2
 
18
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_PublishPage","require","_PublishPageWithEvents","getPublishPageUseCase","params","publishPage","PublishPage","publishOperation","publishPageUseCase","PublishPageWithEvents","topics","getOperation","exports"],"sources":["index.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport { PublishPage } from \"./PublishPage\";\nimport { PublishPageWithEvents } from \"./PublishPageWithEvents\";\nimport type {\n OnPageAfterPublishTopicParams,\n OnPageBeforePublishTopicParams,\n WbPagesStorageOperations\n} from \"~/context/pages/pages.types\";\n\nexport interface PublishPageUseCasesTopics {\n onPageBeforePublish: Topic<OnPageBeforePublishTopicParams>;\n onPageAfterPublish: Topic<OnPageAfterPublishTopicParams>;\n}\n\ninterface PublishPageUseCasesParams {\n publishOperation: WbPagesStorageOperations[\"publish\"];\n getOperation: WbPagesStorageOperations[\"getById\"];\n topics: PublishPageUseCasesTopics;\n}\n\nexport const getPublishPageUseCase = (params: PublishPageUseCasesParams) => {\n const publishPage = new PublishPage(params.publishOperation);\n const publishPageUseCase = new PublishPageWithEvents(\n params.topics,\n params.getOperation,\n publishPage\n );\n\n return {\n publishPageUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAkBO,MAAME,qBAAqB,GAAIC,MAAiC,IAAK;EACxE,MAAMC,WAAW,GAAG,IAAIC,wBAAW,CAACF,MAAM,CAACG,gBAAgB,CAAC;EAC5D,MAAMC,kBAAkB,GAAG,IAAIC,4CAAqB,CAChDL,MAAM,CAACM,MAAM,EACbN,MAAM,CAACO,YAAY,EACnBN,WACJ,CAAC;EAED,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAT,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["PageAfterPublishHandler","PageBeforePublishHandler","PublishPageUseCase"],"sources":["index.ts"],"sourcesContent":["export {\n PageAfterPublishHandler,\n PageBeforePublishHandler,\n PublishPageUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SACIA,uBAAuB,EACvBC,wBAAwB,EACxBC,kBAAkB","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { UnpublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { UnpublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UnpublishEntry";
3
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
4
+ import { PageModel } from "../../../domain/page/abstractions.js";
5
+ declare class UnpublishPageRepositoryImpl implements RepositoryAbstraction.Interface {
6
+ private unpublishEntry;
7
+ private getEntryById;
8
+ private pageModel;
9
+ constructor(unpublishEntry: UnpublishEntryUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface, pageModel: PageModel.Interface);
10
+ execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
11
+ }
12
+ export declare const UnpublishPageRepository: typeof UnpublishPageRepositoryImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUnpublishPageRepository>;
14
+ };
15
+ export {};
@@ -0,0 +1,41 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { UnpublishPageRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { UnpublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UnpublishEntry";
4
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
5
+ import { PageModel } from "../../../domain/page/abstractions.js";
6
+ import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
7
+ import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
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));
22
+ }
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));
31
+ }
32
+ const page = EntryToPageMapper.toPage(result.value);
33
+ return Result.ok(page);
34
+ }
35
+ }
36
+ export const UnpublishPageRepository = RepositoryAbstraction.createImplementation({
37
+ implementation: UnpublishPageRepositoryImpl,
38
+ dependencies: [UnpublishEntryUseCase, GetEntryByIdUseCase, PageModel]
39
+ });
40
+
41
+ //# sourceMappingURL=UnpublishPageRepository.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,16 @@
1
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
2
+ import { UnpublishPageUseCase as UseCaseAbstraction, UnpublishPageRepository } from "./abstractions.js";
3
+ import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
4
+ import { WbPermissions } from "../../../domain/permissions.js";
5
+ declare class UnpublishPageUseCaseImpl 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: UnpublishPageRepository.Interface);
11
+ execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
12
+ }
13
+ export declare const UnpublishPageUseCase: typeof UnpublishPageUseCaseImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUnpublishPageUseCase>;
15
+ };
16
+ export {};
@@ -0,0 +1,57 @@
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";
5
+ import { GetPageByIdUseCase } from "../GetPageById/index.js";
6
+ import { WbPermissions } from "../../../domain/permissions.js";
7
+ import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
8
+ class UnpublishPageUseCaseImpl {
9
+ constructor(permissions, eventPublisher, getPageById, repository) {
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getPageById = getPageById;
13
+ this.repository = repository;
14
+ }
15
+ async execute(params) {
16
+ const hasPermission = await this.permissions.canUnpublish("page");
17
+ if (!hasPermission) {
18
+ return Result.fail(new PageNotAuthorizedError());
19
+ }
20
+
21
+ // Get the page first for the before event
22
+ const getResult = await this.getPageById.execute(params.id);
23
+ if (getResult.isFail()) {
24
+ return getResult;
25
+ }
26
+ const page = getResult.value;
27
+ const canAccess = await this.permissions.canAccess("page", page);
28
+ if (!canAccess) {
29
+ return Result.fail(new PageNotAuthorizedError());
30
+ }
31
+
32
+ // Publish before unpublish event
33
+ const beforeEvent = new PageBeforeUnpublishEvent({
34
+ page
35
+ });
36
+ await this.eventPublisher.publish(beforeEvent);
37
+
38
+ // Execute the unpublish operation
39
+ const result = await this.repository.execute(params);
40
+ if (result.isFail()) {
41
+ return result;
42
+ }
43
+
44
+ // Publish after unpublish event
45
+ const afterEvent = new PageAfterUnpublishEvent({
46
+ page: result.value
47
+ });
48
+ await this.eventPublisher.publish(afterEvent);
49
+ return Result.ok(result.value);
50
+ }
51
+ }
52
+ export const UnpublishPageUseCase = UseCaseAbstraction.createImplementation({
53
+ implementation: UnpublishPageUseCaseImpl,
54
+ dependencies: [WbPermissions.Abstraction, EventPublisher, GetPageByIdUseCase, UnpublishPageRepository]
55
+ });
56
+
57
+ //# sourceMappingURL=UnpublishPageUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","EventPublisher","UnpublishPageUseCase","UseCaseAbstraction","UnpublishPageRepository","PageBeforeUnpublishEvent","PageAfterUnpublishEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","UnpublishPageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","hasPermission","canUnpublish","fail","getResult","id","isFail","page","value","canAccess","beforeEvent","publish","result","afterEvent","ok","createImplementation","implementation","dependencies","Abstraction"],"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\";\nimport { WbPermissions } from \"~/domain/permissions.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: [\n WbPermissions.Abstraction,\n EventPublisher,\n GetPageByIdUseCase,\n UnpublishPageRepository\n ]\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;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA6C,EACvD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA6C,GAA7CA,UAA6C;EACtD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,WAAW,CAACO,YAAY,CAAC,MAAM,CAAC;IACjE,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOlB,MAAM,CAACoB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACP,WAAW,CAACE,OAAO,CAACC,MAAM,CAACK,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,IAAI,GAAGH,SAAS,CAACI,KAAK;IAE5B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACd,WAAW,CAACc,SAAS,CAAC,MAAM,EAAEF,IAAI,CAAC;IAChE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAO1B,MAAM,CAACoB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMkB,WAAW,GAAG,IAAItB,wBAAwB,CAAC;MAC7CmB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACX,cAAc,CAACe,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIY,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,uBAAuB,CAAC;MAC3CkB,IAAI,EAAEK,MAAM,CAACJ;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO9B,MAAM,CAAC+B,EAAE,CAACF,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,oBAAoB,GAAGC,kBAAkB,CAAC6B,oBAAoB,CAAC;EACxEC,cAAc,EAAEvB,wBAAwB;EACxCwB,YAAY,EAAE,CACV1B,aAAa,CAAC2B,WAAW,EACzBlC,cAAc,EACdM,kBAAkB,EAClBH,uBAAuB;AAE/B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
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";
4
+ import type { WbPage } from "../../../domain/page/abstractions.js";
5
+ import { PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
6
+ export interface IUnpublishWbPageParams {
7
+ id: string;
8
+ }
9
+ export interface IUnpublishPageRepository {
10
+ execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, RepositoryError>>;
11
+ }
12
+ export interface IUnpublishPageRepositoryErrors {
13
+ notFound: PageNotFoundError;
14
+ persistence: PagePersistenceError;
15
+ }
16
+ type RepositoryError = IUnpublishPageRepositoryErrors[keyof IUnpublishPageRepositoryErrors];
17
+ export declare const UnpublishPageRepository: import("@webiny/di").Abstraction<IUnpublishPageRepository>;
18
+ export declare namespace UnpublishPageRepository {
19
+ type Interface = IUnpublishPageRepository;
20
+ type Params = IUnpublishWbPageParams;
21
+ type Return = Promise<Result<WbPage, RepositoryError>>;
22
+ type Error = RepositoryError;
23
+ }
24
+ export interface IUnpublishPageUseCase {
25
+ execute(params: IUnpublishWbPageParams): Promise<Result<WbPage, UseCaseError>>;
26
+ }
27
+ export interface IUnpublishPageUseCaseErrors {
28
+ notAuthorized: PageNotAuthorizedError;
29
+ notFound: PageNotFoundError;
30
+ persistence: PagePersistenceError;
31
+ }
32
+ type UseCaseError = IUnpublishPageUseCaseErrors[keyof IUnpublishPageUseCaseErrors];
33
+ export declare const UnpublishPageUseCase: import("@webiny/di").Abstraction<IUnpublishPageUseCase>;
34
+ export declare namespace UnpublishPageUseCase {
35
+ type Interface = IUnpublishPageUseCase;
36
+ type Params = IUnpublishWbPageParams;
37
+ type Return = Promise<Result<WbPage, UseCaseError>>;
38
+ type Error = UseCaseError;
39
+ type Page = WbPage;
40
+ }
41
+ export interface PageBeforeUnpublishPayload {
42
+ page: WbPage;
43
+ }
44
+ export interface PageAfterUnpublishPayload {
45
+ page: WbPage;
46
+ }
47
+ export declare const PageBeforeUnpublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>>;
48
+ export declare namespace PageBeforeUnpublishHandler {
49
+ type Interface = IEventHandler<DomainEvent<PageBeforeUnpublishPayload>>;
50
+ type Event = DomainEvent<PageBeforeUnpublishPayload>;
51
+ type Page = WbPage;
52
+ }
53
+ export declare const PageAfterUnpublishHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterUnpublishPayload>>>;
54
+ export declare namespace PageAfterUnpublishHandler {
55
+ type Interface = IEventHandler<DomainEvent<PageAfterUnpublishPayload>>;
56
+ type Event = DomainEvent<PageAfterUnpublishPayload>;
57
+ type Page = WbPage;
58
+ }
59
+ export {};
@@ -0,0 +1,30 @@
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");
29
+
30
+ //# sourceMappingURL=abstractions.js.map