@webiny/api-website-builder 6.3.0 → 6.4.0-beta.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 (391) hide show
  1. package/constants.js +4 -3
  2. package/constants.js.map +1 -1
  3. package/domain/page/EntryToPageMapper.js +30 -28
  4. package/domain/page/EntryToPageMapper.js.map +1 -1
  5. package/domain/page/PagePath.js +20 -30
  6. package/domain/page/PagePath.js.map +1 -1
  7. package/domain/page/abstractions.d.ts +13 -0
  8. package/domain/page/abstractions.js +2 -5
  9. package/domain/page/abstractions.js.map +1 -1
  10. package/domain/page/errors.js +46 -51
  11. package/domain/page/errors.js.map +1 -1
  12. package/domain/page/page.model.d.ts +8 -1
  13. package/domain/page/page.model.js +25 -30
  14. package/domain/page/page.model.js.map +1 -1
  15. package/domain/permissionsSchema.js +49 -28
  16. package/domain/permissionsSchema.js.map +1 -1
  17. package/domain/redirect/EntryToRedirectMapper.js +21 -20
  18. package/domain/redirect/EntryToRedirectMapper.js.map +1 -1
  19. package/domain/redirect/abstractions.js +2 -9
  20. package/domain/redirect/abstractions.js.map +1 -1
  21. package/domain/redirect/errors.js +28 -31
  22. package/domain/redirect/errors.js.map +1 -1
  23. package/domain/redirect/redirect.model.d.ts +8 -1
  24. package/domain/redirect/redirect.model.js +24 -30
  25. package/domain/redirect/redirect.model.js.map +1 -1
  26. package/domain/shared/abstractions.js +0 -3
  27. package/exports/api/website-builder/nextjs.js +0 -2
  28. package/exports/api/website-builder/page.js +5 -7
  29. package/exports/api/website-builder/redirect.js +1 -3
  30. package/features/installer/ApiKeyInstaller.js +33 -30
  31. package/features/installer/ApiKeyInstaller.js.map +1 -1
  32. package/features/installer/feature.js +6 -5
  33. package/features/installer/feature.js.map +1 -1
  34. package/features/nextjs/MarkdownContentBuilder.js +67 -76
  35. package/features/nextjs/MarkdownContentBuilder.js.map +1 -1
  36. package/features/nextjs/MarkdownContentBuilder.test.js +266 -273
  37. package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -1
  38. package/features/nextjs/NextjsConfig.js +43 -46
  39. package/features/nextjs/NextjsConfig.js.map +1 -1
  40. package/features/nextjs/abstractions.js +2 -2
  41. package/features/nextjs/abstractions.js.map +1 -1
  42. package/features/nextjs/feature.js +6 -5
  43. package/features/nextjs/feature.js.map +1 -1
  44. package/features/nextjs/index.js +0 -2
  45. package/features/pages/CreatePage/CreatePageRepository.js +23 -25
  46. package/features/pages/CreatePage/CreatePageRepository.js.map +1 -1
  47. package/features/pages/CreatePage/CreatePageUseCase.js +29 -34
  48. package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
  49. package/features/pages/CreatePage/abstractions.js +5 -30
  50. package/features/pages/CreatePage/abstractions.js.map +1 -1
  51. package/features/pages/CreatePage/events.js +16 -14
  52. package/features/pages/CreatePage/events.js.map +1 -1
  53. package/features/pages/CreatePage/feature.js +7 -6
  54. package/features/pages/CreatePage/feature.js.map +1 -1
  55. package/features/pages/CreatePage/index.js +1 -3
  56. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +30 -36
  57. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
  58. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +33 -41
  59. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
  60. package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -30
  61. package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
  62. package/features/pages/CreatePageRevisionFrom/events.js +16 -14
  63. package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
  64. package/features/pages/CreatePageRevisionFrom/feature.js +7 -6
  65. package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -1
  66. package/features/pages/CreatePageRevisionFrom/index.js +1 -3
  67. package/features/pages/DeletePage/DeletePageRepository.js +19 -18
  68. package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
  69. package/features/pages/DeletePage/DeletePageUseCase.js +32 -39
  70. package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
  71. package/features/pages/DeletePage/abstractions.js +5 -30
  72. package/features/pages/DeletePage/abstractions.js.map +1 -1
  73. package/features/pages/DeletePage/events.js +16 -14
  74. package/features/pages/DeletePage/events.js.map +1 -1
  75. package/features/pages/DeletePage/feature.js +7 -6
  76. package/features/pages/DeletePage/feature.js.map +1 -1
  77. package/features/pages/DeletePage/index.js +1 -3
  78. package/features/pages/DuplicatePage/DuplicatePageRepository.js +50 -53
  79. package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
  80. package/features/pages/DuplicatePage/DuplicatePageUseCase.js +35 -43
  81. package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
  82. package/features/pages/DuplicatePage/abstractions.js +5 -30
  83. package/features/pages/DuplicatePage/abstractions.js.map +1 -1
  84. package/features/pages/DuplicatePage/events.js +16 -14
  85. package/features/pages/DuplicatePage/events.js.map +1 -1
  86. package/features/pages/DuplicatePage/feature.js +7 -6
  87. package/features/pages/DuplicatePage/feature.js.map +1 -1
  88. package/features/pages/DuplicatePage/index.js +1 -3
  89. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +20 -20
  90. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -1
  91. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +19 -21
  92. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -1
  93. package/features/pages/GetDeletedPageById/abstractions.js +3 -12
  94. package/features/pages/GetDeletedPageById/abstractions.js.map +1 -1
  95. package/features/pages/GetDeletedPageById/feature.js +7 -6
  96. package/features/pages/GetDeletedPageById/feature.js.map +1 -1
  97. package/features/pages/GetDeletedPageById/index.js +0 -2
  98. package/features/pages/GetPageById/GetPageByIdRepository.js +20 -18
  99. package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -1
  100. package/features/pages/GetPageById/GetPageByIdUseCase.js +19 -21
  101. package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
  102. package/features/pages/GetPageById/abstractions.js +3 -13
  103. package/features/pages/GetPageById/abstractions.js.map +1 -1
  104. package/features/pages/GetPageById/feature.js +7 -6
  105. package/features/pages/GetPageById/feature.js.map +1 -1
  106. package/features/pages/GetPageById/index.js +0 -2
  107. package/features/pages/GetPageByPath/GetPageByPathRepository.js +26 -26
  108. package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -1
  109. package/features/pages/GetPageByPath/GetPageByPathUseCase.js +19 -21
  110. package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
  111. package/features/pages/GetPageByPath/abstractions.js +3 -13
  112. package/features/pages/GetPageByPath/abstractions.js.map +1 -1
  113. package/features/pages/GetPageByPath/feature.js +7 -6
  114. package/features/pages/GetPageByPath/feature.js.map +1 -1
  115. package/features/pages/GetPageByPath/index.js +0 -2
  116. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +42 -48
  117. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -1
  118. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +14 -13
  119. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -1
  120. package/features/pages/GetPageLanguagePaths/abstractions.js +3 -3
  121. package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -1
  122. package/features/pages/GetPageLanguagePaths/feature.js +7 -6
  123. package/features/pages/GetPageLanguagePaths/feature.js.map +1 -1
  124. package/features/pages/GetPageLanguagePaths/index.js +0 -2
  125. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +17 -15
  126. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -1
  127. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +22 -24
  128. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
  129. package/features/pages/GetPageRevisions/abstractions.js +3 -13
  130. package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
  131. package/features/pages/GetPageRevisions/feature.js +7 -6
  132. package/features/pages/GetPageRevisions/feature.js.map +1 -1
  133. package/features/pages/GetPageRevisions/index.js +0 -2
  134. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +37 -36
  135. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -1
  136. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +27 -24
  137. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -1
  138. package/features/pages/ListDeletedPages/abstractions.js +3 -12
  139. package/features/pages/ListDeletedPages/abstractions.js.map +1 -1
  140. package/features/pages/ListDeletedPages/feature.js +7 -6
  141. package/features/pages/ListDeletedPages/feature.js.map +1 -1
  142. package/features/pages/ListDeletedPages/index.js +0 -2
  143. package/features/pages/ListPages/ListPagesRepository.js +37 -36
  144. package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
  145. package/features/pages/ListPages/ListPagesUseCase.js +27 -24
  146. package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
  147. package/features/pages/ListPages/abstractions.js +3 -13
  148. package/features/pages/ListPages/abstractions.js.map +1 -1
  149. package/features/pages/ListPages/feature.js +7 -6
  150. package/features/pages/ListPages/feature.js.map +1 -1
  151. package/features/pages/ListPages/index.js +0 -2
  152. package/features/pages/MovePage/MovePageRepository.js +25 -27
  153. package/features/pages/MovePage/MovePageRepository.js.map +1 -1
  154. package/features/pages/MovePage/MovePageUseCase.js +39 -49
  155. package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
  156. package/features/pages/MovePage/abstractions.js +5 -30
  157. package/features/pages/MovePage/abstractions.js.map +1 -1
  158. package/features/pages/MovePage/events.js +16 -14
  159. package/features/pages/MovePage/events.js.map +1 -1
  160. package/features/pages/MovePage/feature.js +7 -6
  161. package/features/pages/MovePage/feature.js.map +1 -1
  162. package/features/pages/MovePage/index.js +1 -3
  163. package/features/pages/PublishPage/PublishPageRepository.js +26 -28
  164. package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
  165. package/features/pages/PublishPage/PublishPageUseCase.js +36 -46
  166. package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
  167. package/features/pages/PublishPage/abstractions.js +5 -30
  168. package/features/pages/PublishPage/abstractions.js.map +1 -1
  169. package/features/pages/PublishPage/events.js +16 -14
  170. package/features/pages/PublishPage/events.js.map +1 -1
  171. package/features/pages/PublishPage/feature.js +7 -6
  172. package/features/pages/PublishPage/feature.js.map +1 -1
  173. package/features/pages/PublishPage/index.js +0 -2
  174. package/features/pages/RestorePage/RestorePageRepository.js +20 -19
  175. package/features/pages/RestorePage/RestorePageRepository.js.map +1 -1
  176. package/features/pages/RestorePage/RestorePageUseCase.js +32 -39
  177. package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -1
  178. package/features/pages/RestorePage/abstractions.js +5 -27
  179. package/features/pages/RestorePage/abstractions.js.map +1 -1
  180. package/features/pages/RestorePage/events.js +16 -14
  181. package/features/pages/RestorePage/events.js.map +1 -1
  182. package/features/pages/RestorePage/feature.js +7 -6
  183. package/features/pages/RestorePage/feature.js.map +1 -1
  184. package/features/pages/RestorePage/index.js +0 -2
  185. package/features/pages/TranslatePage/TranslatePageUseCase.js +46 -62
  186. package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -1
  187. package/features/pages/TranslatePage/abstractions.js +2 -11
  188. package/features/pages/TranslatePage/abstractions.js.map +1 -1
  189. package/features/pages/TranslatePage/feature.js +6 -5
  190. package/features/pages/TranslatePage/feature.js.map +1 -1
  191. package/features/pages/TranslatePage/index.js +0 -2
  192. package/features/pages/TrashPage/TrashPageRepository.js +21 -20
  193. package/features/pages/TrashPage/TrashPageRepository.js.map +1 -1
  194. package/features/pages/TrashPage/TrashPageUseCase.js +33 -40
  195. package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -1
  196. package/features/pages/TrashPage/abstractions.js +5 -27
  197. package/features/pages/TrashPage/abstractions.js.map +1 -1
  198. package/features/pages/TrashPage/events.js +16 -14
  199. package/features/pages/TrashPage/events.js.map +1 -1
  200. package/features/pages/TrashPage/feature.js +7 -6
  201. package/features/pages/TrashPage/feature.js.map +1 -1
  202. package/features/pages/TrashPage/index.js +0 -2
  203. package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
  204. package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
  205. package/features/pages/UnpublishPage/UnpublishPageUseCase.js +35 -45
  206. package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
  207. package/features/pages/UnpublishPage/abstractions.js +5 -30
  208. package/features/pages/UnpublishPage/abstractions.js.map +1 -1
  209. package/features/pages/UnpublishPage/events.js +16 -14
  210. package/features/pages/UnpublishPage/events.js.map +1 -1
  211. package/features/pages/UnpublishPage/feature.js +7 -6
  212. package/features/pages/UnpublishPage/feature.js.map +1 -1
  213. package/features/pages/UnpublishPage/index.js +0 -2
  214. package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
  215. package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
  216. package/features/pages/UpdatePage/UpdatePageUseCase.js +44 -54
  217. package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
  218. package/features/pages/UpdatePage/abstractions.js +5 -30
  219. package/features/pages/UpdatePage/abstractions.js.map +1 -1
  220. package/features/pages/UpdatePage/events.js +16 -14
  221. package/features/pages/UpdatePage/events.js.map +1 -1
  222. package/features/pages/UpdatePage/feature.js +7 -6
  223. package/features/pages/UpdatePage/feature.js.map +1 -1
  224. package/features/pages/UpdatePage/index.js +0 -2
  225. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
  226. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -0
  227. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
  228. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
  229. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +56 -0
  230. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
  231. package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
  232. package/features/pages/UpdatePageRevisionDescription/abstractions.js +8 -0
  233. package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
  234. package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
  235. package/features/pages/UpdatePageRevisionDescription/events.js +21 -0
  236. package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
  237. package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
  238. package/features/pages/UpdatePageRevisionDescription/feature.js +13 -0
  239. package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
  240. package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
  241. package/features/pages/UpdatePageRevisionDescription/index.js +1 -0
  242. package/features/permissions/abstractions.js +2 -1
  243. package/features/permissions/abstractions.js.map +1 -1
  244. package/features/permissions/feature.js +2 -1
  245. package/features/permissions/feature.js.map +1 -1
  246. package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
  247. package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
  248. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +29 -34
  249. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
  250. package/features/redirects/CreateRedirect/abstractions.js +5 -30
  251. package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
  252. package/features/redirects/CreateRedirect/events.js +16 -14
  253. package/features/redirects/CreateRedirect/events.js.map +1 -1
  254. package/features/redirects/CreateRedirect/feature.js +7 -6
  255. package/features/redirects/CreateRedirect/feature.js.map +1 -1
  256. package/features/redirects/CreateRedirect/index.js +1 -3
  257. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
  258. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
  259. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +34 -41
  260. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
  261. package/features/redirects/DeleteRedirect/abstractions.js +5 -30
  262. package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
  263. package/features/redirects/DeleteRedirect/events.js +16 -14
  264. package/features/redirects/DeleteRedirect/events.js.map +1 -1
  265. package/features/redirects/DeleteRedirect/feature.js +7 -6
  266. package/features/redirects/DeleteRedirect/feature.js.map +1 -1
  267. package/features/redirects/DeleteRedirect/index.js +1 -3
  268. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
  269. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
  270. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +17 -15
  271. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
  272. package/features/redirects/GetActiveRedirects/abstractions.js +3 -13
  273. package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
  274. package/features/redirects/GetActiveRedirects/feature.js +7 -6
  275. package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
  276. package/features/redirects/GetActiveRedirects/index.js +0 -2
  277. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
  278. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
  279. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +20 -22
  280. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
  281. package/features/redirects/GetRedirectById/abstractions.js +3 -13
  282. package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
  283. package/features/redirects/GetRedirectById/feature.js +7 -6
  284. package/features/redirects/GetRedirectById/feature.js.map +1 -1
  285. package/features/redirects/GetRedirectById/index.js +0 -2
  286. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
  287. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
  288. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +13 -16
  289. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
  290. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +13 -16
  291. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
  292. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +13 -17
  293. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
  294. package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -7
  295. package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
  296. package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
  297. package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
  298. package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
  299. package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
  300. package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
  301. package/features/redirects/ListRedirects/ListRedirectsUseCase.js +28 -25
  302. package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
  303. package/features/redirects/ListRedirects/abstractions.js +3 -17
  304. package/features/redirects/ListRedirects/abstractions.js.map +1 -1
  305. package/features/redirects/ListRedirects/feature.js +7 -6
  306. package/features/redirects/ListRedirects/feature.js.map +1 -1
  307. package/features/redirects/ListRedirects/index.js +0 -2
  308. package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
  309. package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
  310. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +39 -49
  311. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
  312. package/features/redirects/MoveRedirect/abstractions.js +5 -30
  313. package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
  314. package/features/redirects/MoveRedirect/events.js +16 -14
  315. package/features/redirects/MoveRedirect/events.js.map +1 -1
  316. package/features/redirects/MoveRedirect/feature.js +7 -6
  317. package/features/redirects/MoveRedirect/feature.js.map +1 -1
  318. package/features/redirects/MoveRedirect/index.js +1 -3
  319. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
  320. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
  321. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +44 -54
  322. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
  323. package/features/redirects/UpdateRedirect/abstractions.js +5 -30
  324. package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
  325. package/features/redirects/UpdateRedirect/events.js +16 -14
  326. package/features/redirects/UpdateRedirect/events.js.map +1 -1
  327. package/features/redirects/UpdateRedirect/feature.js +7 -6
  328. package/features/redirects/UpdateRedirect/feature.js.map +1 -1
  329. package/features/redirects/UpdateRedirect/index.js +0 -2
  330. package/features/tenantManager/TenantModelExtension.js +52 -32
  331. package/features/tenantManager/TenantModelExtension.js.map +1 -1
  332. package/features/tenantManager/feature.js +6 -5
  333. package/features/tenantManager/feature.js.map +1 -1
  334. package/graphql/createGraphQL.js +15 -12
  335. package/graphql/createGraphQL.js.map +1 -1
  336. package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
  337. package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
  338. package/graphql/pages/pages.gql.js +221 -324
  339. package/graphql/pages/pages.gql.js.map +1 -1
  340. package/graphql/pages/pages.typeDefs.d.ts +1 -1
  341. package/graphql/pages/pages.typeDefs.js +7 -1
  342. package/graphql/pages/pages.typeDefs.js.map +1 -1
  343. package/graphql/redirects/redirects.gql.js +56 -86
  344. package/graphql/redirects/redirects.gql.js.map +1 -1
  345. package/graphql/redirects/redirects.typeDefs.js +3 -4
  346. package/graphql/redirects/redirects.typeDefs.js.map +1 -1
  347. package/index.d.ts +1 -1
  348. package/index.js +64 -61
  349. package/index.js.map +1 -1
  350. package/package.json +20 -20
  351. package/rest/ActiveRedirectDto.js +0 -3
  352. package/rest/ActiveRedirectRestMapper.js +10 -9
  353. package/rest/ActiveRedirectRestMapper.js.map +1 -1
  354. package/rest/getRedirects.js +19 -26
  355. package/rest/getRedirects.js.map +1 -1
  356. package/utils/ensureAuthentication.js +6 -9
  357. package/utils/ensureAuthentication.js.map +1 -1
  358. package/utils/resolve.js +7 -6
  359. package/utils/resolve.js.map +1 -1
  360. package/domain/shared/abstractions.js.map +0 -1
  361. package/exports/api/website-builder/nextjs.js.map +0 -1
  362. package/exports/api/website-builder/page.js.map +0 -1
  363. package/exports/api/website-builder/redirect.js.map +0 -1
  364. package/features/nextjs/index.js.map +0 -1
  365. package/features/pages/CreatePage/index.js.map +0 -1
  366. package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
  367. package/features/pages/DeletePage/index.js.map +0 -1
  368. package/features/pages/DuplicatePage/index.js.map +0 -1
  369. package/features/pages/GetDeletedPageById/index.js.map +0 -1
  370. package/features/pages/GetPageById/index.js.map +0 -1
  371. package/features/pages/GetPageByPath/index.js.map +0 -1
  372. package/features/pages/GetPageLanguagePaths/index.js.map +0 -1
  373. package/features/pages/GetPageRevisions/index.js.map +0 -1
  374. package/features/pages/ListDeletedPages/index.js.map +0 -1
  375. package/features/pages/ListPages/index.js.map +0 -1
  376. package/features/pages/MovePage/index.js.map +0 -1
  377. package/features/pages/PublishPage/index.js.map +0 -1
  378. package/features/pages/RestorePage/index.js.map +0 -1
  379. package/features/pages/TranslatePage/index.js.map +0 -1
  380. package/features/pages/TrashPage/index.js.map +0 -1
  381. package/features/pages/UnpublishPage/index.js.map +0 -1
  382. package/features/pages/UpdatePage/index.js.map +0 -1
  383. package/features/redirects/CreateRedirect/index.js.map +0 -1
  384. package/features/redirects/DeleteRedirect/index.js.map +0 -1
  385. package/features/redirects/GetActiveRedirects/index.js.map +0 -1
  386. package/features/redirects/GetRedirectById/index.js.map +0 -1
  387. package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
  388. package/features/redirects/ListRedirects/index.js.map +0 -1
  389. package/features/redirects/MoveRedirect/index.js.map +0 -1
  390. package/features/redirects/UpdateRedirect/index.js.map +0 -1
  391. package/rest/ActiveRedirectDto.js.map +0 -1
