@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 +1 @@
1
- {"version":3,"names":["DomainEvent","RedirectBeforeMoveEventHandler","RedirectAfterMoveEventHandler","RedirectBeforeMoveEvent","eventType","getHandlerAbstraction","RedirectAfterMoveEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RedirectBeforeMoveEventHandler, RedirectAfterMoveEventHandler } from \"./abstractions.js\";\nimport type { RedirectBeforeMovePayload, RedirectAfterMovePayload } from \"./abstractions.js\";\n\n// RedirectBeforeMove Event\nexport class RedirectBeforeMoveEvent extends DomainEvent<RedirectBeforeMovePayload> {\n eventType = \"redirect.beforeMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeMoveEventHandler;\n }\n}\n\n// RedirectAfterMove Event\nexport class RedirectAfterMoveEvent extends DomainEvent<RedirectAfterMovePayload> {\n eventType = \"redirect.afterMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterMoveEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,8BAA8B,EAAEC,6BAA6B;AAGtE;AACA,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,8BAA8B;EACzC;AACJ;;AAEA;AACA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,6BAA6B;EACxC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/MoveRedirect/events.js","sources":["../../../../src/features/redirects/MoveRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RedirectBeforeMoveEventHandler, RedirectAfterMoveEventHandler } from \"./abstractions.js\";\nimport type { RedirectBeforeMovePayload, RedirectAfterMovePayload } from \"./abstractions.js\";\n\n// RedirectBeforeMove Event\nexport class RedirectBeforeMoveEvent extends DomainEvent<RedirectBeforeMovePayload> {\n eventType = \"redirect.beforeMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeMoveEventHandler;\n }\n}\n\n// RedirectAfterMove Event\nexport class RedirectAfterMoveEvent extends DomainEvent<RedirectAfterMovePayload> {\n eventType = \"redirect.afterMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterMoveEventHandler;\n }\n}\n"],"names":["RedirectBeforeMoveEvent","DomainEvent","RedirectBeforeMoveEventHandler","RedirectAfterMoveEvent","RedirectAfterMoveEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,+BAA+BF;IAGxC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { MoveRedirectRepository } from "./MoveRedirectRepository.js";
3
3
  import { MoveRedirectUseCase } from "./MoveRedirectUseCase.js";
4
- export const MoveRedirectFeature = createFeature({
5
- name: "WebsiteBuilder/MoveRedirect",
6
- register(container) {
7
- container.register(MoveRedirectRepository).inSingletonScope();
8
- container.register(MoveRedirectUseCase);
9
- }
4
+ const MoveRedirectFeature = createFeature({
5
+ name: "WebsiteBuilder/MoveRedirect",
6
+ register (container) {
7
+ container.register(MoveRedirectRepository).inSingletonScope();
8
+ container.register(MoveRedirectUseCase);
9
+ }
10
10
  });
11
+ export { MoveRedirectFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","MoveRedirectRepository","MoveRedirectUseCase","MoveRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MoveRedirectRepository } from \"./MoveRedirectRepository.js\";\nimport { MoveRedirectUseCase } from \"./MoveRedirectUseCase.js\";\n\nexport const MoveRedirectFeature = createFeature({\n name: \"WebsiteBuilder/MoveRedirect\",\n register(container) {\n container.register(MoveRedirectRepository).inSingletonScope();\n container.register(MoveRedirectUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,mBAAmB,GAAGH,aAAa,CAAC;EAC7CI,IAAI,EAAE,6BAA6B;EACnCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,sBAAsB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC7DD,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC;EAC3C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/MoveRedirect/feature.js","sources":["../../../../src/features/redirects/MoveRedirect/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MoveRedirectRepository } from \"./MoveRedirectRepository.js\";\nimport { MoveRedirectUseCase } from \"./MoveRedirectUseCase.js\";\n\nexport const MoveRedirectFeature = createFeature({\n name: \"WebsiteBuilder/MoveRedirect\",\n register(container) {\n container.register(MoveRedirectRepository).inSingletonScope();\n container.register(MoveRedirectUseCase);\n }\n});\n"],"names":["MoveRedirectFeature","createFeature","container","MoveRedirectRepository","MoveRedirectUseCase"],"mappings":";;;AAIO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,wBAAwB,gBAAgB;QAC3DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -1,3 +1 @@
1
- export { RedirectAfterMoveEventHandler, RedirectBeforeMoveEventHandler, MoveRedirectUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { MoveRedirectUseCase, RedirectAfterMoveEventHandler, RedirectBeforeMoveEventHandler } from "./abstractions.js";
@@ -1,47 +1,43 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry";
3
3
  import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
4
- import { UpdateRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
4
+ import { UpdateRedirectRepository } from "./abstractions.js";
5
5
  import { RedirectModel } from "../../../domain/redirect/abstractions.js";
6
- import { RedirectValidationError, RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
6
+ import { RedirectNotFoundError, RedirectPersistenceError, RedirectValidationError } from "../../../domain/redirect/errors.js";
7
7
  import { EntryToRedirectMapper } from "../../../domain/redirect/EntryToRedirectMapper.js";
8
8
  class UpdateRedirectRepositoryImpl {
9
- constructor(redirectModel, updateEntry, getEntryById) {
10
- this.redirectModel = redirectModel;
11
- this.updateEntry = updateEntry;
12
- this.getEntryById = getEntryById;
13
- }
14
- async execute(id, data) {
15
- // First, validate the redirect exists
16
- const getResult = await this.getEntryById.execute(this.redirectModel, id);
17
- if (getResult.isFail()) {
18
- if (getResult.error.code === "Cms/Entry/NotFound") {
19
- return Result.fail(new RedirectNotFoundError(id));
20
- }
21
- return Result.fail(new RedirectPersistenceError(getResult.error));
9
+ constructor(redirectModel, updateEntry, getEntryById){
10
+ this.redirectModel = redirectModel;
11
+ this.updateEntry = updateEntry;
12
+ this.getEntryById = getEntryById;
22
13
  }
23
-
24
- // Update the entry
25
- const result = await this.updateEntry.execute(this.redirectModel, id, {
26
- location: data.location,
27
- values: data
28
- });
29
- if (result.isFail()) {
30
- if (result.error.code === "Cms/Entry/ValidationError") {
31
- return Result.fail(new RedirectValidationError(result.error.message));
32
- }
33
- if (result.error.code === "Cms/Entry/NotFound") {
34
- return Result.fail(new RedirectNotFoundError(id));
35
- }
36
- return Result.fail(new RedirectPersistenceError(result.error));
14
+ async execute(id, data) {
15
+ const getResult = await this.getEntryById.execute(this.redirectModel, id);
16
+ if (getResult.isFail()) {
17
+ if ("Cms/Entry/NotFound" === getResult.error.code) return Result.fail(new RedirectNotFoundError(id));
18
+ return Result.fail(new RedirectPersistenceError(getResult.error));
19
+ }
20
+ const result = await this.updateEntry.execute(this.redirectModel, id, {
21
+ location: data.location,
22
+ values: data
23
+ });
24
+ if (result.isFail()) {
25
+ if ("Cms/Entry/ValidationError" === result.error.code) return Result.fail(new RedirectValidationError(result.error.message));
26
+ if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new RedirectNotFoundError(id));
27
+ return Result.fail(new RedirectPersistenceError(result.error));
28
+ }
29
+ const redirect = EntryToRedirectMapper.toRedirect(result.value);
30
+ return Result.ok(redirect);
37
31
  }
38
- const redirect = EntryToRedirectMapper.toRedirect(result.value);
39
- return Result.ok(redirect);
40
- }
41
32
  }
42
- export const UpdateRedirectRepository = RepositoryAbstraction.createImplementation({
43
- implementation: UpdateRedirectRepositoryImpl,
44
- dependencies: [RedirectModel, UpdateEntryUseCase, GetEntryByIdUseCase]
33
+ const UpdateRedirectRepository_UpdateRedirectRepository = UpdateRedirectRepository.createImplementation({
34
+ implementation: UpdateRedirectRepositoryImpl,
35
+ dependencies: [
36
+ RedirectModel,
37
+ UpdateEntryUseCase,
38
+ GetEntryByIdUseCase
39
+ ]
45
40
  });
41
+ export { UpdateRedirectRepository_UpdateRedirectRepository as UpdateRedirectRepository };
46
42
 
47
43
  //# sourceMappingURL=UpdateRedirectRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","UpdateEntryUseCase","GetEntryByIdUseCase","UpdateRedirectRepository","RepositoryAbstraction","RedirectModel","RedirectValidationError","RedirectNotFoundError","RedirectPersistenceError","EntryToRedirectMapper","UpdateRedirectRepositoryImpl","constructor","redirectModel","updateEntry","getEntryById","execute","id","data","getResult","isFail","error","code","fail","result","location","values","message","redirect","toRedirect","value","ok","createImplementation","implementation","dependencies"],"sources":["UpdateRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { UpdateRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectValidationError,\n RedirectNotFoundError,\n RedirectPersistenceError\n} from \"~/domain/redirect/errors.js\";\nimport { EntryToRedirectMapper } from \"~/domain/redirect/EntryToRedirectMapper.js\";\n\nclass UpdateRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private updateEntry: UpdateEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface\n ) {}\n\n async execute(\n id: string,\n data: RepositoryAbstraction.UpdateData\n ): RepositoryAbstraction.Return {\n // First, validate the redirect exists\n const getResult = await this.getEntryById.execute(this.redirectModel, id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(getResult.error));\n }\n\n // Update the entry\n const result = await this.updateEntry.execute(this.redirectModel, id, {\n location: data.location,\n values: data\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new RedirectValidationError(result.error.message));\n }\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const redirect = EntryToRedirectMapper.toRedirect(result.value);\n return Result.ok(redirect);\n }\n}\n\nexport const UpdateRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateRedirectRepositoryImpl,\n dependencies: [RedirectModel, UpdateEntryUseCase, GetEntryByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,wBAAwB,IAAIC,qBAAqB;AAC1D,SAASC,aAAa;AACtB,SACIC,uBAAuB,EACvBC,qBAAqB,EACrBC,wBAAwB;AAE5B,SAASC,qBAAqB;AAE9B,MAAMC,4BAA4B,CAA4C;EAC1EC,WAAWA,CACCC,aAAsC,EACtCC,WAAyC,EACzCC,YAA2C,EACrD;IAAA,KAHUF,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,YAA2C,GAA3CA,YAA2C;EACpD;EAEH,MAAMC,OAAOA,CACTC,EAAU,EACVC,IAAsC,EACV;IAC5B;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAAC,IAAI,CAACH,aAAa,EAAEI,EAAE,CAAC;IAEzE,IAAIE,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,IAAID,SAAS,CAACE,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC/C,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIf,qBAAqB,CAACS,EAAE,CAAC,CAAC;MACrD;MACA,OAAOhB,MAAM,CAACsB,IAAI,CAAC,IAAId,wBAAwB,CAACU,SAAS,CAACE,KAAK,CAAC,CAAC;IACrE;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACV,WAAW,CAACE,OAAO,CAAC,IAAI,CAACH,aAAa,EAAEI,EAAE,EAAE;MAClEQ,QAAQ,EAAEP,IAAI,CAACO,QAAQ;MACvBC,MAAM,EAAER;IACZ,CAAC,CAAC;IAEF,IAAIM,MAAM,CAACJ,MAAM,CAAC,CAAC,EAAE;MACjB,IAAII,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,2BAA2B,EAAE;QACnD,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIhB,uBAAuB,CAACiB,MAAM,CAACH,KAAK,CAACM,OAAO,CAAC,CAAC;MACzE;MACA,IAAIH,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIf,qBAAqB,CAACS,EAAE,CAAC,CAAC;MACrD;MACA,OAAOhB,MAAM,CAACsB,IAAI,CAAC,IAAId,wBAAwB,CAACe,MAAM,CAACH,KAAK,CAAC,CAAC;IAClE;IAEA,MAAMO,QAAQ,GAAGlB,qBAAqB,CAACmB,UAAU,CAACL,MAAM,CAACM,KAAK,CAAC;IAC/D,OAAO7B,MAAM,CAAC8B,EAAE,CAACH,QAAQ,CAAC;EAC9B;AACJ;AAEA,OAAO,MAAMxB,wBAAwB,GAAGC,qBAAqB,CAAC2B,oBAAoB,CAAC;EAC/EC,cAAc,EAAEtB,4BAA4B;EAC5CuB,YAAY,EAAE,CAAC5B,aAAa,EAAEJ,kBAAkB,EAAEC,mBAAmB;AACzE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/UpdateRedirect/UpdateRedirectRepository.js","sources":["../../../../src/features/redirects/UpdateRedirect/UpdateRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { UpdateRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectValidationError,\n RedirectNotFoundError,\n RedirectPersistenceError\n} from \"~/domain/redirect/errors.js\";\nimport { EntryToRedirectMapper } from \"~/domain/redirect/EntryToRedirectMapper.js\";\n\nclass UpdateRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private updateEntry: UpdateEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface\n ) {}\n\n async execute(\n id: string,\n data: RepositoryAbstraction.UpdateData\n ): RepositoryAbstraction.Return {\n // First, validate the redirect exists\n const getResult = await this.getEntryById.execute(this.redirectModel, id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(getResult.error));\n }\n\n // Update the entry\n const result = await this.updateEntry.execute(this.redirectModel, id, {\n location: data.location,\n values: data\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new RedirectValidationError(result.error.message));\n }\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const redirect = EntryToRedirectMapper.toRedirect(result.value);\n return Result.ok(redirect);\n }\n}\n\nexport const UpdateRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateRedirectRepositoryImpl,\n dependencies: [RedirectModel, UpdateEntryUseCase, GetEntryByIdUseCase]\n});\n"],"names":["UpdateRedirectRepositoryImpl","redirectModel","updateEntry","getEntryById","id","data","getResult","Result","RedirectNotFoundError","RedirectPersistenceError","result","RedirectValidationError","redirect","EntryToRedirectMapper","UpdateRedirectRepository","RepositoryAbstraction","RedirectModel","UpdateEntryUseCase","GetEntryByIdUseCase"],"mappings":";;;;;;;AAYA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAAyC,EACzCC,YAA2C,CACrD;aAHUF,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,YAAY,GAAZA;IACT;IAEH,MAAM,QACFC,EAAU,EACVC,IAAsC,EACV;QAE5B,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAEF;QAEtE,IAAIE,UAAU,MAAM,IAAI;YACpB,IAAIA,AAAyB,yBAAzBA,UAAU,KAAK,CAAC,IAAI,EACpB,OAAOC,OAAO,IAAI,CAAC,IAAIC,sBAAsBJ;YAEjD,OAAOG,OAAO,IAAI,CAAC,IAAIE,yBAAyBH,UAAU,KAAK;QACnE;QAGA,MAAMI,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAEN,IAAI;YAClE,UAAUC,KAAK,QAAQ;YACvB,QAAQA;QACZ;QAEA,IAAIK,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,gCAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOH,OAAO,IAAI,CAAC,IAAII,wBAAwBD,OAAO,KAAK,CAAC,OAAO;YAEvE,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOH,OAAO,IAAI,CAAC,IAAIC,sBAAsBJ;YAEjD,OAAOG,OAAO,IAAI,CAAC,IAAIE,yBAAyBC,OAAO,KAAK;QAChE;QAEA,MAAME,WAAWC,sBAAsB,UAAU,CAACH,OAAO,KAAK;QAC9D,OAAOH,OAAO,EAAE,CAACK;IACrB;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBf;IAChB,cAAc;QAACgB;QAAeC;QAAoBC;KAAoB;AAC1E"}
@@ -1,66 +1,56 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
- import { UpdateRedirectUseCase as UseCaseAbstraction, UpdateRedirectRepository } from "./abstractions.js";
4
- import { RedirectBeforeUpdateEvent, RedirectAfterUpdateEvent } from "./events.js";
3
+ import { UpdateRedirectRepository, UpdateRedirectUseCase } from "./abstractions.js";
4
+ import { RedirectAfterUpdateEvent, RedirectBeforeUpdateEvent } 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 UpdateRedirectUseCaseImpl {
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(id, data) {
16
- const hasPermission = await this.permissions.canEdit("redirect");
17
- if (!hasPermission) {
18
- return Result.fail(new RedirectNotAuthorizedError());
9
+ constructor(permissions, eventPublisher, getRedirectById, repository){
10
+ this.permissions = permissions;
11
+ this.eventPublisher = eventPublisher;
12
+ this.getRedirectById = getRedirectById;
13
+ this.repository = repository;
19
14
  }
20
-
21
- // Get the original redirect for events
22
- const getResult = await this.getRedirectById.execute(id);
23
- if (getResult.isFail()) {
24
- return getResult;
25
- }
26
- const original = getResult.value;
27
- const canEdit = await this.permissions.canEdit("redirect", original);
28
- if (!canEdit) {
29
- return Result.fail(new RedirectNotAuthorizedError());
30
- }
31
-
32
- // Publish before update event
33
- const beforeEvent = new RedirectBeforeUpdateEvent({
34
- original,
35
- input: {
36
- id,
37
- data
38
- }
39
- });
40
- await this.eventPublisher.publish(beforeEvent);
41
-
42
- // Execute the update operation
43
- const result = await this.repository.execute(id, data);
44
- if (result.isFail()) {
45
- return result;
15
+ async execute(id, data) {
16
+ const hasPermission = await this.permissions.canEdit("redirect");
17
+ if (!hasPermission) return Result.fail(new RedirectNotAuthorizedError());
18
+ const getResult = await this.getRedirectById.execute(id);
19
+ if (getResult.isFail()) return getResult;
20
+ const original = getResult.value;
21
+ const canEdit = await this.permissions.canEdit("redirect", original);
22
+ if (!canEdit) return Result.fail(new RedirectNotAuthorizedError());
23
+ const beforeEvent = new RedirectBeforeUpdateEvent({
24
+ original,
25
+ input: {
26
+ id,
27
+ data
28
+ }
29
+ });
30
+ await this.eventPublisher.publish(beforeEvent);
31
+ const result = await this.repository.execute(id, data);
32
+ if (result.isFail()) return result;
33
+ const afterEvent = new RedirectAfterUpdateEvent({
34
+ original,
35
+ input: {
36
+ id,
37
+ data
38
+ },
39
+ redirect: result.value
40
+ });
41
+ await this.eventPublisher.publish(afterEvent);
42
+ return Result.ok(result.value);
46
43
  }
47
-
48
- // Publish after update event
49
- const afterEvent = new RedirectAfterUpdateEvent({
50
- original,
51
- input: {
52
- id,
53
- data
54
- },
55
- redirect: result.value
56
- });
57
- await this.eventPublisher.publish(afterEvent);
58
- return Result.ok(result.value);
59
- }
60
44
  }
61
- export const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({
62
- implementation: UpdateRedirectUseCaseImpl,
63
- dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]
45
+ const UpdateRedirectUseCase_UpdateRedirectUseCase = UpdateRedirectUseCase.createImplementation({
46
+ implementation: UpdateRedirectUseCaseImpl,
47
+ dependencies: [
48
+ WbPermissions,
49
+ EventPublisher,
50
+ GetRedirectByIdUseCase,
51
+ UpdateRedirectRepository
52
+ ]
64
53
  });
54
+ export { UpdateRedirectUseCase_UpdateRedirectUseCase as UpdateRedirectUseCase };
65
55
 
66
56
  //# sourceMappingURL=UpdateRedirectUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","EventPublisher","UpdateRedirectUseCase","UseCaseAbstraction","UpdateRedirectRepository","RedirectBeforeUpdateEvent","RedirectAfterUpdateEvent","GetRedirectByIdUseCase","WbPermissions","RedirectNotAuthorizedError","UpdateRedirectUseCaseImpl","constructor","permissions","eventPublisher","getRedirectById","repository","execute","id","data","hasPermission","canEdit","fail","getResult","isFail","original","value","beforeEvent","input","publish","result","afterEvent","redirect","ok","createImplementation","implementation","dependencies"],"sources":["UpdateRedirectUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n UpdateRedirectUseCase as UseCaseAbstraction,\n UpdateRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeUpdateEvent, RedirectAfterUpdateEvent } 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 UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: UpdateRedirectRepository.Interface\n ) {}\n\n async execute(id: string, data: UseCaseAbstraction.UpdateData): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canEdit(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Get the original redirect for events\n const getResult = await this.getRedirectById.execute(id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n const canEdit = await this.permissions.canEdit(\"redirect\", original);\n if (!canEdit) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Publish before update event\n const beforeEvent = new RedirectBeforeUpdateEvent({\n original,\n input: { id, data }\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the update operation\n const result = await this.repository.execute(id, data);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after update event\n const afterEvent = new RedirectAfterUpdateEvent({\n original,\n input: { id, data },\n redirect: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,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,EAAU,EAAEC,IAAmC,EAA6B;IACtF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACP,WAAW,CAACQ,OAAO,CAAC,UAAU,CAAC;IAChE,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,CAAC,CAAC;IACxD;;IAEA;IACA,MAAMa,SAAS,GAAG,MAAM,IAAI,CAACR,eAAe,CAACE,OAAO,CAACC,EAAE,CAAC;IAExD,IAAIK,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOD,SAAS;IACpB;IAEA,MAAME,QAAQ,GAAGF,SAAS,CAACG,KAAK;IAEhC,MAAML,OAAO,GAAG,MAAM,IAAI,CAACR,WAAW,CAACQ,OAAO,CAAC,UAAU,EAAEI,QAAQ,CAAC;IACpE,IAAI,CAACJ,OAAO,EAAE;MACV,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,CAAC,CAAC;IACxD;;IAEA;IACA,MAAMiB,WAAW,GAAG,IAAIrB,yBAAyB,CAAC;MAC9CmB,QAAQ;MACRG,KAAK,EAAE;QAAEV,EAAE;QAAEC;MAAK;IACtB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACL,cAAc,CAACe,OAAO,CAACF,WAAW,CAAC;;IAE9C;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,EAAE,EAAEC,IAAI,CAAC;IAEtD,IAAIW,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,wBAAwB,CAAC;MAC5CkB,QAAQ;MACRG,KAAK,EAAE;QAAEV,EAAE;QAAEC;MAAK,CAAC;MACnBa,QAAQ,EAAEF,MAAM,CAACJ;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO9B,MAAM,CAACgC,EAAE,CAACH,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,qBAAqB,GAAGC,kBAAkB,CAAC8B,oBAAoB,CAAC;EACzEC,cAAc,EAAExB,yBAAyB;EACzCyB,YAAY,EAAE,CAAC3B,aAAa,EAAEP,cAAc,EAAEM,sBAAsB,EAAEH,wBAAwB;AAClG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/redirects/UpdateRedirect/UpdateRedirectUseCase.js","sources":["../../../../src/features/redirects/UpdateRedirect/UpdateRedirectUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n UpdateRedirectUseCase as UseCaseAbstraction,\n UpdateRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeUpdateEvent, RedirectAfterUpdateEvent } 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 UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: UpdateRedirectRepository.Interface\n ) {}\n\n async execute(id: string, data: UseCaseAbstraction.UpdateData): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canEdit(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Get the original redirect for events\n const getResult = await this.getRedirectById.execute(id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n const canEdit = await this.permissions.canEdit(\"redirect\", original);\n if (!canEdit) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Publish before update event\n const beforeEvent = new RedirectBeforeUpdateEvent({\n original,\n input: { id, data }\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the update operation\n const result = await this.repository.execute(id, data);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after update event\n const afterEvent = new RedirectAfterUpdateEvent({\n original,\n input: { id, data },\n redirect: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]\n});\n"],"names":["UpdateRedirectUseCaseImpl","permissions","eventPublisher","getRedirectById","repository","id","data","hasPermission","Result","RedirectNotAuthorizedError","getResult","original","canEdit","beforeEvent","RedirectBeforeUpdateEvent","result","afterEvent","RedirectAfterUpdateEvent","UpdateRedirectUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetRedirectByIdUseCase","UpdateRedirectRepository"],"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,EAAU,EAAEC,IAAmC,EAA6B;QACtF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACL;QAErD,IAAIK,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,WAAWD,UAAU,KAAK;QAEhC,MAAME,UAAU,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAYD;QAC3D,IAAI,CAACC,SACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMI,cAAc,IAAIC,0BAA0B;YAC9CH;YACA,OAAO;gBAAEN;gBAAIC;YAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACO;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACV,IAAIC;QAEjD,IAAIS,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,yBAAyB;YAC5CN;YACA,OAAO;gBAAEN;gBAAIC;YAAK;YAClB,UAAUS,OAAO,KAAK;QAC1B;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgBnB;IAChB,cAAc;QAACoB;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 UpdateRedirectRepository = createAbstraction("Wb/UpdateRedirectRepository");
12
-
13
- // ============================================================================
14
- // Use Case Abstraction
15
- // ============================================================================
16
-
17
- /** Update a URL redirect. */
18
- export const UpdateRedirectUseCase = createAbstraction("Wb/UpdateRedirectUseCase");
19
-
20
- // ============================================================================
21
- // Event Payload Types
22
- // ============================================================================
23
-
24
- // ============================================================================
25
- // Event Handler Abstractions
26
- // ============================================================================
27
-
28
- /** Hook into redirect lifecycle before a redirect is updated. */
29
- export const RedirectBeforeUpdateEventHandler = createAbstraction("Wb/RedirectBeforeUpdateEventHandler");
30
- /** Hook into redirect lifecycle after a redirect is updated. */
31
- export const RedirectAfterUpdateEventHandler = createAbstraction("Wb/RedirectAfterUpdateEventHandler");
2
+ const UpdateRedirectRepository = createAbstraction("Wb/UpdateRedirectRepository");
3
+ const UpdateRedirectUseCase = createAbstraction("Wb/UpdateRedirectUseCase");
4
+ const RedirectBeforeUpdateEventHandler = createAbstraction("Wb/RedirectBeforeUpdateEventHandler");
5
+ const RedirectAfterUpdateEventHandler = createAbstraction("Wb/RedirectAfterUpdateEventHandler");
6
+ export { RedirectAfterUpdateEventHandler, RedirectBeforeUpdateEventHandler, UpdateRedirectRepository, UpdateRedirectUseCase };
32
7
 
33
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateRedirectRepository","UpdateRedirectUseCase","RedirectBeforeUpdateEventHandler","RedirectAfterUpdateEventHandler"],"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 type { WbLocation } from \"~/domain/shared/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectValidationError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IUpdateWbRedirectData {\n location?: WbLocation;\n redirectFrom?: string;\n redirectTo?: string;\n redirectType?: string;\n isEnabled?: boolean;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IUpdateRedirectRepository {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;\n}\n\nexport interface IUpdateRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IUpdateRedirectRepositoryErrors[keyof IUpdateRedirectRepositoryErrors];\n\nexport const UpdateRedirectRepository = createAbstraction<IUpdateRedirectRepository>(\n \"Wb/UpdateRedirectRepository\"\n);\n\nexport namespace UpdateRedirectRepository {\n export type Interface = IUpdateRedirectRepository;\n export type UpdateData = IUpdateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, RepositoryError>>;\n export type Error = RepositoryError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IUpdateRedirectUseCase {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;\n}\n\nexport interface IUpdateRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IUpdateRedirectUseCaseErrors[keyof IUpdateRedirectUseCaseErrors];\n\n/** Update a URL redirect. */\nexport const UpdateRedirectUseCase = createAbstraction<IUpdateRedirectUseCase>(\n \"Wb/UpdateRedirectUseCase\"\n);\n\nexport namespace UpdateRedirectUseCase {\n export type Interface = IUpdateRedirectUseCase;\n export type UpdateData = IUpdateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n}\n\nexport interface RedirectAfterUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is updated. */\nexport const RedirectBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>\n>(\"Wb/RedirectBeforeUpdateEventHandler\");\n\nexport namespace RedirectBeforeUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>;\n export type Event = DomainEvent<RedirectBeforeUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is updated. */\nexport const RedirectAfterUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>\n>(\"Wb/RedirectAfterUpdateEventHandler\");\n\nexport namespace RedirectAfterUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>;\n export type Event = DomainEvent<RedirectAfterUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAYpE;AACA;AACA;;AAUA;AACA;AACA;;AAcA,OAAO,MAAMC,wBAAwB,GAAGD,iBAAiB,CACrD,6BACJ,CAAC;;AAUD;AACA;AACA;;AAeA;AACA,OAAO,MAAME,qBAAqB,GAAGF,iBAAiB,CAClD,0BACJ,CAAC;;AAUD;AACA;AACA;;AAmBA;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/UpdateRedirect/abstractions.js","sources":["../../../../src/features/redirects/UpdateRedirect/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 type { WbLocation } from \"~/domain/shared/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectValidationError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IUpdateWbRedirectData {\n location?: WbLocation;\n redirectFrom?: string;\n redirectTo?: string;\n redirectType?: string;\n isEnabled?: boolean;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IUpdateRedirectRepository {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;\n}\n\nexport interface IUpdateRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IUpdateRedirectRepositoryErrors[keyof IUpdateRedirectRepositoryErrors];\n\nexport const UpdateRedirectRepository = createAbstraction<IUpdateRedirectRepository>(\n \"Wb/UpdateRedirectRepository\"\n);\n\nexport namespace UpdateRedirectRepository {\n export type Interface = IUpdateRedirectRepository;\n export type UpdateData = IUpdateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, RepositoryError>>;\n export type Error = RepositoryError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IUpdateRedirectUseCase {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;\n}\n\nexport interface IUpdateRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IUpdateRedirectUseCaseErrors[keyof IUpdateRedirectUseCaseErrors];\n\n/** Update a URL redirect. */\nexport const UpdateRedirectUseCase = createAbstraction<IUpdateRedirectUseCase>(\n \"Wb/UpdateRedirectUseCase\"\n);\n\nexport namespace UpdateRedirectUseCase {\n export type Interface = IUpdateRedirectUseCase;\n export type UpdateData = IUpdateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n}\n\nexport interface RedirectAfterUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is updated. */\nexport const RedirectBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>\n>(\"Wb/RedirectBeforeUpdateEventHandler\");\n\nexport namespace RedirectBeforeUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>;\n export type Event = DomainEvent<RedirectBeforeUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is updated. */\nexport const RedirectAfterUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>\n>(\"Wb/RedirectAfterUpdateEventHandler\");\n\nexport namespace RedirectAfterUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>;\n export type Event = DomainEvent<RedirectAfterUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n"],"names":["UpdateRedirectRepository","createAbstraction","UpdateRedirectUseCase","RedirectBeforeUpdateEventHandler","RedirectAfterUpdateEventHandler"],"mappings":";AAwCO,MAAMA,2BAA2BC,kBACpC;AA6BG,MAAMC,wBAAwBD,kBACjC;AAqCG,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 { RedirectBeforeUpdateEventHandler, RedirectAfterUpdateEventHandler } from "./abstractions.js";
3
- // RedirectBeforeUpdate Event
4
- export class RedirectBeforeUpdateEvent extends DomainEvent {
5
- eventType = "redirect.beforeUpdate";
6
- getHandlerAbstraction() {
7
- return RedirectBeforeUpdateEventHandler;
8
- }
2
+ import { RedirectAfterUpdateEventHandler, RedirectBeforeUpdateEventHandler } from "./abstractions.js";
3
+ class RedirectBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return RedirectBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "redirect.beforeUpdate";
9
+ }
9
10
  }
10
-
11
- // RedirectAfterUpdate Event
12
- export class RedirectAfterUpdateEvent extends DomainEvent {
13
- eventType = "redirect.afterUpdate";
14
- getHandlerAbstraction() {
15
- return RedirectAfterUpdateEventHandler;
16
- }
11
+ class RedirectAfterUpdateEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return RedirectAfterUpdateEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "redirect.afterUpdate";
17
+ }
17
18
  }
19
+ export { RedirectAfterUpdateEvent, RedirectBeforeUpdateEvent };
18
20
 
19
21
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","RedirectBeforeUpdateEventHandler","RedirectAfterUpdateEventHandler","RedirectBeforeUpdateEvent","eventType","getHandlerAbstraction","RedirectAfterUpdateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeUpdateEventHandler,\n RedirectAfterUpdateEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeUpdatePayload, RedirectAfterUpdatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeUpdate Event\nexport class RedirectBeforeUpdateEvent extends DomainEvent<RedirectBeforeUpdatePayload> {\n eventType = \"redirect.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeUpdateEventHandler;\n }\n}\n\n// RedirectAfterUpdate Event\nexport class RedirectAfterUpdateEvent extends DomainEvent<RedirectAfterUpdatePayload> {\n eventType = \"redirect.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterUpdateEventHandler;\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/UpdateRedirect/events.js","sources":["../../../../src/features/redirects/UpdateRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeUpdateEventHandler,\n RedirectAfterUpdateEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeUpdatePayload, RedirectAfterUpdatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeUpdate Event\nexport class RedirectBeforeUpdateEvent extends DomainEvent<RedirectBeforeUpdatePayload> {\n eventType = \"redirect.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeUpdateEventHandler;\n }\n}\n\n// RedirectAfterUpdate Event\nexport class RedirectAfterUpdateEvent extends DomainEvent<RedirectAfterUpdatePayload> {\n eventType = \"redirect.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterUpdateEventHandler;\n }\n}\n"],"names":["RedirectBeforeUpdateEvent","DomainEvent","RedirectBeforeUpdateEventHandler","RedirectAfterUpdateEvent","RedirectAfterUpdateEventHandler"],"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 { UpdateRedirectRepository } from "./UpdateRedirectRepository.js";
3
3
  import { UpdateRedirectUseCase } from "./UpdateRedirectUseCase.js";
4
- export const UpdateRedirectFeature = createFeature({
5
- name: "WebsiteBuilder/UpdateRedirect",
6
- register(container) {
7
- container.register(UpdateRedirectRepository).inSingletonScope();
8
- container.register(UpdateRedirectUseCase);
9
- }
4
+ const UpdateRedirectFeature = createFeature({
5
+ name: "WebsiteBuilder/UpdateRedirect",
6
+ register (container) {
7
+ container.register(UpdateRedirectRepository).inSingletonScope();
8
+ container.register(UpdateRedirectUseCase);
9
+ }
10
10
  });
11
+ export { UpdateRedirectFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateRedirectRepository","UpdateRedirectUseCase","UpdateRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateRedirectRepository } from \"./UpdateRedirectRepository.js\";\nimport { UpdateRedirectUseCase } from \"./UpdateRedirectUseCase.js\";\n\nexport const UpdateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/UpdateRedirect\",\n register(container) {\n container.register(UpdateRedirectRepository).inSingletonScope();\n container.register(UpdateRedirectUseCase);\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/UpdateRedirect/feature.js","sources":["../../../../src/features/redirects/UpdateRedirect/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateRedirectRepository } from \"./UpdateRedirectRepository.js\";\nimport { UpdateRedirectUseCase } from \"./UpdateRedirectUseCase.js\";\n\nexport const UpdateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/UpdateRedirect\",\n register(container) {\n container.register(UpdateRedirectRepository).inSingletonScope();\n container.register(UpdateRedirectUseCase);\n }\n});\n"],"names":["UpdateRedirectFeature","createFeature","container","UpdateRedirectRepository","UpdateRedirectUseCase"],"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
1
  export { RedirectAfterUpdateEventHandler, RedirectBeforeUpdateEventHandler, UpdateRedirectUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,36 +1,56 @@
1
- import { TenantModelExtension as ModelExtension } from "@webiny/tenant-manager/api/domain/TenantModelExtension.js";
2
- class TenantModelExtension {
3
- execute(extension) {
4
- extension.fields(fields => ({
5
- websiteTheme: fields.object().label("Website Theme").description("Configure a Website Builder theme for this tenant.").renderer("objectAccordionSingle", {
6
- open: false
7
- }).fields(fields => ({
8
- websiteTitle: fields.text().label("Website Title").description("Enter a website title").renderer("textInput"),
9
- primaryColor: fields.text().label("Primary Color").description("Enter a color code (e.g., #000000)").renderer("textInput").defaultValue(""),
10
- additionalColors: fields.text().list().label("Additional Colors").description("Enter a color code (e.g., #000000)").defaultValue([]).renderer("textInputs", {
11
- multiValue: {
12
- addValueButtonLabel: "Add Color"
13
- }
14
- }),
15
- font: fields.text().label("Font").description("Select a font").renderer("radioButtons").predefinedValues([{
16
- value: "InterVariable, sans-serif",
17
- label: "Inter"
18
- }, {
19
- value: "Menlo, Consolas, Monaco, monospace",
20
- label: "Menlo"
21
- }, {
22
- value: "Roboto, sans-serif",
23
- label: "Roboto"
24
- }])
25
- })).layout([["websiteTitle"], ["primaryColor"], ["additionalColors"], ["font"]])
26
- })).layout(layout => {
27
- layout.addRow(["websiteTheme"]);
28
- });
29
- }
1
+ import { TenantModelExtension } from "@webiny/tenant-manager/api/domain/TenantModelExtension.js";
2
+ class TenantModelExtension_TenantModelExtension {
3
+ execute(extension) {
4
+ extension.fields((fields)=>({
5
+ websiteTheme: fields.object().label("Website Theme").description("Configure a Website Builder theme for this tenant.").renderer("objectAccordionSingle", {
6
+ open: false
7
+ }).fields((fields)=>({
8
+ websiteTitle: fields.text().label("Website Title").description("Enter a website title").renderer("textInput"),
9
+ primaryColor: fields.text().label("Primary Color").description("Enter a color code (e.g., #000000)").renderer("textInput").defaultValue(""),
10
+ additionalColors: fields.text().list().label("Additional Colors").description("Enter a color code (e.g., #000000)").defaultValue([]).renderer("textInputs", {
11
+ multiValue: {
12
+ addValueButtonLabel: "Add Color"
13
+ }
14
+ }),
15
+ font: fields.text().label("Font").description("Select a font").renderer("radioButtons").predefinedValues([
16
+ {
17
+ value: "InterVariable, sans-serif",
18
+ label: "Inter"
19
+ },
20
+ {
21
+ value: "Menlo, Consolas, Monaco, monospace",
22
+ label: "Menlo"
23
+ },
24
+ {
25
+ value: "Roboto, sans-serif",
26
+ label: "Roboto"
27
+ }
28
+ ])
29
+ })).layout([
30
+ [
31
+ "websiteTitle"
32
+ ],
33
+ [
34
+ "primaryColor"
35
+ ],
36
+ [
37
+ "additionalColors"
38
+ ],
39
+ [
40
+ "font"
41
+ ]
42
+ ])
43
+ })).layout((layout)=>{
44
+ layout.addRow([
45
+ "websiteTheme"
46
+ ]);
47
+ });
48
+ }
30
49
  }
31
- export default ModelExtension.createImplementation({
32
- implementation: TenantModelExtension,
33
- dependencies: []
50
+ const tenantManager_TenantModelExtension = TenantModelExtension.createImplementation({
51
+ implementation: TenantModelExtension_TenantModelExtension,
52
+ dependencies: []
34
53
  });
54
+ export default tenantManager_TenantModelExtension;
35
55
 
36
56
  //# sourceMappingURL=TenantModelExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TenantModelExtension","ModelExtension","execute","extension","fields","websiteTheme","object","label","description","renderer","open","websiteTitle","text","primaryColor","defaultValue","additionalColors","list","multiValue","addValueButtonLabel","font","predefinedValues","value","layout","addRow","createImplementation","implementation","dependencies"],"sources":["TenantModelExtension.ts"],"sourcesContent":["import { TenantModelExtension as ModelExtension } from \"@webiny/tenant-manager/api/domain/TenantModelExtension.js\";\n\nclass TenantModelExtension implements ModelExtension.Interface {\n execute(extension: ModelExtension.Extension) {\n extension\n .fields(fields => ({\n websiteTheme: fields\n .object()\n .label(\"Website Theme\")\n .description(\"Configure a Website Builder theme for this tenant.\")\n .renderer(\"objectAccordionSingle\", { open: false })\n .fields(fields => ({\n websiteTitle: fields\n .text()\n .label(\"Website Title\")\n .description(\"Enter a website title\")\n .renderer(\"textInput\"),\n primaryColor: fields\n .text()\n .label(\"Primary Color\")\n .description(\"Enter a color code (e.g., #000000)\")\n .renderer(\"textInput\")\n .defaultValue(\"\"),\n additionalColors: fields\n .text()\n .list()\n .label(\"Additional Colors\")\n .description(\"Enter a color code (e.g., #000000)\")\n .defaultValue([])\n .renderer(\"textInputs\", {\n multiValue: {\n addValueButtonLabel: \"Add Color\"\n }\n }),\n font: fields\n .text()\n .label(\"Font\")\n .description(\"Select a font\")\n .renderer(\"radioButtons\")\n .predefinedValues([\n {\n value: \"InterVariable, sans-serif\",\n label: \"Inter\"\n },\n {\n value: \"Menlo, Consolas, Monaco, monospace\",\n label: \"Menlo\"\n },\n {\n value: \"Roboto, sans-serif\",\n label: \"Roboto\"\n }\n ])\n }))\n .layout([[\"websiteTitle\"], [\"primaryColor\"], [\"additionalColors\"], [\"font\"]])\n }))\n .layout(layout => {\n layout.addRow([\"websiteTheme\"]);\n });\n }\n}\n\nexport default ModelExtension.createImplementation({\n implementation: TenantModelExtension,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,IAAIC,cAAc,QAAQ,2DAA2D;AAElH,MAAMD,oBAAoB,CAAqC;EAC3DE,OAAOA,CAACC,SAAmC,EAAE;IACzCA,SAAS,CACJC,MAAM,CAACA,MAAM,KAAK;MACfC,YAAY,EAAED,MAAM,CACfE,MAAM,CAAC,CAAC,CACRC,KAAK,CAAC,eAAe,CAAC,CACtBC,WAAW,CAAC,oDAAoD,CAAC,CACjEC,QAAQ,CAAC,uBAAuB,EAAE;QAAEC,IAAI,EAAE;MAAM,CAAC,CAAC,CAClDN,MAAM,CAACA,MAAM,KAAK;QACfO,YAAY,EAAEP,MAAM,CACfQ,IAAI,CAAC,CAAC,CACNL,KAAK,CAAC,eAAe,CAAC,CACtBC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,QAAQ,CAAC,WAAW,CAAC;QAC1BI,YAAY,EAAET,MAAM,CACfQ,IAAI,CAAC,CAAC,CACNL,KAAK,CAAC,eAAe,CAAC,CACtBC,WAAW,CAAC,oCAAoC,CAAC,CACjDC,QAAQ,CAAC,WAAW,CAAC,CACrBK,YAAY,CAAC,EAAE,CAAC;QACrBC,gBAAgB,EAAEX,MAAM,CACnBQ,IAAI,CAAC,CAAC,CACNI,IAAI,CAAC,CAAC,CACNT,KAAK,CAAC,mBAAmB,CAAC,CAC1BC,WAAW,CAAC,oCAAoC,CAAC,CACjDM,YAAY,CAAC,EAAE,CAAC,CAChBL,QAAQ,CAAC,YAAY,EAAE;UACpBQ,UAAU,EAAE;YACRC,mBAAmB,EAAE;UACzB;QACJ,CAAC,CAAC;QACNC,IAAI,EAAEf,MAAM,CACPQ,IAAI,CAAC,CAAC,CACNL,KAAK,CAAC,MAAM,CAAC,CACbC,WAAW,CAAC,eAAe,CAAC,CAC5BC,QAAQ,CAAC,cAAc,CAAC,CACxBW,gBAAgB,CAAC,CACd;UACIC,KAAK,EAAE,2BAA2B;UAClCd,KAAK,EAAE;QACX,CAAC,EACD;UACIc,KAAK,EAAE,oCAAoC;UAC3Cd,KAAK,EAAE;QACX,CAAC,EACD;UACIc,KAAK,EAAE,oBAAoB;UAC3Bd,KAAK,EAAE;QACX,CAAC,CACJ;MACT,CAAC,CAAC,CAAC,CACFe,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC,CACFA,MAAM,CAACA,MAAM,IAAI;MACdA,MAAM,CAACC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC;EACV;AACJ;AAEA,eAAetB,cAAc,CAACuB,oBAAoB,CAAC;EAC/CC,cAAc,EAAEzB,oBAAoB;EACpC0B,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/tenantManager/TenantModelExtension.js","sources":["../../../src/features/tenantManager/TenantModelExtension.ts"],"sourcesContent":["import { TenantModelExtension as ModelExtension } from \"@webiny/tenant-manager/api/domain/TenantModelExtension.js\";\n\nclass TenantModelExtension implements ModelExtension.Interface {\n execute(extension: ModelExtension.Extension) {\n extension\n .fields(fields => ({\n websiteTheme: fields\n .object()\n .label(\"Website Theme\")\n .description(\"Configure a Website Builder theme for this tenant.\")\n .renderer(\"objectAccordionSingle\", { open: false })\n .fields(fields => ({\n websiteTitle: fields\n .text()\n .label(\"Website Title\")\n .description(\"Enter a website title\")\n .renderer(\"textInput\"),\n primaryColor: fields\n .text()\n .label(\"Primary Color\")\n .description(\"Enter a color code (e.g., #000000)\")\n .renderer(\"textInput\")\n .defaultValue(\"\"),\n additionalColors: fields\n .text()\n .list()\n .label(\"Additional Colors\")\n .description(\"Enter a color code (e.g., #000000)\")\n .defaultValue([])\n .renderer(\"textInputs\", {\n multiValue: {\n addValueButtonLabel: \"Add Color\"\n }\n }),\n font: fields\n .text()\n .label(\"Font\")\n .description(\"Select a font\")\n .renderer(\"radioButtons\")\n .predefinedValues([\n {\n value: \"InterVariable, sans-serif\",\n label: \"Inter\"\n },\n {\n value: \"Menlo, Consolas, Monaco, monospace\",\n label: \"Menlo\"\n },\n {\n value: \"Roboto, sans-serif\",\n label: \"Roboto\"\n }\n ])\n }))\n .layout([[\"websiteTitle\"], [\"primaryColor\"], [\"additionalColors\"], [\"font\"]])\n }))\n .layout(layout => {\n layout.addRow([\"websiteTheme\"]);\n });\n }\n}\n\nexport default ModelExtension.createImplementation({\n implementation: TenantModelExtension,\n dependencies: []\n});\n"],"names":["TenantModelExtension","extension","fields","layout","ModelExtension"],"mappings":";AAEA,MAAMA;IACF,QAAQC,SAAmC,EAAE;QACzCA,UACK,MAAM,CAACC,CAAAA,SAAW;gBACf,cAAcA,OACT,MAAM,GACN,KAAK,CAAC,iBACN,WAAW,CAAC,sDACZ,QAAQ,CAAC,yBAAyB;oBAAE,MAAM;gBAAM,GAChD,MAAM,CAACA,CAAAA,SAAW;wBACf,cAAcA,OACT,IAAI,GACJ,KAAK,CAAC,iBACN,WAAW,CAAC,yBACZ,QAAQ,CAAC;wBACd,cAAcA,OACT,IAAI,GACJ,KAAK,CAAC,iBACN,WAAW,CAAC,sCACZ,QAAQ,CAAC,aACT,YAAY,CAAC;wBAClB,kBAAkBA,OACb,IAAI,GACJ,IAAI,GACJ,KAAK,CAAC,qBACN,WAAW,CAAC,sCACZ,YAAY,CAAC,EAAE,EACf,QAAQ,CAAC,cAAc;4BACpB,YAAY;gCACR,qBAAqB;4BACzB;wBACJ;wBACJ,MAAMA,OACD,IAAI,GACJ,KAAK,CAAC,QACN,WAAW,CAAC,iBACZ,QAAQ,CAAC,gBACT,gBAAgB,CAAC;4BACd;gCACI,OAAO;gCACP,OAAO;4BACX;4BACA;gCACI,OAAO;gCACP,OAAO;4BACX;4BACA;gCACI,OAAO;gCACP,OAAO;4BACX;yBACH;oBACT,IACC,MAAM,CAAC;oBAAC;wBAAC;qBAAe;oBAAE;wBAAC;qBAAe;oBAAE;wBAAC;qBAAmB;oBAAE;wBAAC;qBAAO;iBAAC;YACpF,IACC,MAAM,CAACC,CAAAA;YACJA,OAAO,MAAM,CAAC;gBAAC;aAAe;QAClC;IACR;AACJ;AAEA,2CAAeC,qBAAAA,oBAAmC,CAAC;IAC/C,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import TenantModelExtension from "./TenantModelExtension.js";
3
- export const TenantModelExtensionFeature = createFeature({
4
- name: "WebsiteBuilder/TenantModelExtension",
5
- register(container) {
6
- container.register(TenantModelExtension);
7
- }
3
+ const TenantModelExtensionFeature = createFeature({
4
+ name: "WebsiteBuilder/TenantModelExtension",
5
+ register (container) {
6
+ container.register(TenantModelExtension);
7
+ }
8
8
  });
9
+ export { TenantModelExtensionFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map