@@ -1,19 +1,21 @@
1
1
  import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
- import { RedirectBeforeCreateEventHandler, RedirectAfterCreateEventHandler } from "./abstractions.js";
3
- // RedirectBeforeCreate Event
4
- export class RedirectBeforeCreateEvent extends DomainEvent {
5
- eventType = "redirect.beforeCreate";
6
- getHandlerAbstraction() {
7
- return RedirectBeforeCreateEventHandler;
8
- }
2
+ import { RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler } from "./abstractions.js";
3
+ class RedirectBeforeCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return RedirectBeforeCreateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "redirect.beforeCreate";
9
+ }
9
10
  }
10
-
11
- // RedirectAfterCreate Event
12
- export class RedirectAfterCreateEvent extends DomainEvent {
13
- eventType = "redirect.afterCreate";
14
- getHandlerAbstraction() {
15
- return RedirectAfterCreateEventHandler;
16
- }
11
+ class RedirectAfterCreateEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return RedirectAfterCreateEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "redirect.afterCreate";
17
+ }
17
18
  }
19
+ export { RedirectAfterCreateEvent, RedirectBeforeCreateEvent };
18
20
 
19
21
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","RedirectBeforeCreateEventHandler","RedirectAfterCreateEventHandler","RedirectBeforeCreateEvent","eventType","getHandlerAbstraction","RedirectAfterCreateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeCreateEventHandler,\n RedirectAfterCreateEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeCreatePayload, RedirectAfterCreatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeCreate Event\nexport class RedirectBeforeCreateEvent extends DomainEvent<RedirectBeforeCreatePayload> {\n eventType = \"redirect.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeCreateEventHandler;\n }\n}\n\n// RedirectAfterCreate Event\nexport class RedirectAfterCreateEvent extends DomainEvent<RedirectAfterCreatePayload> {\n eventType = \"redirect.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterCreateEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SACIC,gCAAgC,EAChCC,+BAA+B;AAInC;AACA,OAAO,MAAMC,yBAAyB,SAASH,WAAW,CAA8B;EACpFI,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,gCAAgC;EAC3C;AACJ;;AAEA;AACA,OAAO,MAAMK,wBAAwB,SAASN,WAAW,CAA6B;EAClFI,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,+BAA+B;EAC1C;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/CreateRedirect/events.js","sources":["../../../../src/features/redirects/CreateRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeCreateEventHandler,\n RedirectAfterCreateEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeCreatePayload, RedirectAfterCreatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeCreate Event\nexport class RedirectBeforeCreateEvent extends DomainEvent<RedirectBeforeCreatePayload> {\n eventType = \"redirect.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeCreateEventHandler;\n }\n}\n\n// RedirectAfterCreate Event\nexport class RedirectAfterCreateEvent extends DomainEvent<RedirectAfterCreatePayload> {\n eventType = \"redirect.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterCreateEventHandler;\n }\n}\n"],"names":["RedirectBeforeCreateEvent","DomainEvent","RedirectBeforeCreateEventHandler","RedirectAfterCreateEvent","RedirectAfterCreateEventHandler"],"mappings":";;AAQO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,iCAAiCF;IAG1C,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CreateRedirectRepository } from "./CreateRedirectRepository.js";
3
3
  import { CreateRedirectUseCase } from "./CreateRedirectUseCase.js";
4
- export const CreateRedirectFeature = createFeature({
5
- name: "WebsiteBuilder/CreateRedirect",
6
- register(container) {
7
- container.register(CreateRedirectRepository).inSingletonScope();
8
- container.register(CreateRedirectUseCase);
9
- }
4
+ const CreateRedirectFeature = createFeature({
5
+ name: "WebsiteBuilder/CreateRedirect",
6
+ register (container) {
7
+ container.register(CreateRedirectRepository).inSingletonScope();
8
+ container.register(CreateRedirectUseCase);
9
+ }
10
10
  });
11
+ export { CreateRedirectFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CreateRedirectRepository","CreateRedirectUseCase","CreateRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateRedirectRepository } from \"./CreateRedirectRepository.js\";\nimport { CreateRedirectUseCase } from \"./CreateRedirectUseCase.js\";\n\nexport const CreateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/CreateRedirect\",\n register(container) {\n container.register(CreateRedirectRepository).inSingletonScope();\n container.register(CreateRedirectUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,+BAA+B;EACrCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,wBAAwB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/CreateRedirect/feature.js","sources":["../../../../src/features/redirects/CreateRedirect/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateRedirectRepository } from \"./CreateRedirectRepository.js\";\nimport { CreateRedirectUseCase } from \"./CreateRedirectUseCase.js\";\n\nexport const CreateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/CreateRedirect\",\n register(container) {\n container.register(CreateRedirectRepository).inSingletonScope();\n container.register(CreateRedirectUseCase);\n }\n});\n"],"names":["CreateRedirectFeature","createFeature","container","CreateRedirectRepository","CreateRedirectUseCase"],"mappings":";;;AAIO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,0BAA0B,gBAAgB;QAC7DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,3 +1 @@
1
- export { RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler, CreateRedirectUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { CreateRedirectUseCase, RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler } from "./abstractions.js";
@@ -1,27 +1,29 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
3
- import { DeleteRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { DeleteRedirectRepository } from "./abstractions.js";
4
4
  import { RedirectModel } from "../../../domain/redirect/abstractions.js";
5
5
  import { RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
6
6
  class DeleteRedirectRepositoryImpl {
7
- constructor(redirectModel, deleteEntry) {
8
- this.redirectModel = redirectModel;
9
- this.deleteEntry = deleteEntry;
10
- }
11
- async execute(params) {
12
- const result = await this.deleteEntry.execute(this.redirectModel, params.id);
13
- if (result.isFail()) {
14
- if (result.error.code === "Cms/Entry/NotFound") {
15
- return Result.fail(new RedirectNotFoundError(params.id));
16
- }
17
- return Result.fail(new RedirectPersistenceError(result.error));
7
+ constructor(redirectModel, deleteEntry){
8
+ this.redirectModel = redirectModel;
9
+ this.deleteEntry = deleteEntry;
10
+ }
11
+ async execute(params) {
12
+ const result = await this.deleteEntry.execute(this.redirectModel, params.id);
13
+ if (result.isFail()) {
14
+ if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new RedirectNotFoundError(params.id));
15
+ return Result.fail(new RedirectPersistenceError(result.error));
16
+ }
17
+ return Result.ok();
18
18
  }
19
- return Result.ok();
20
- }
21
19
  }
22
- export const DeleteRedirectRepository = RepositoryAbstraction.createImplementation({
23
- implementation: DeleteRedirectRepositoryImpl,
24
- dependencies: [RedirectModel, DeleteEntryUseCase]
20
+ const DeleteRedirectRepository_DeleteRedirectRepository = DeleteRedirectRepository.createImplementation({
21
+ implementation: DeleteRedirectRepositoryImpl,
22
+ dependencies: [
23
+ RedirectModel,
24
+ DeleteEntryUseCase
25
+ ]
25
26
  });
27
+ export { DeleteRedirectRepository_DeleteRedirectRepository as DeleteRedirectRepository };
26
28
 
27
29
  //# sourceMappingURL=DeleteRedirectRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","DeleteEntryUseCase","DeleteRedirectRepository","RepositoryAbstraction","RedirectModel","RedirectNotFoundError","RedirectPersistenceError","DeleteRedirectRepositoryImpl","constructor","redirectModel","deleteEntry","execute","params","result","id","isFail","error","code","fail","ok","createImplementation","implementation","dependencies"],"sources":["DeleteRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { DeleteRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectNotFoundError, RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.deleteEntry.execute(this.redirectModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(params.id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteRedirectRepositoryImpl,\n dependencies: [RedirectModel, DeleteEntryUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,wBAAwB,IAAIC,qBAAqB;AAC1D,SAASC,aAAa;AACtB,SAASC,qBAAqB,EAAEC,wBAAwB;AAExD,MAAMC,4BAA4B,CAA4C;EAC1EC,WAAWA,CACCC,aAAsC,EACtCC,WAAyC,EACnD;IAAA,KAFUD,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,WAAyC,GAAzCA,WAAyC;EAClD;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,WAAW,CAACC,OAAO,CAAC,IAAI,CAACF,aAAa,EAAEG,MAAM,CAACE,EAAE,CAAC;IAE5E,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,IAAIF,MAAM,CAACG,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOjB,MAAM,CAACkB,IAAI,CAAC,IAAIb,qBAAqB,CAACO,MAAM,CAACE,EAAE,CAAC,CAAC;MAC5D;MACA,OAAOd,MAAM,CAACkB,IAAI,CAAC,IAAIZ,wBAAwB,CAACO,MAAM,CAACG,KAAK,CAAC,CAAC;IAClE;IAEA,OAAOhB,MAAM,CAACmB,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMjB,wBAAwB,GAAGC,qBAAqB,CAACiB,oBAAoB,CAAC;EAC/EC,cAAc,EAAEd,4BAA4B;EAC5Ce,YAAY,EAAE,CAAClB,aAAa,EAAEH,kBAAkB;AACpD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/DeleteRedirect/DeleteRedirectRepository.js","sources":["../../../../src/features/redirects/DeleteRedirect/DeleteRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { DeleteRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectNotFoundError, RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.deleteEntry.execute(this.redirectModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(params.id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteRedirectRepositoryImpl,\n dependencies: [RedirectModel, DeleteEntryUseCase]\n});\n"],"names":["DeleteRedirectRepositoryImpl","redirectModel","deleteEntry","params","result","Result","RedirectNotFoundError","RedirectPersistenceError","DeleteRedirectRepository","RepositoryAbstraction","RedirectModel","DeleteEntryUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAAyC,CACnD;aAFUD,aAAa,GAAbA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAC9E,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAED,OAAO,EAAE;QAE3E,IAAIC,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,sBAAsBH,OAAO,EAAE;YAE1D,OAAOE,OAAO,IAAI,CAAC,IAAIE,yBAAyBH,OAAO,KAAK;QAChE;QAEA,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBT;IAChB,cAAc;QAACU;QAAeC;KAAmB;AACrD"}
@@ -1,53 +1,46 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
- import { DeleteRedirectUseCase as UseCaseAbstraction, DeleteRedirectRepository } from "./abstractions.js";
4
- import { RedirectBeforeDeleteEvent, RedirectAfterDeleteEvent } from "./events.js";
3
+ import { DeleteRedirectRepository, DeleteRedirectUseCase } from "./abstractions.js";
4
+ import { RedirectAfterDeleteEvent, RedirectBeforeDeleteEvent } from "./events.js";
5
5
  import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
6
6
  import { WbPermissions } from "../../permissions/abstractions.js";
7
7
  import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
8
8
  class DeleteRedirectUseCaseImpl {
9
- constructor(permissions, eventPublisher, getRedirectById, repository) {
10
- this.permissions = permissions;
11
- this.eventPublisher = eventPublisher;
12
- this.getRedirectById = getRedirectById;
13
- this.repository = repository;
14
- }
15
- async execute(params) {
16
- // Get the redirect first to include in events and for item-level permission check
17
- const getResult = await this.getRedirectById.execute(params.id);
18
- if (getResult.isFail()) {
19
- return Result.fail(getResult.error);
9
+ constructor(permissions, eventPublisher, getRedirectById, repository){
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getRedirectById = getRedirectById;
13
+ this.repository = repository;
20
14
  }
21
- const redirect = getResult.value;
22
- const canDelete = await this.permissions.canDelete("redirect", redirect);
23
- if (!canDelete) {
24
- return Result.fail(new RedirectNotAuthorizedError());
15
+ async execute(params) {
16
+ const getResult = await this.getRedirectById.execute(params.id);
17
+ if (getResult.isFail()) return Result.fail(getResult.error);
18
+ const redirect = getResult.value;
19
+ const canDelete = await this.permissions.canDelete("redirect", redirect);
20
+ if (!canDelete) return Result.fail(new RedirectNotAuthorizedError());
21
+ const beforeEvent = new RedirectBeforeDeleteEvent({
22
+ redirect
23
+ });
24
+ await this.eventPublisher.publish(beforeEvent);
25
+ const result = await this.repository.execute(params);
26
+ if (result.isFail()) return result;
27
+ const afterEvent = new RedirectAfterDeleteEvent({
28
+ redirect
29
+ });
30
+ await this.eventPublisher.publish(afterEvent);
31
+ return Result.ok();
25
32
  }
26
-
27
- // Publish before delete event
28
- const beforeEvent = new RedirectBeforeDeleteEvent({
29
- redirect
30
- });
31
- await this.eventPublisher.publish(beforeEvent);
32
-
33
- // Execute the delete operation
34
- const result = await this.repository.execute(params);
35
- if (result.isFail()) {
36
- return result;
37
- }
38
-
39
- // Publish after delete event
40
- const afterEvent = new RedirectAfterDeleteEvent({
41
- redirect
42
- });
43
- await this.eventPublisher.publish(afterEvent);
44
- return Result.ok();
45
- }
46
33
  }
47
- export const DeleteRedirectUseCase = createImplementation({
48
- abstraction: UseCaseAbstraction,
49
- implementation: DeleteRedirectUseCaseImpl,
50
- dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, DeleteRedirectRepository]
34
+ const DeleteRedirectUseCase_DeleteRedirectUseCase = createImplementation({
35
+ abstraction: DeleteRedirectUseCase,
36
+ implementation: DeleteRedirectUseCaseImpl,
37
+ dependencies: [
38
+ WbPermissions,
39
+ EventPublisher,
40
+ GetRedirectByIdUseCase,
41
+ DeleteRedirectRepository
42
+ ]
51
43
  });
44
+ export { DeleteRedirectUseCase_DeleteRedirectUseCase as DeleteRedirectUseCase };
52
45
 
53
46
  //# sourceMappingURL=DeleteRedirectUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","DeleteRedirectUseCase","UseCaseAbstraction","DeleteRedirectRepository","RedirectBeforeDeleteEvent","RedirectAfterDeleteEvent","GetRedirectByIdUseCase","WbPermissions","RedirectNotAuthorizedError","DeleteRedirectUseCaseImpl","constructor","permissions","eventPublisher","getRedirectById","repository","execute","params","getResult","id","isFail","fail","error","redirect","value","canDelete","beforeEvent","publish","result","afterEvent","ok","abstraction","implementation","dependencies"],"sources":["DeleteRedirectUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n DeleteRedirectUseCase as UseCaseAbstraction,\n DeleteRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeDeleteEvent, RedirectAfterDeleteEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: DeleteRedirectRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the redirect first to include in events and for item-level permission check\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const redirect = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"redirect\", redirect);\n if (!canDelete) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new RedirectBeforeDeleteEvent({\n redirect\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new RedirectAfterDeleteEvent({\n redirect\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, DeleteRedirectRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,mDAAmD;AAC1D,SACIC,qBAAqB,IAAIC,kBAAkB,EAC3CC,wBAAwB;AAE5B,SAASC,yBAAyB,EAAEC,wBAAwB;AAC5D,SAASC,sBAAsB;AAC/B,SAASC,aAAa;AACtB,SAASC,0BAA0B;AAEnC,MAAMC,yBAAyB,CAAyC;EACpEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA8C,EACxD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACE,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAE/D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOrB,MAAM,CAACsB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAGL,SAAS,CAACM,KAAK;IAEhC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACb,WAAW,CAACa,SAAS,CAAC,UAAU,EAAEF,QAAQ,CAAC;IACxE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAO1B,MAAM,CAACsB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,CAAC,CAAC;IACxD;;IAEA;IACA,MAAMiB,WAAW,GAAG,IAAIrB,yBAAyB,CAAC;MAC9CkB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIW,MAAM,CAACR,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOQ,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIvB,wBAAwB,CAAC;MAC5CiB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO9B,MAAM,CAAC+B,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM5B,qBAAqB,GAAGF,oBAAoB,CAAC;EACtD+B,WAAW,EAAE5B,kBAAkB;EAC/B6B,cAAc,EAAEtB,yBAAyB;EACzCuB,YAAY,EAAE,CAACzB,aAAa,EAAEP,cAAc,EAAEM,sBAAsB,EAAEH,wBAAwB;AAClG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/DeleteRedirect/DeleteRedirectUseCase.js","sources":["../../../../src/features/redirects/DeleteRedirect/DeleteRedirectUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n DeleteRedirectUseCase as UseCaseAbstraction,\n DeleteRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeDeleteEvent, RedirectAfterDeleteEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: DeleteRedirectRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the redirect first to include in events and for item-level permission check\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const redirect = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"redirect\", redirect);\n if (!canDelete) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new RedirectBeforeDeleteEvent({\n redirect\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new RedirectAfterDeleteEvent({\n redirect\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, DeleteRedirectRepository]\n});\n"],"names":["DeleteRedirectUseCaseImpl","permissions","eventPublisher","getRedirectById","repository","params","getResult","Result","redirect","canDelete","RedirectNotAuthorizedError","beforeEvent","RedirectBeforeDeleteEvent","result","afterEvent","RedirectAfterDeleteEvent","DeleteRedirectUseCase","createImplementation","UseCaseAbstraction","WbPermissions","EventPublisher","GetRedirectByIdUseCase","DeleteRedirectRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA8C,CACxD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QAExE,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACD,OAAO,EAAE;QAE9D,IAAIC,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,WAAWF,UAAU,KAAK;QAEhC,MAAMG,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAYD;QAC/D,IAAI,CAACC,WACD,OAAOF,OAAO,IAAI,CAAC,IAAIG;QAI3B,MAAMC,cAAc,IAAIC,0BAA0B;YAC9CJ;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACG;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACR;QAE7C,IAAIQ,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,yBAAyB;YAC5CP;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACM;QAElC,OAAOP,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMS,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QAACmB;QAAeC;QAAgBC;QAAwBC;KAAyB;AACnG"}
@@ -1,33 +1,8 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // ============================================================================
4
- // Type Definitions
5
- // ============================================================================
6
-
7
- // ============================================================================
8
- // Repository Abstraction
9
- // ============================================================================
10
-
11
- export const DeleteRedirectRepository = createAbstraction("Wb/DeleteRedirectRepository");
12
-
13
- // ============================================================================
14
- // Use Case Abstraction
15
- // ============================================================================
16
-
17
- /** Delete a URL redirect. */
18
- export const DeleteRedirectUseCase = createAbstraction("Wb/DeleteRedirectUseCase");
19
-
20
- // ============================================================================
21
- // Event Payload Types
22
- // ============================================================================
23
-
24
- // ============================================================================
25
- // Event Handler Abstractions
26
- // ============================================================================
27
-
28
- /** Hook into redirect lifecycle before a redirect is deleted. */
29
- export const RedirectBeforeDeleteEventHandler = createAbstraction("Wb/RedirectBeforeDeleteEventHandler");
30
- /** Hook into redirect lifecycle after a redirect is deleted. */
31
- export const RedirectAfterDeleteEventHandler = createAbstraction("Wb/RedirectAfterDeleteEventHandler");
2
+ const DeleteRedirectRepository = createAbstraction("Wb/DeleteRedirectRepository");
3
+ const DeleteRedirectUseCase = createAbstraction("Wb/DeleteRedirectUseCase");
4
+ const RedirectBeforeDeleteEventHandler = createAbstraction("Wb/RedirectBeforeDeleteEventHandler");
5
+ const RedirectAfterDeleteEventHandler = createAbstraction("Wb/RedirectAfterDeleteEventHandler");
6
+ export { DeleteRedirectRepository, DeleteRedirectUseCase, RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler };
32
7
 
33
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteRedirectRepository","DeleteRedirectUseCase","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IDeleteWbRedirectParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectRepository {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IDeleteRedirectRepositoryErrors[keyof IDeleteRedirectRepositoryErrors];\n\nexport const DeleteRedirectRepository = createAbstraction<IDeleteRedirectRepository>(\n \"Wb/DeleteRedirectRepository\"\n);\n\nexport namespace DeleteRedirectRepository {\n export type Interface = IDeleteRedirectRepository;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectUseCase {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IDeleteRedirectUseCaseErrors[keyof IDeleteRedirectUseCaseErrors];\n\n/** Delete a URL redirect. */\nexport const DeleteRedirectUseCase = createAbstraction<IDeleteRedirectUseCase>(\n \"Wb/DeleteRedirectUseCase\"\n);\n\nexport namespace DeleteRedirectUseCase {\n export type Interface = IDeleteRedirectUseCase;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeDeletePayload {\n redirect: WbRedirect;\n}\n\nexport interface RedirectAfterDeletePayload {\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is deleted. */\nexport const RedirectBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>\n>(\"Wb/RedirectBeforeDeleteEventHandler\");\n\nexport namespace RedirectBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>;\n export type Event = DomainEvent<RedirectBeforeDeletePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is deleted. */\nexport const RedirectAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterDeletePayload>>\n>(\"Wb/RedirectAfterDeleteEventHandler\");\n\nexport namespace RedirectAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterDeletePayload>>;\n export type Event = DomainEvent<RedirectAfterDeletePayload>;\n export type Redirect = WbRedirect;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAUpE;AACA;AACA;;AAMA;AACA;AACA;;AAaA,OAAO,MAAMC,wBAAwB,GAAGD,iBAAiB,CACrD,6BACJ,CAAC;;AASD;AACA;AACA;;AAcA;AACA,OAAO,MAAME,qBAAqB,GAAGF,iBAAiB,CAClD,0BACJ,CAAC;;AASD;AACA;AACA;;AAUA;AACA;AACA;;AAEA;AACA,OAAO,MAAMG,gCAAgC,GAAGH,iBAAiB,CAE/D,qCAAqC,CAAC;AAQxC;AACA,OAAO,MAAMI,+BAA+B,GAAGJ,iBAAiB,CAE9D,oCAAoC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/DeleteRedirect/abstractions.js","sources":["../../../../src/features/redirects/DeleteRedirect/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IDeleteWbRedirectParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectRepository {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IDeleteRedirectRepositoryErrors[keyof IDeleteRedirectRepositoryErrors];\n\nexport const DeleteRedirectRepository = createAbstraction<IDeleteRedirectRepository>(\n \"Wb/DeleteRedirectRepository\"\n);\n\nexport namespace DeleteRedirectRepository {\n export type Interface = IDeleteRedirectRepository;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectUseCase {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IDeleteRedirectUseCaseErrors[keyof IDeleteRedirectUseCaseErrors];\n\n/** Delete a URL redirect. */\nexport const DeleteRedirectUseCase = createAbstraction<IDeleteRedirectUseCase>(\n \"Wb/DeleteRedirectUseCase\"\n);\n\nexport namespace DeleteRedirectUseCase {\n export type Interface = IDeleteRedirectUseCase;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeDeletePayload {\n redirect: WbRedirect;\n}\n\nexport interface RedirectAfterDeletePayload {\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is deleted. */\nexport const RedirectBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>\n>(\"Wb/RedirectBeforeDeleteEventHandler\");\n\nexport namespace RedirectBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>;\n export type Event = DomainEvent<RedirectBeforeDeletePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is deleted. */\nexport const RedirectAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterDeletePayload>>\n>(\"Wb/RedirectAfterDeleteEventHandler\");\n\nexport namespace RedirectAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterDeletePayload>>;\n export type Event = DomainEvent<RedirectAfterDeletePayload>;\n export type Redirect = WbRedirect;\n}\n"],"names":["DeleteRedirectRepository","createAbstraction","DeleteRedirectUseCase","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEventHandler"],"mappings":";AAiCO,MAAMA,2BAA2BC,kBACpC;AA2BG,MAAMC,wBAAwBD,kBACjC;AA2BG,MAAME,mCAAmCF,kBAE9C;AASK,MAAMG,kCAAkCH,kBAE7C"}
@@ -1,19 +1,21 @@
1
1
  import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
- import { RedirectBeforeDeleteEventHandler, RedirectAfterDeleteEventHandler } from "./abstractions.js";
3
- // RedirectBeforeDelete Event
4
- export class RedirectBeforeDeleteEvent extends DomainEvent {
5
- eventType = "redirect.beforeDelete";
6
- getHandlerAbstraction() {
7
- return RedirectBeforeDeleteEventHandler;
8
- }
2
+ import { RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler } from "./abstractions.js";
3
+ class RedirectBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return RedirectBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "redirect.beforeDelete";
9
+ }
9
10
  }
10
-
11
- // RedirectAfterDelete Event
12
- export class RedirectAfterDeleteEvent extends DomainEvent {
13
- eventType = "redirect.afterDelete";
14
- getHandlerAbstraction() {
15
- return RedirectAfterDeleteEventHandler;
16
- }
11
+ class RedirectAfterDeleteEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return RedirectAfterDeleteEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "redirect.afterDelete";
17
+ }
17
18
  }
19
+ export { RedirectAfterDeleteEvent, RedirectBeforeDeleteEvent };
18
20
 
19
21
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEventHandler","RedirectBeforeDeleteEvent","eventType","getHandlerAbstraction","RedirectAfterDeleteEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeDeleteEventHandler,\n RedirectAfterDeleteEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeDeletePayload, RedirectAfterDeletePayload } from \"./abstractions.js\";\n\n// RedirectBeforeDelete Event\nexport class RedirectBeforeDeleteEvent extends DomainEvent<RedirectBeforeDeletePayload> {\n eventType = \"redirect.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeDeleteEventHandler;\n }\n}\n\n// RedirectAfterDelete Event\nexport class RedirectAfterDeleteEvent extends DomainEvent<RedirectAfterDeletePayload> {\n eventType = \"redirect.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterDeleteEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SACIC,gCAAgC,EAChCC,+BAA+B;AAInC;AACA,OAAO,MAAMC,yBAAyB,SAASH,WAAW,CAA8B;EACpFI,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,gCAAgC;EAC3C;AACJ;;AAEA;AACA,OAAO,MAAMK,wBAAwB,SAASN,WAAW,CAA6B;EAClFI,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,+BAA+B;EAC1C;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/DeleteRedirect/events.js","sources":["../../../../src/features/redirects/DeleteRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeDeleteEventHandler,\n RedirectAfterDeleteEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeDeletePayload, RedirectAfterDeletePayload } from \"./abstractions.js\";\n\n// RedirectBeforeDelete Event\nexport class RedirectBeforeDeleteEvent extends DomainEvent<RedirectBeforeDeletePayload> {\n eventType = \"redirect.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeDeleteEventHandler;\n }\n}\n\n// RedirectAfterDelete Event\nexport class RedirectAfterDeleteEvent extends DomainEvent<RedirectAfterDeletePayload> {\n eventType = \"redirect.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterDeleteEventHandler;\n }\n}\n"],"names":["RedirectBeforeDeleteEvent","DomainEvent","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEvent","RedirectAfterDeleteEventHandler"],"mappings":";;AAQO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,iCAAiCF;IAG1C,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { DeleteRedirectRepository } from "./DeleteRedirectRepository.js";
3
3
  import { DeleteRedirectUseCase } from "./DeleteRedirectUseCase.js";
4
- export const DeleteRedirectFeature = createFeature({
5
- name: "WebsiteBuilder/DeleteRedirect",
6
- register(container) {
7
- container.register(DeleteRedirectRepository).inSingletonScope();
8
- container.register(DeleteRedirectUseCase);
9
- }
4
+ const DeleteRedirectFeature = createFeature({
5
+ name: "WebsiteBuilder/DeleteRedirect",
6
+ register (container) {
7
+ container.register(DeleteRedirectRepository).inSingletonScope();
8
+ container.register(DeleteRedirectUseCase);
9
+ }
10
10
  });
11
+ export { DeleteRedirectFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","DeleteRedirectRepository","DeleteRedirectUseCase","DeleteRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteRedirectRepository } from \"./DeleteRedirectRepository.js\";\nimport { DeleteRedirectUseCase } from \"./DeleteRedirectUseCase.js\";\n\nexport const DeleteRedirectFeature = createFeature({\n name: \"WebsiteBuilder/DeleteRedirect\",\n register(container) {\n container.register(DeleteRedirectRepository).inSingletonScope();\n container.register(DeleteRedirectUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,+BAA+B;EACrCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,wBAAwB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/DeleteRedirect/feature.js","sources":["../../../../src/features/redirects/DeleteRedirect/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteRedirectRepository } from \"./DeleteRedirectRepository.js\";\nimport { DeleteRedirectUseCase } from \"./DeleteRedirectUseCase.js\";\n\nexport const DeleteRedirectFeature = createFeature({\n name: \"WebsiteBuilder/DeleteRedirect\",\n register(container) {\n container.register(DeleteRedirectRepository).inSingletonScope();\n container.register(DeleteRedirectUseCase);\n }\n});\n"],"names":["DeleteRedirectFeature","createFeature","container","DeleteRedirectRepository","DeleteRedirectUseCase"],"mappings":";;;AAIO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,0BAA0B,gBAAgB;QAC7DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,3 +1 @@
1
- export { RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler, DeleteRedirectUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { DeleteRedirectUseCase, RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler } from "./abstractions.js";
@@ -1,30 +1,31 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { GetActiveRedirectsRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { GetActiveRedirectsRepository } from "./abstractions.js";
3
3
  import { ListRedirectsUseCase } from "../ListRedirects/index.js";
4
4
  import { RedirectPersistenceError } from "../../../domain/redirect/errors.js";
5
5
  class GetActiveRedirectsRepositoryImpl {
6
- constructor(listRedirects) {
7
- this.listRedirects = listRedirects;
8
- }
9
- async execute() {
10
- const result = await this.listRedirects.execute({
11
- where: {
12
- latest: true,
13
- isEnabled: true
14
- },
15
- limit: 10000,
16
- sort: [],
17
- after: null
18
- });
19
- if (result.isFail()) {
20
- return Result.fail(new RedirectPersistenceError(result.error));
6
+ constructor(listRedirects){
7
+ this.listRedirects = listRedirects;
8
+ }
9
+ async execute() {
10
+ const result = await this.listRedirects.execute({
11
+ where: {
12
+ latest: true,
13
+ isEnabled: true
14
+ },
15
+ limit: 10000,
16
+ sort: [],
17
+ after: null
18
+ });
19
+ if (result.isFail()) return Result.fail(new RedirectPersistenceError(result.error));
20
+ return Result.ok(result.value.redirects);
21
21
  }
22
- return Result.ok(result.value.redirects);
23
- }
24
22
  }
25
- export const GetActiveRedirectsRepository = RepositoryAbstraction.createImplementation({
26
- implementation: GetActiveRedirectsRepositoryImpl,
27
- dependencies: [ListRedirectsUseCase]
23
+ const GetActiveRedirectsRepository_GetActiveRedirectsRepository = GetActiveRedirectsRepository.createImplementation({
24
+ implementation: GetActiveRedirectsRepositoryImpl,
25
+ dependencies: [
26
+ ListRedirectsUseCase
27
+ ]
28
28
  });
29
+ export { GetActiveRedirectsRepository_GetActiveRedirectsRepository as GetActiveRedirectsRepository };
29
30
 
30
31
  //# sourceMappingURL=GetActiveRedirectsRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","GetActiveRedirectsRepository","RepositoryAbstraction","ListRedirectsUseCase","RedirectPersistenceError","GetActiveRedirectsRepositoryImpl","constructor","listRedirects","execute","result","where","latest","isEnabled","limit","sort","after","isFail","fail","error","ok","value","redirects","createImplementation","implementation","dependencies"],"sources":["GetActiveRedirectsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetActiveRedirectsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListRedirectsUseCase } from \"~/features/redirects/ListRedirects/index.js\";\nimport { RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\nclass GetActiveRedirectsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private listRedirects: ListRedirectsUseCase.Interface) {}\n\n async execute(): RepositoryAbstraction.Return {\n const result = await this.listRedirects.execute({\n where: {\n latest: true,\n isEnabled: true\n },\n limit: 10000,\n sort: [],\n after: null\n });\n\n if (result.isFail()) {\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n return Result.ok(result.value.redirects);\n }\n}\n\nexport const GetActiveRedirectsRepository = RepositoryAbstraction.createImplementation({\n implementation: GetActiveRedirectsRepositoryImpl,\n dependencies: [ListRedirectsUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,4BAA4B,IAAIC,qBAAqB;AAC9D,SAASC,oBAAoB;AAC7B,SAASC,wBAAwB;AAEjC,MAAMC,gCAAgC,CAA4C;EAC9EC,WAAWA,CAASC,aAA6C,EAAE;IAAA,KAA/CA,aAA6C,GAA7CA,aAA6C;EAAG;EAEpE,MAAMC,OAAOA,CAAA,EAAiC;IAC1C,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACF,aAAa,CAACC,OAAO,CAAC;MAC5CE,KAAK,EAAE;QACHC,MAAM,EAAE,IAAI;QACZC,SAAS,EAAE;MACf,CAAC;MACDC,KAAK,EAAE,KAAK;MACZC,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAIN,MAAM,CAACO,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOhB,MAAM,CAACiB,IAAI,CAAC,IAAIb,wBAAwB,CAACK,MAAM,CAACS,KAAK,CAAC,CAAC;IAClE;IAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACV,MAAM,CAACW,KAAK,CAACC,SAAS,CAAC;EAC5C;AACJ;AAEA,OAAO,MAAMpB,4BAA4B,GAAGC,qBAAqB,CAACoB,oBAAoB,CAAC;EACnFC,cAAc,EAAElB,gCAAgC;EAChDmB,YAAY,EAAE,CAACrB,oBAAoB;AACvC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js","sources":["../../../../src/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetActiveRedirectsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListRedirectsUseCase } from \"~/features/redirects/ListRedirects/index.js\";\nimport { RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\nclass GetActiveRedirectsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private listRedirects: ListRedirectsUseCase.Interface) {}\n\n async execute(): RepositoryAbstraction.Return {\n const result = await this.listRedirects.execute({\n where: {\n latest: true,\n isEnabled: true\n },\n limit: 10000,\n sort: [],\n after: null\n });\n\n if (result.isFail()) {\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n return Result.ok(result.value.redirects);\n }\n}\n\nexport const GetActiveRedirectsRepository = RepositoryAbstraction.createImplementation({\n implementation: GetActiveRedirectsRepositoryImpl,\n dependencies: [ListRedirectsUseCase]\n});\n"],"names":["GetActiveRedirectsRepositoryImpl","listRedirects","result","Result","RedirectPersistenceError","GetActiveRedirectsRepository","RepositoryAbstraction","ListRedirectsUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,aAA6C,CAAE;aAA/CA,aAAa,GAAbA;IAAgD;IAEpE,MAAM,UAAwC;QAC1C,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC5C,OAAO;gBACH,QAAQ;gBACR,WAAW;YACf;YACA,OAAO;YACP,MAAM,EAAE;YACR,OAAO;QACX;QAEA,IAAIA,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,OAAO,KAAK;QAGhE,OAAOC,OAAO,EAAE,CAACD,OAAO,KAAK,CAAC,SAAS;IAC3C;AACJ;AAEO,MAAMG,4DAA+BC,6BAAAA,oBAA0C,CAAC;IACnF,gBAAgBN;IAChB,cAAc;QAACO;KAAqB;AACxC"}
@@ -1,24 +1,26 @@
1
1
  import { Result, createImplementation } from "@webiny/feature/api";
2
- import { GetActiveRedirectsUseCase as UseCaseAbstraction, GetActiveRedirectsRepository } from "./abstractions.js";
2
+ import { GetActiveRedirectsRepository, GetActiveRedirectsUseCase } from "./abstractions.js";
3
3
  import { WbPermissions } from "../../permissions/abstractions.js";
4
4
  import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
5
5
  class GetActiveRedirectsUseCaseImpl {
6
- constructor(permissions, repository) {
7
- this.permissions = permissions;
8
- this.repository = repository;
9
- }
10
- async execute() {
11
- const hasPermission = await this.permissions.canRead("redirect");
12
- if (!hasPermission) {
13
- return Result.fail(new RedirectNotAuthorizedError());
6
+ constructor(permissions, repository){
7
+ this.permissions = permissions;
8
+ this.repository = repository;
9
+ }
10
+ async execute() {
11
+ const hasPermission = await this.permissions.canRead("redirect");
12
+ if (!hasPermission) return Result.fail(new RedirectNotAuthorizedError());
13
+ return await this.repository.execute();
14
14
  }
15
- return await this.repository.execute();
16
- }
17
15
  }
18
- export const GetActiveRedirectsUseCase = createImplementation({
19
- abstraction: UseCaseAbstraction,
20
- implementation: GetActiveRedirectsUseCaseImpl,
21
- dependencies: [WbPermissions, GetActiveRedirectsRepository]
16
+ const GetActiveRedirectsUseCase_GetActiveRedirectsUseCase = createImplementation({
17
+ abstraction: GetActiveRedirectsUseCase,
18
+ implementation: GetActiveRedirectsUseCaseImpl,
19
+ dependencies: [
20
+ WbPermissions,
21
+ GetActiveRedirectsRepository
22
+ ]
22
23
  });
24
+ export { GetActiveRedirectsUseCase_GetActiveRedirectsUseCase as GetActiveRedirectsUseCase };
23
25
 
24
26
  //# sourceMappingURL=GetActiveRedirectsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","GetActiveRedirectsUseCase","UseCaseAbstraction","GetActiveRedirectsRepository","WbPermissions","RedirectNotAuthorizedError","GetActiveRedirectsUseCaseImpl","constructor","permissions","repository","execute","hasPermission","canRead","fail","abstraction","implementation","dependencies"],"sources":["GetActiveRedirectsUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n GetActiveRedirectsUseCase as UseCaseAbstraction,\n GetActiveRedirectsRepository\n} from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass GetActiveRedirectsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private repository: GetActiveRedirectsRepository.Interface\n ) {}\n\n async execute(): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n return await this.repository.execute();\n }\n}\n\nexport const GetActiveRedirectsUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetActiveRedirectsUseCaseImpl,\n dependencies: [WbPermissions, GetActiveRedirectsRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,yBAAyB,IAAIC,kBAAkB,EAC/CC,4BAA4B;AAEhC,SAASC,aAAa;AACtB,SAASC,0BAA0B;AAEnC,MAAMC,6BAA6B,CAAyC;EACxEC,WAAWA,CACCC,WAAoC,EACpCC,UAAkD,EAC5D;IAAA,KAFUD,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,UAAkD,GAAlDA,UAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAAA,EAA8B;IACvC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACH,WAAW,CAACI,OAAO,CAAC,UAAU,CAAC;IAChE,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOZ,MAAM,CAACc,IAAI,CAAC,IAAIR,0BAA0B,CAAC,CAAC,CAAC;IACxD;IAEA,OAAO,MAAM,IAAI,CAACI,UAAU,CAACC,OAAO,CAAC,CAAC;EAC1C;AACJ;AAEA,OAAO,MAAMT,yBAAyB,GAAGD,oBAAoB,CAAC;EAC1Dc,WAAW,EAAEZ,kBAAkB;EAC/Ba,cAAc,EAAET,6BAA6B;EAC7CU,YAAY,EAAE,CAACZ,aAAa,EAAED,4BAA4B;AAC9D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js","sources":["../../../../src/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n GetActiveRedirectsUseCase as UseCaseAbstraction,\n GetActiveRedirectsRepository\n} from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass GetActiveRedirectsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private repository: GetActiveRedirectsRepository.Interface\n ) {}\n\n async execute(): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n return await this.repository.execute();\n }\n}\n\nexport const GetActiveRedirectsUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetActiveRedirectsUseCaseImpl,\n dependencies: [WbPermissions, GetActiveRedirectsRepository]\n});\n"],"names":["GetActiveRedirectsUseCaseImpl","permissions","repository","hasPermission","Result","RedirectNotAuthorizedError","GetActiveRedirectsUseCase","createImplementation","UseCaseAbstraction","WbPermissions","GetActiveRedirectsRepository"],"mappings":";;;;AAQA,MAAMA;IACF,YACYC,WAAoC,EACpCC,UAAkD,CAC5D;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,UAAqC;QACvC,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO;IACxC;AACJ;AAEO,MAAMC,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBR;IAChB,cAAc;QAACS;QAAeC;KAA6B;AAC/D"}
@@ -1,16 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * GetActiveRedirects repository interface
5
- */
6
-
7
- export const GetActiveRedirectsRepository = createAbstraction("Wb/GetActiveRedirectsRepository");
8
-
9
- /**
10
- * GetActiveRedirects use case interface
11
- */
12
-
13
- /** Retrieve all active URL redirects. */
14
- export const GetActiveRedirectsUseCase = createAbstraction("Wb/GetActiveRedirectsUseCase");
2
+ const GetActiveRedirectsRepository = createAbstraction("Wb/GetActiveRedirectsRepository");
3
+ const GetActiveRedirectsUseCase = createAbstraction("Wb/GetActiveRedirectsUseCase");
4
+ export { GetActiveRedirectsRepository, GetActiveRedirectsUseCase };
15
5
 
16
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetActiveRedirectsRepository","GetActiveRedirectsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport type {\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n/**\n * GetActiveRedirects repository interface\n */\nexport interface IGetActiveRedirectsRepository {\n execute(): Promise<Result<WbRedirect[], RepositoryError>>;\n}\n\nexport interface IGetActiveRedirectsRepositoryErrors {\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError =\n IGetActiveRedirectsRepositoryErrors[keyof IGetActiveRedirectsRepositoryErrors];\n\nexport const GetActiveRedirectsRepository = createAbstraction<IGetActiveRedirectsRepository>(\n \"Wb/GetActiveRedirectsRepository\"\n);\n\nexport namespace GetActiveRedirectsRepository {\n export type Interface = IGetActiveRedirectsRepository;\n export type Error = RepositoryError;\n export type Return = Promise<Result<WbRedirect[], RepositoryError>>;\n export type Redirect = WbRedirect;\n}\n\n/**\n * GetActiveRedirects use case interface\n */\nexport interface IGetActiveRedirectsUseCase {\n execute(): Promise<Result<WbRedirect[], UseCaseError>>;\n}\n\nexport interface IGetActiveRedirectsUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IGetActiveRedirectsUseCaseErrors[keyof IGetActiveRedirectsUseCaseErrors];\n\n/** Retrieve all active URL redirects. */\nexport const GetActiveRedirectsUseCase = createAbstraction<IGetActiveRedirectsUseCase>(\n \"Wb/GetActiveRedirectsUseCase\"\n);\n\nexport namespace GetActiveRedirectsUseCase {\n export type Interface = IGetActiveRedirectsUseCase;\n export type Return = Promise<Result<WbRedirect[], UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAYA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,iCACJ,CAAC;;AASD;AACA;AACA;;AAYA;AACA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,8BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/GetActiveRedirects/abstractions.js","sources":["../../../../src/features/redirects/GetActiveRedirects/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport type {\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n/**\n * GetActiveRedirects repository interface\n */\nexport interface IGetActiveRedirectsRepository {\n execute(): Promise<Result<WbRedirect[], RepositoryError>>;\n}\n\nexport interface IGetActiveRedirectsRepositoryErrors {\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError =\n IGetActiveRedirectsRepositoryErrors[keyof IGetActiveRedirectsRepositoryErrors];\n\nexport const GetActiveRedirectsRepository = createAbstraction<IGetActiveRedirectsRepository>(\n \"Wb/GetActiveRedirectsRepository\"\n);\n\nexport namespace GetActiveRedirectsRepository {\n export type Interface = IGetActiveRedirectsRepository;\n export type Error = RepositoryError;\n export type Return = Promise<Result<WbRedirect[], RepositoryError>>;\n export type Redirect = WbRedirect;\n}\n\n/**\n * GetActiveRedirects use case interface\n */\nexport interface IGetActiveRedirectsUseCase {\n execute(): Promise<Result<WbRedirect[], UseCaseError>>;\n}\n\nexport interface IGetActiveRedirectsUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IGetActiveRedirectsUseCaseErrors[keyof IGetActiveRedirectsUseCaseErrors];\n\n/** Retrieve all active URL redirects. */\nexport const GetActiveRedirectsUseCase = createAbstraction<IGetActiveRedirectsUseCase>(\n \"Wb/GetActiveRedirectsUseCase\"\n);\n\nexport namespace GetActiveRedirectsUseCase {\n export type Interface = IGetActiveRedirectsUseCase;\n export type Return = Promise<Result<WbRedirect[], UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n"],"names":["GetActiveRedirectsRepository","createAbstraction","GetActiveRedirectsUseCase"],"mappings":";AAsBO,MAAMA,+BAA+BC,kBACxC;AAyBG,MAAMC,4BAA4BD,kBACrC"}