@webiny/api-website-builder 6.3.0-beta.4 → 6.4.0-beta.0

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 (388) 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.js +33 -29
  13. package/domain/page/page.model.js.map +1 -1
  14. package/domain/permissionsSchema.js +49 -28
  15. package/domain/permissionsSchema.js.map +1 -1
  16. package/domain/redirect/EntryToRedirectMapper.js +21 -20
  17. package/domain/redirect/EntryToRedirectMapper.js.map +1 -1
  18. package/domain/redirect/abstractions.js +2 -9
  19. package/domain/redirect/abstractions.js.map +1 -1
  20. package/domain/redirect/errors.js +28 -31
  21. package/domain/redirect/errors.js.map +1 -1
  22. package/domain/redirect/redirect.model.js +32 -29
  23. package/domain/redirect/redirect.model.js.map +1 -1
  24. package/domain/shared/abstractions.js +0 -3
  25. package/exports/api/website-builder/nextjs.js +0 -2
  26. package/exports/api/website-builder/page.js +5 -7
  27. package/exports/api/website-builder/redirect.js +1 -3
  28. package/features/installer/ApiKeyInstaller.js +33 -30
  29. package/features/installer/ApiKeyInstaller.js.map +1 -1
  30. package/features/installer/feature.js +6 -5
  31. package/features/installer/feature.js.map +1 -1
  32. package/features/nextjs/MarkdownContentBuilder.js +67 -76
  33. package/features/nextjs/MarkdownContentBuilder.js.map +1 -1
  34. package/features/nextjs/MarkdownContentBuilder.test.js +266 -273
  35. package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -1
  36. package/features/nextjs/NextjsConfig.js +43 -46
  37. package/features/nextjs/NextjsConfig.js.map +1 -1
  38. package/features/nextjs/abstractions.js +2 -2
  39. package/features/nextjs/abstractions.js.map +1 -1
  40. package/features/nextjs/feature.js +6 -5
  41. package/features/nextjs/feature.js.map +1 -1
  42. package/features/nextjs/index.js +0 -2
  43. package/features/pages/CreatePage/CreatePageRepository.js +23 -25
  44. package/features/pages/CreatePage/CreatePageRepository.js.map +1 -1
  45. package/features/pages/CreatePage/CreatePageUseCase.js +29 -34
  46. package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
  47. package/features/pages/CreatePage/abstractions.js +5 -30
  48. package/features/pages/CreatePage/abstractions.js.map +1 -1
  49. package/features/pages/CreatePage/events.js +16 -14
  50. package/features/pages/CreatePage/events.js.map +1 -1
  51. package/features/pages/CreatePage/feature.js +7 -6
  52. package/features/pages/CreatePage/feature.js.map +1 -1
  53. package/features/pages/CreatePage/index.js +1 -3
  54. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +30 -36
  55. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
  56. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +33 -41
  57. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
  58. package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -30
  59. package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
  60. package/features/pages/CreatePageRevisionFrom/events.js +16 -14
  61. package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
  62. package/features/pages/CreatePageRevisionFrom/feature.js +7 -6
  63. package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -1
  64. package/features/pages/CreatePageRevisionFrom/index.js +1 -3
  65. package/features/pages/DeletePage/DeletePageRepository.js +19 -18
  66. package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
  67. package/features/pages/DeletePage/DeletePageUseCase.js +32 -39
  68. package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
  69. package/features/pages/DeletePage/abstractions.js +5 -30
  70. package/features/pages/DeletePage/abstractions.js.map +1 -1
  71. package/features/pages/DeletePage/events.js +16 -14
  72. package/features/pages/DeletePage/events.js.map +1 -1
  73. package/features/pages/DeletePage/feature.js +7 -6
  74. package/features/pages/DeletePage/feature.js.map +1 -1
  75. package/features/pages/DeletePage/index.js +1 -3
  76. package/features/pages/DuplicatePage/DuplicatePageRepository.js +50 -53
  77. package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
  78. package/features/pages/DuplicatePage/DuplicatePageUseCase.js +35 -43
  79. package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
  80. package/features/pages/DuplicatePage/abstractions.js +5 -30
  81. package/features/pages/DuplicatePage/abstractions.js.map +1 -1
  82. package/features/pages/DuplicatePage/events.js +16 -14
  83. package/features/pages/DuplicatePage/events.js.map +1 -1
  84. package/features/pages/DuplicatePage/feature.js +7 -6
  85. package/features/pages/DuplicatePage/feature.js.map +1 -1
  86. package/features/pages/DuplicatePage/index.js +1 -3
  87. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +20 -20
  88. package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -1
  89. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +19 -21
  90. package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -1
  91. package/features/pages/GetDeletedPageById/abstractions.js +3 -12
  92. package/features/pages/GetDeletedPageById/abstractions.js.map +1 -1
  93. package/features/pages/GetDeletedPageById/feature.js +7 -6
  94. package/features/pages/GetDeletedPageById/feature.js.map +1 -1
  95. package/features/pages/GetDeletedPageById/index.js +0 -2
  96. package/features/pages/GetPageById/GetPageByIdRepository.js +20 -18
  97. package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -1
  98. package/features/pages/GetPageById/GetPageByIdUseCase.js +19 -21
  99. package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
  100. package/features/pages/GetPageById/abstractions.js +3 -13
  101. package/features/pages/GetPageById/abstractions.js.map +1 -1
  102. package/features/pages/GetPageById/feature.js +7 -6
  103. package/features/pages/GetPageById/feature.js.map +1 -1
  104. package/features/pages/GetPageById/index.js +0 -2
  105. package/features/pages/GetPageByPath/GetPageByPathRepository.js +26 -26
  106. package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -1
  107. package/features/pages/GetPageByPath/GetPageByPathUseCase.js +19 -21
  108. package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
  109. package/features/pages/GetPageByPath/abstractions.js +3 -13
  110. package/features/pages/GetPageByPath/abstractions.js.map +1 -1
  111. package/features/pages/GetPageByPath/feature.js +7 -6
  112. package/features/pages/GetPageByPath/feature.js.map +1 -1
  113. package/features/pages/GetPageByPath/index.js +0 -2
  114. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +42 -48
  115. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -1
  116. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +14 -13
  117. package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -1
  118. package/features/pages/GetPageLanguagePaths/abstractions.js +3 -3
  119. package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -1
  120. package/features/pages/GetPageLanguagePaths/feature.js +7 -6
  121. package/features/pages/GetPageLanguagePaths/feature.js.map +1 -1
  122. package/features/pages/GetPageLanguagePaths/index.js +0 -2
  123. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +17 -15
  124. package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -1
  125. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +22 -24
  126. package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
  127. package/features/pages/GetPageRevisions/abstractions.js +3 -13
  128. package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
  129. package/features/pages/GetPageRevisions/feature.js +7 -6
  130. package/features/pages/GetPageRevisions/feature.js.map +1 -1
  131. package/features/pages/GetPageRevisions/index.js +0 -2
  132. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +37 -36
  133. package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -1
  134. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +27 -24
  135. package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -1
  136. package/features/pages/ListDeletedPages/abstractions.js +3 -12
  137. package/features/pages/ListDeletedPages/abstractions.js.map +1 -1
  138. package/features/pages/ListDeletedPages/feature.js +7 -6
  139. package/features/pages/ListDeletedPages/feature.js.map +1 -1
  140. package/features/pages/ListDeletedPages/index.js +0 -2
  141. package/features/pages/ListPages/ListPagesRepository.js +37 -36
  142. package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
  143. package/features/pages/ListPages/ListPagesUseCase.js +27 -24
  144. package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
  145. package/features/pages/ListPages/abstractions.js +3 -13
  146. package/features/pages/ListPages/abstractions.js.map +1 -1
  147. package/features/pages/ListPages/feature.js +7 -6
  148. package/features/pages/ListPages/feature.js.map +1 -1
  149. package/features/pages/ListPages/index.js +0 -2
  150. package/features/pages/MovePage/MovePageRepository.js +25 -27
  151. package/features/pages/MovePage/MovePageRepository.js.map +1 -1
  152. package/features/pages/MovePage/MovePageUseCase.js +39 -49
  153. package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
  154. package/features/pages/MovePage/abstractions.js +5 -30
  155. package/features/pages/MovePage/abstractions.js.map +1 -1
  156. package/features/pages/MovePage/events.js +16 -14
  157. package/features/pages/MovePage/events.js.map +1 -1
  158. package/features/pages/MovePage/feature.js +7 -6
  159. package/features/pages/MovePage/feature.js.map +1 -1
  160. package/features/pages/MovePage/index.js +1 -3
  161. package/features/pages/PublishPage/PublishPageRepository.js +26 -28
  162. package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
  163. package/features/pages/PublishPage/PublishPageUseCase.js +36 -46
  164. package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
  165. package/features/pages/PublishPage/abstractions.js +5 -30
  166. package/features/pages/PublishPage/abstractions.js.map +1 -1
  167. package/features/pages/PublishPage/events.js +16 -14
  168. package/features/pages/PublishPage/events.js.map +1 -1
  169. package/features/pages/PublishPage/feature.js +7 -6
  170. package/features/pages/PublishPage/feature.js.map +1 -1
  171. package/features/pages/PublishPage/index.js +0 -2
  172. package/features/pages/RestorePage/RestorePageRepository.js +20 -19
  173. package/features/pages/RestorePage/RestorePageRepository.js.map +1 -1
  174. package/features/pages/RestorePage/RestorePageUseCase.js +32 -39
  175. package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -1
  176. package/features/pages/RestorePage/abstractions.js +5 -27
  177. package/features/pages/RestorePage/abstractions.js.map +1 -1
  178. package/features/pages/RestorePage/events.js +16 -14
  179. package/features/pages/RestorePage/events.js.map +1 -1
  180. package/features/pages/RestorePage/feature.js +7 -6
  181. package/features/pages/RestorePage/feature.js.map +1 -1
  182. package/features/pages/RestorePage/index.js +0 -2
  183. package/features/pages/TranslatePage/TranslatePageUseCase.js +46 -62
  184. package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -1
  185. package/features/pages/TranslatePage/abstractions.js +2 -11
  186. package/features/pages/TranslatePage/abstractions.js.map +1 -1
  187. package/features/pages/TranslatePage/feature.js +6 -5
  188. package/features/pages/TranslatePage/feature.js.map +1 -1
  189. package/features/pages/TranslatePage/index.js +0 -2
  190. package/features/pages/TrashPage/TrashPageRepository.js +21 -20
  191. package/features/pages/TrashPage/TrashPageRepository.js.map +1 -1
  192. package/features/pages/TrashPage/TrashPageUseCase.js +33 -40
  193. package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -1
  194. package/features/pages/TrashPage/abstractions.js +5 -27
  195. package/features/pages/TrashPage/abstractions.js.map +1 -1
  196. package/features/pages/TrashPage/events.js +16 -14
  197. package/features/pages/TrashPage/events.js.map +1 -1
  198. package/features/pages/TrashPage/feature.js +7 -6
  199. package/features/pages/TrashPage/feature.js.map +1 -1
  200. package/features/pages/TrashPage/index.js +0 -2
  201. package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
  202. package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
  203. package/features/pages/UnpublishPage/UnpublishPageUseCase.js +35 -45
  204. package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
  205. package/features/pages/UnpublishPage/abstractions.js +5 -30
  206. package/features/pages/UnpublishPage/abstractions.js.map +1 -1
  207. package/features/pages/UnpublishPage/events.js +16 -14
  208. package/features/pages/UnpublishPage/events.js.map +1 -1
  209. package/features/pages/UnpublishPage/feature.js +7 -6
  210. package/features/pages/UnpublishPage/feature.js.map +1 -1
  211. package/features/pages/UnpublishPage/index.js +0 -2
  212. package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
  213. package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
  214. package/features/pages/UpdatePage/UpdatePageUseCase.js +44 -54
  215. package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
  216. package/features/pages/UpdatePage/abstractions.js +5 -30
  217. package/features/pages/UpdatePage/abstractions.js.map +1 -1
  218. package/features/pages/UpdatePage/events.js +16 -14
  219. package/features/pages/UpdatePage/events.js.map +1 -1
  220. package/features/pages/UpdatePage/feature.js +7 -6
  221. package/features/pages/UpdatePage/feature.js.map +1 -1
  222. package/features/pages/UpdatePage/index.js +0 -2
  223. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
  224. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -0
  225. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
  226. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
  227. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +56 -0
  228. package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
  229. package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
  230. package/features/pages/UpdatePageRevisionDescription/abstractions.js +8 -0
  231. package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
  232. package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
  233. package/features/pages/UpdatePageRevisionDescription/events.js +21 -0
  234. package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
  235. package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
  236. package/features/pages/UpdatePageRevisionDescription/feature.js +13 -0
  237. package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
  238. package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
  239. package/features/pages/UpdatePageRevisionDescription/index.js +1 -0
  240. package/features/permissions/abstractions.js +2 -1
  241. package/features/permissions/abstractions.js.map +1 -1
  242. package/features/permissions/feature.js +2 -1
  243. package/features/permissions/feature.js.map +1 -1
  244. package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
  245. package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
  246. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +29 -34
  247. package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
  248. package/features/redirects/CreateRedirect/abstractions.js +5 -30
  249. package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
  250. package/features/redirects/CreateRedirect/events.js +16 -14
  251. package/features/redirects/CreateRedirect/events.js.map +1 -1
  252. package/features/redirects/CreateRedirect/feature.js +7 -6
  253. package/features/redirects/CreateRedirect/feature.js.map +1 -1
  254. package/features/redirects/CreateRedirect/index.js +1 -3
  255. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
  256. package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
  257. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +34 -41
  258. package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
  259. package/features/redirects/DeleteRedirect/abstractions.js +5 -30
  260. package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
  261. package/features/redirects/DeleteRedirect/events.js +16 -14
  262. package/features/redirects/DeleteRedirect/events.js.map +1 -1
  263. package/features/redirects/DeleteRedirect/feature.js +7 -6
  264. package/features/redirects/DeleteRedirect/feature.js.map +1 -1
  265. package/features/redirects/DeleteRedirect/index.js +1 -3
  266. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
  267. package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
  268. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +17 -15
  269. package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
  270. package/features/redirects/GetActiveRedirects/abstractions.js +3 -13
  271. package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
  272. package/features/redirects/GetActiveRedirects/feature.js +7 -6
  273. package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
  274. package/features/redirects/GetActiveRedirects/index.js +0 -2
  275. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
  276. package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
  277. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +20 -22
  278. package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
  279. package/features/redirects/GetRedirectById/abstractions.js +3 -13
  280. package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
  281. package/features/redirects/GetRedirectById/feature.js +7 -6
  282. package/features/redirects/GetRedirectById/feature.js.map +1 -1
  283. package/features/redirects/GetRedirectById/index.js +0 -2
  284. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
  285. package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
  286. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +13 -16
  287. package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
  288. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +13 -16
  289. package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
  290. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +13 -17
  291. package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
  292. package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -7
  293. package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
  294. package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
  295. package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
  296. package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
  297. package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
  298. package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
  299. package/features/redirects/ListRedirects/ListRedirectsUseCase.js +28 -25
  300. package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
  301. package/features/redirects/ListRedirects/abstractions.js +3 -17
  302. package/features/redirects/ListRedirects/abstractions.js.map +1 -1
  303. package/features/redirects/ListRedirects/feature.js +7 -6
  304. package/features/redirects/ListRedirects/feature.js.map +1 -1
  305. package/features/redirects/ListRedirects/index.js +0 -2
  306. package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
  307. package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
  308. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +39 -49
  309. package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
  310. package/features/redirects/MoveRedirect/abstractions.js +5 -30
  311. package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
  312. package/features/redirects/MoveRedirect/events.js +16 -14
  313. package/features/redirects/MoveRedirect/events.js.map +1 -1
  314. package/features/redirects/MoveRedirect/feature.js +7 -6
  315. package/features/redirects/MoveRedirect/feature.js.map +1 -1
  316. package/features/redirects/MoveRedirect/index.js +1 -3
  317. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
  318. package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
  319. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +44 -54
  320. package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
  321. package/features/redirects/UpdateRedirect/abstractions.js +5 -30
  322. package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
  323. package/features/redirects/UpdateRedirect/events.js +16 -14
  324. package/features/redirects/UpdateRedirect/events.js.map +1 -1
  325. package/features/redirects/UpdateRedirect/feature.js +7 -6
  326. package/features/redirects/UpdateRedirect/feature.js.map +1 -1
  327. package/features/redirects/UpdateRedirect/index.js +0 -2
  328. package/features/tenantManager/TenantModelExtension.js +52 -32
  329. package/features/tenantManager/TenantModelExtension.js.map +1 -1
  330. package/features/tenantManager/feature.js +6 -5
  331. package/features/tenantManager/feature.js.map +1 -1
  332. package/graphql/createGraphQL.js +15 -12
  333. package/graphql/createGraphQL.js.map +1 -1
  334. package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
  335. package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
  336. package/graphql/pages/pages.gql.js +221 -324
  337. package/graphql/pages/pages.gql.js.map +1 -1
  338. package/graphql/pages/pages.typeDefs.d.ts +1 -1
  339. package/graphql/pages/pages.typeDefs.js +7 -1
  340. package/graphql/pages/pages.typeDefs.js.map +1 -1
  341. package/graphql/redirects/redirects.gql.js +56 -86
  342. package/graphql/redirects/redirects.gql.js.map +1 -1
  343. package/graphql/redirects/redirects.typeDefs.js +3 -4
  344. package/graphql/redirects/redirects.typeDefs.js.map +1 -1
  345. package/index.js +57 -62
  346. package/index.js.map +1 -1
  347. package/package.json +20 -20
  348. package/rest/ActiveRedirectDto.js +0 -3
  349. package/rest/ActiveRedirectRestMapper.js +10 -9
  350. package/rest/ActiveRedirectRestMapper.js.map +1 -1
  351. package/rest/getRedirects.js +19 -26
  352. package/rest/getRedirects.js.map +1 -1
  353. package/utils/ensureAuthentication.js +6 -9
  354. package/utils/ensureAuthentication.js.map +1 -1
  355. package/utils/resolve.js +7 -6
  356. package/utils/resolve.js.map +1 -1
  357. package/domain/shared/abstractions.js.map +0 -1
  358. package/exports/api/website-builder/nextjs.js.map +0 -1
  359. package/exports/api/website-builder/page.js.map +0 -1
  360. package/exports/api/website-builder/redirect.js.map +0 -1
  361. package/features/nextjs/index.js.map +0 -1
  362. package/features/pages/CreatePage/index.js.map +0 -1
  363. package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
  364. package/features/pages/DeletePage/index.js.map +0 -1
  365. package/features/pages/DuplicatePage/index.js.map +0 -1
  366. package/features/pages/GetDeletedPageById/index.js.map +0 -1
  367. package/features/pages/GetPageById/index.js.map +0 -1
  368. package/features/pages/GetPageByPath/index.js.map +0 -1
  369. package/features/pages/GetPageLanguagePaths/index.js.map +0 -1
  370. package/features/pages/GetPageRevisions/index.js.map +0 -1
  371. package/features/pages/ListDeletedPages/index.js.map +0 -1
  372. package/features/pages/ListPages/index.js.map +0 -1
  373. package/features/pages/MovePage/index.js.map +0 -1
  374. package/features/pages/PublishPage/index.js.map +0 -1
  375. package/features/pages/RestorePage/index.js.map +0 -1
  376. package/features/pages/TranslatePage/index.js.map +0 -1
  377. package/features/pages/TrashPage/index.js.map +0 -1
  378. package/features/pages/UnpublishPage/index.js.map +0 -1
  379. package/features/pages/UpdatePage/index.js.map +0 -1
  380. package/features/redirects/CreateRedirect/index.js.map +0 -1
  381. package/features/redirects/DeleteRedirect/index.js.map +0 -1
  382. package/features/redirects/GetActiveRedirects/index.js.map +0 -1
  383. package/features/redirects/GetRedirectById/index.js.map +0 -1
  384. package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
  385. package/features/redirects/ListRedirects/index.js.map +0 -1
  386. package/features/redirects/MoveRedirect/index.js.map +0 -1
  387. package/features/redirects/UpdateRedirect/index.js.map +0 -1
  388. package/rest/ActiveRedirectDto.js.map +0 -1
@@ -1,38 +1,35 @@
1
1
  import { BaseError } from "@webiny/feature/api";
2
- export class RedirectNotFoundError extends BaseError {
3
- code = "WebsiteBuilder/Redirect/NotFound";
4
- constructor(id) {
5
- super({
6
- message: `Redirect with id "${id}" not found!`
7
- });
8
- }
2
+ class RedirectNotFoundError extends BaseError {
3
+ constructor(id){
4
+ super({
5
+ message: `Redirect with id "${id}" not found!`
6
+ }), this.code = "WebsiteBuilder/Redirect/NotFound";
7
+ }
9
8
  }
10
- export class RedirectPersistenceError extends BaseError {
11
- code = "WebsiteBuilder/Redirect/PersistenceError";
12
- constructor(error) {
13
- super({
14
- message: `Redirect persistence error: ${error.message}`,
15
- data: {
16
- error
17
- }
18
- });
19
- }
9
+ class RedirectPersistenceError extends BaseError {
10
+ constructor(error){
11
+ super({
12
+ message: `Redirect persistence error: ${error.message}`,
13
+ data: {
14
+ error
15
+ }
16
+ }), this.code = "WebsiteBuilder/Redirect/PersistenceError";
17
+ }
20
18
  }
21
- export class RedirectValidationError extends BaseError {
22
- code = "WebsiteBuilder/Redirect/ValidationError";
23
- constructor(message) {
24
- super({
25
- message: `Redirect validation error: ${message}`
26
- });
27
- }
19
+ class RedirectValidationError extends BaseError {
20
+ constructor(message){
21
+ super({
22
+ message: `Redirect validation error: ${message}`
23
+ }), this.code = "WebsiteBuilder/Redirect/ValidationError";
24
+ }
28
25
  }
29
- export class RedirectNotAuthorizedError extends BaseError {
30
- code = "WebsiteBuilder/Redirect/NotAuthorized";
31
- constructor() {
32
- super({
33
- message: "Not authorized!"
34
- });
35
- }
26
+ class RedirectNotAuthorizedError extends BaseError {
27
+ constructor(){
28
+ super({
29
+ message: "Not authorized!"
30
+ }), this.code = "WebsiteBuilder/Redirect/NotAuthorized";
31
+ }
36
32
  }
33
+ export { RedirectNotAuthorizedError, RedirectNotFoundError, RedirectPersistenceError, RedirectValidationError };
37
34
 
38
35
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","RedirectNotFoundError","code","constructor","id","message","RedirectPersistenceError","error","data","RedirectValidationError","RedirectNotAuthorizedError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class RedirectNotFoundError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/NotFound\" as const;\n\n constructor(id: string) {\n super({\n message: `Redirect with id \"${id}\" not found!`\n });\n }\n}\n\nexport class RedirectPersistenceError extends BaseError<{ error: Error }> {\n override readonly code = \"WebsiteBuilder/Redirect/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Redirect persistence error: ${error.message}`,\n data: { error }\n });\n }\n}\n\nexport class RedirectValidationError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/ValidationError\" as const;\n\n constructor(message: string) {\n super({\n message: `Redirect validation error: ${message}`\n });\n }\n}\n\nexport class RedirectNotAuthorizedError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/NotAuthorized\" as const;\n\n constructor() {\n super({ message: \"Not authorized!\" });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAE/C,OAAO,MAAMC,qBAAqB,SAASD,SAAS,CAAC;EAC/BE,IAAI,GAAG,kCAAkC;EAE3DC,WAAWA,CAACC,EAAU,EAAE;IACpB,KAAK,CAAC;MACFC,OAAO,EAAE,qBAAqBD,EAAE;IACpC,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAME,wBAAwB,SAASN,SAAS,CAAmB;EACpDE,IAAI,GAAG,0CAA0C;EAEnEC,WAAWA,CAACI,KAAY,EAAE;IACtB,KAAK,CAAC;MACFF,OAAO,EAAE,+BAA+BE,KAAK,CAACF,OAAO,EAAE;MACvDG,IAAI,EAAE;QAAED;MAAM;IAClB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAME,uBAAuB,SAAST,SAAS,CAAC;EACjCE,IAAI,GAAG,yCAAyC;EAElEC,WAAWA,CAACE,OAAe,EAAE;IACzB,KAAK,CAAC;MACFA,OAAO,EAAE,8BAA8BA,OAAO;IAClD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMK,0BAA0B,SAASV,SAAS,CAAC;EACpCE,IAAI,GAAG,uCAAuC;EAEhEC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MAAEE,OAAO,EAAE;IAAkB,CAAC,CAAC;EACzC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"domain/redirect/errors.js","sources":["../../../src/domain/redirect/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class RedirectNotFoundError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/NotFound\" as const;\n\n constructor(id: string) {\n super({\n message: `Redirect with id \"${id}\" not found!`\n });\n }\n}\n\nexport class RedirectPersistenceError extends BaseError<{ error: Error }> {\n override readonly code = \"WebsiteBuilder/Redirect/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Redirect persistence error: ${error.message}`,\n data: { error }\n });\n }\n}\n\nexport class RedirectValidationError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/ValidationError\" as const;\n\n constructor(message: string) {\n super({\n message: `Redirect validation error: ${message}`\n });\n }\n}\n\nexport class RedirectNotAuthorizedError extends BaseError {\n override readonly code = \"WebsiteBuilder/Redirect/NotAuthorized\" as const;\n\n constructor() {\n super({ message: \"Not authorized!\" });\n }\n}\n"],"names":["RedirectNotFoundError","BaseError","id","RedirectPersistenceError","error","RedirectValidationError","message","RedirectNotAuthorizedError"],"mappings":";AAEO,MAAMA,8BAA8BC;IAGvC,YAAYC,EAAU,CAAE;QACpB,KAAK,CAAC;YACF,SAAS,CAAC,kBAAkB,EAAEA,GAAG,YAAY,CAAC;QAClD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,iCAAiCF;IAG1C,YAAYG,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,4BAA4B,EAAEA,MAAM,OAAO,EAAE;YACvD,MAAM;gBAAEA;YAAM;QAClB,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,gCAAgCJ;IAGzC,YAAYK,OAAe,CAAE;QACzB,KAAK,CAAC;YACF,SAAS,CAAC,2BAA2B,EAAEA,SAAS;QACpD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,mCAAmCN;IAG5C,aAAc;QACV,KAAK,CAAC;YAAE,SAAS;QAAkB,SAHrB,IAAI,GAAG;IAIzB;AACJ"}
@@ -1,32 +1,35 @@
1
1
  import { createModelField, createPrivateModelPlugin } from "@webiny/api-headless-cms";
2
- export const REDIRECT_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "wbRedirect" : "wbyWbRedirect";
3
- export const createRedirectModel = () => {
4
- return createPrivateModelPlugin({
5
- name: "Website Builder - Redirect",
6
- modelId: REDIRECT_MODEL_ID,
7
- titleFieldId: "from",
8
- authorization: {
9
- // Disables base permission checks, but leaves FLP checks enabled.
10
- permissions: false
11
- },
12
- fields: [createModelField({
13
- fieldId: "redirectFrom",
14
- label: "Redirect From",
15
- type: "text"
16
- }), createModelField({
17
- fieldId: "redirectTo",
18
- label: "Redirect To",
19
- type: "text"
20
- }), createModelField({
21
- fieldId: "redirectType",
22
- label: "Redirect Type",
23
- type: "text"
24
- }), createModelField({
25
- fieldId: "isEnabled",
26
- label: "Is enabled?",
27
- type: "boolean"
28
- })]
29
- });
30
- };
2
+ const REDIRECT_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "wbRedirect" : "wbyWbRedirect";
3
+ const createRedirectModel = ()=>createPrivateModelPlugin({
4
+ name: "Website Builder - Redirect",
5
+ modelId: REDIRECT_MODEL_ID,
6
+ titleFieldId: "from",
7
+ authorization: {
8
+ permissions: false
9
+ },
10
+ fields: [
11
+ createModelField({
12
+ fieldId: "redirectFrom",
13
+ label: "Redirect From",
14
+ type: "text"
15
+ }),
16
+ createModelField({
17
+ fieldId: "redirectTo",
18
+ label: "Redirect To",
19
+ type: "text"
20
+ }),
21
+ createModelField({
22
+ fieldId: "redirectType",
23
+ label: "Redirect Type",
24
+ type: "text"
25
+ }),
26
+ createModelField({
27
+ fieldId: "isEnabled",
28
+ label: "Is enabled?",
29
+ type: "boolean"
30
+ })
31
+ ]
32
+ });
33
+ export { REDIRECT_MODEL_ID, createRedirectModel };
31
34
 
32
35
  //# sourceMappingURL=redirect.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createModelField","createPrivateModelPlugin","REDIRECT_MODEL_ID","process","env","WEBINY_API_LEGACY_MODELS","createRedirectModel","name","modelId","titleFieldId","authorization","permissions","fields","fieldId","label","type"],"sources":["redirect.model.ts"],"sourcesContent":["import { createModelField, createPrivateModelPlugin } from \"@webiny/api-headless-cms\";\n\nexport const REDIRECT_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS\n ? \"wbRedirect\"\n : \"wbyWbRedirect\";\n\nexport const createRedirectModel = () => {\n return createPrivateModelPlugin({\n name: \"Website Builder - Redirect\",\n modelId: REDIRECT_MODEL_ID,\n titleFieldId: \"from\",\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n },\n fields: [\n createModelField({\n fieldId: \"redirectFrom\",\n label: \"Redirect From\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectTo\",\n label: \"Redirect To\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectType\",\n label: \"Redirect Type\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"isEnabled\",\n label: \"Is enabled?\",\n type: \"boolean\"\n })\n ]\n });\n};\n"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,wBAAwB,QAAQ,0BAA0B;AAErF,OAAO,MAAMC,iBAAiB,GAAGC,OAAO,CAACC,GAAG,CAACC,wBAAwB,GAC/D,YAAY,GACZ,eAAe;AAErB,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACrC,OAAOL,wBAAwB,CAAC;IAC5BM,IAAI,EAAE,4BAA4B;IAClCC,OAAO,EAAEN,iBAAiB;IAC1BO,YAAY,EAAE,MAAM;IACpBC,aAAa,EAAE;MACX;MACAC,WAAW,EAAE;IACjB,CAAC;IACDC,MAAM,EAAE,CACJZ,gBAAgB,CAAC;MACba,OAAO,EAAE,cAAc;MACvBC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE;IACV,CAAC,CAAC,EACFf,gBAAgB,CAAC;MACba,OAAO,EAAE,YAAY;MACrBC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE;IACV,CAAC,CAAC,EACFf,gBAAgB,CAAC;MACba,OAAO,EAAE,cAAc;MACvBC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE;IACV,CAAC,CAAC,EACFf,gBAAgB,CAAC;MACba,OAAO,EAAE,WAAW;MACpBC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE;IACV,CAAC,CAAC;EAEV,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/redirect/redirect.model.js","sources":["../../../src/domain/redirect/redirect.model.ts"],"sourcesContent":["import { createModelField, createPrivateModelPlugin } from \"@webiny/api-headless-cms\";\n\nexport const REDIRECT_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS\n ? \"wbRedirect\"\n : \"wbyWbRedirect\";\n\nexport const createRedirectModel = () => {\n return createPrivateModelPlugin({\n name: \"Website Builder - Redirect\",\n modelId: REDIRECT_MODEL_ID,\n titleFieldId: \"from\",\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n },\n fields: [\n createModelField({\n fieldId: \"redirectFrom\",\n label: \"Redirect From\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectTo\",\n label: \"Redirect To\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectType\",\n label: \"Redirect Type\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"isEnabled\",\n label: \"Is enabled?\",\n type: \"boolean\"\n })\n ]\n });\n};\n"],"names":["REDIRECT_MODEL_ID","process","createRedirectModel","createPrivateModelPlugin","createModelField"],"mappings":";AAEO,MAAMA,oBAAoBC,QAAQ,GAAG,CAAC,wBAAwB,GAC/D,eACA;AAEC,MAAMC,sBAAsB,IACxBC,yBAAyB;QAC5B,MAAM;QACN,SAASH;QACT,cAAc;QACd,eAAe;YAEX,aAAa;QACjB;QACA,QAAQ;YACJI,iBAAiB;gBACb,SAAS;gBACT,OAAO;gBACP,MAAM;YACV;YACAA,iBAAiB;gBACb,SAAS;gBACT,OAAO;gBACP,MAAM;YACV;YACAA,iBAAiB;gBACb,SAAS;gBACT,OAAO;gBACP,MAAM;YACV;YACAA,iBAAiB;gBACb,SAAS;gBACT,OAAO;gBACP,MAAM;YACV;SACH;IACL"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=abstractions.js.map
@@ -1,3 +1 @@
1
1
  export { NextjsConfig } from "../../../features/nextjs/abstractions.js";
2
-
3
- //# sourceMappingURL=nextjs.js.map
@@ -1,8 +1,8 @@
1
1
  export { CreatePageUseCase, PageAfterCreateEventHandler, PageBeforeCreateEventHandler } from "../../../features/pages/CreatePage/abstractions.js";
2
2
  export { CreatePageRevisionFromUseCase, PageAfterCreateRevisionFromEventHandler, PageBeforeCreateRevisionFromEventHandler } from "../../../features/pages/CreatePageRevisionFrom/abstractions.js";
3
3
  export { DeletePageUseCase, PageAfterDeleteEventHandler, PageBeforeDeleteEventHandler } from "../../../features/pages/DeletePage/abstractions.js";
4
- export { TrashPageUseCase, PageAfterTrashEventHandler, PageBeforeTrashEventHandler } from "../../../features/pages/TrashPage/abstractions.js";
5
- export { RestorePageUseCase, PageAfterRestoreEventHandler, PageBeforeRestoreEventHandler } from "../../../features/pages/RestorePage/abstractions.js";
4
+ export { PageAfterTrashEventHandler, PageBeforeTrashEventHandler, TrashPageUseCase } from "../../../features/pages/TrashPage/abstractions.js";
5
+ export { PageAfterRestoreEventHandler, PageBeforeRestoreEventHandler, RestorePageUseCase } from "../../../features/pages/RestorePage/abstractions.js";
6
6
  export { DuplicatePageUseCase, PageAfterDuplicateEventHandler, PageBeforeDuplicateEventHandler } from "../../../features/pages/DuplicatePage/abstractions.js";
7
7
  export { GetPageByIdUseCase } from "../../../features/pages/GetPageById/abstractions.js";
8
8
  export { GetDeletedPageByIdUseCase } from "../../../features/pages/GetDeletedPageById/abstractions.js";
@@ -11,8 +11,6 @@ export { GetPageRevisionsUseCase } from "../../../features/pages/GetPageRevision
11
11
  export { ListPagesUseCase } from "../../../features/pages/ListPages/abstractions.js";
12
12
  export { ListDeletedPagesUseCase } from "../../../features/pages/ListDeletedPages/abstractions.js";
13
13
  export { MovePageUseCase, PageAfterMoveEventHandler, PageBeforeMoveEventHandler } from "../../../features/pages/MovePage/abstractions.js";
14
- export { PublishPageUseCase, PageAfterPublishEventHandler, PageBeforePublishEventHandler } from "../../../features/pages/PublishPage/abstractions.js";
15
- export { UnpublishPageUseCase, PageAfterUnpublishEventHandler, PageBeforeUnpublishEventHandler } from "../../../features/pages/UnpublishPage/abstractions.js";
16
- export { UpdatePageUseCase, PageAfterUpdateEventHandler, PageBeforeUpdateEventHandler } from "../../../features/pages/UpdatePage/abstractions.js";
17
-
18
- //# sourceMappingURL=page.js.map
14
+ export { PageAfterPublishEventHandler, PageBeforePublishEventHandler, PublishPageUseCase } from "../../../features/pages/PublishPage/abstractions.js";
15
+ export { PageAfterUnpublishEventHandler, PageBeforeUnpublishEventHandler, UnpublishPageUseCase } from "../../../features/pages/UnpublishPage/abstractions.js";
16
+ export { PageAfterUpdateEventHandler, PageBeforeUpdateEventHandler, UpdatePageUseCase } from "../../../features/pages/UpdatePage/abstractions.js";
@@ -5,6 +5,4 @@ export { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectB
5
5
  export { InvalidateRedirectsCacheUseCase } from "../../../features/redirects/InvalidateRedirectsCache/abstractions.js";
6
6
  export { ListRedirectsUseCase } from "../../../features/redirects/ListRedirects/abstractions.js";
7
7
  export { MoveRedirectUseCase, RedirectAfterMoveEventHandler, RedirectBeforeMoveEventHandler } from "../../../features/redirects/MoveRedirect/abstractions.js";
8
- export { UpdateRedirectUseCase, RedirectAfterUpdateEventHandler, RedirectBeforeUpdateEventHandler } from "../../../features/redirects/UpdateRedirect/abstractions.js";
9
-
10
- //# sourceMappingURL=redirect.js.map
8
+ export { RedirectAfterUpdateEventHandler, RedirectBeforeUpdateEventHandler, UpdateRedirectUseCase } from "../../../features/redirects/UpdateRedirect/abstractions.js";
@@ -2,39 +2,42 @@ import { AppInstaller } from "@webiny/api-core/features/tenancy/InstallTenant/in
2
2
  import { CreateApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js";
3
3
  import { DeleteApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js";
4
4
  class ApiKeyInstallerImpl {
5
- alwaysRun = true;
6
- appName = "WebsiteBuilder";
7
- dependsOn = [];
8
- apiKey = undefined;
9
- constructor(createApiKey, deleteApiKey) {
10
- this.createApiKey = createApiKey;
11
- this.deleteApiKey = deleteApiKey;
12
- }
13
- async install() {
14
- const result = await this.createApiKey.execute({
15
- name: "Website Builder",
16
- description: "Integrate Next.js or custom frontend with Website Builder.",
17
- slug: "website-builder",
18
- permissions: [{
19
- name: "$wb.readonly"
20
- }, {
21
- name: "wb.page",
22
- rwd: "r"
23
- }]
24
- });
25
- if (result.isOk()) {
26
- this.apiKey = result.value;
5
+ constructor(createApiKey, deleteApiKey){
6
+ this.createApiKey = createApiKey;
7
+ this.deleteApiKey = deleteApiKey;
8
+ this.alwaysRun = true;
9
+ this.appName = "WebsiteBuilder";
10
+ this.dependsOn = [];
11
+ this.apiKey = void 0;
27
12
  }
28
- }
29
- async uninstall() {
30
- if (this.apiKey) {
31
- await this.deleteApiKey.execute(this.apiKey.id);
13
+ async install() {
14
+ const result = await this.createApiKey.execute({
15
+ name: "Website Builder",
16
+ description: "Integrate Next.js or custom frontend with Website Builder.",
17
+ slug: "website-builder",
18
+ permissions: [
19
+ {
20
+ name: "$wb.readonly"
21
+ },
22
+ {
23
+ name: "wb.page",
24
+ rwd: "r"
25
+ }
26
+ ]
27
+ });
28
+ if (result.isOk()) this.apiKey = result.value;
29
+ }
30
+ async uninstall() {
31
+ if (this.apiKey) await this.deleteApiKey.execute(this.apiKey.id);
32
32
  }
33
- }
34
33
  }
35
- export const ApiKeyInstaller = AppInstaller.createImplementation({
36
- implementation: ApiKeyInstallerImpl,
37
- dependencies: [CreateApiKeyUseCase, DeleteApiKeyUseCase]
34
+ const ApiKeyInstaller = AppInstaller.createImplementation({
35
+ implementation: ApiKeyInstallerImpl,
36
+ dependencies: [
37
+ CreateApiKeyUseCase,
38
+ DeleteApiKeyUseCase
39
+ ]
38
40
  });
41
+ export { ApiKeyInstaller };
39
42
 
40
43
  //# sourceMappingURL=ApiKeyInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AppInstaller","CreateApiKeyUseCase","DeleteApiKeyUseCase","ApiKeyInstallerImpl","alwaysRun","appName","dependsOn","apiKey","undefined","constructor","createApiKey","deleteApiKey","install","result","execute","name","description","slug","permissions","rwd","isOk","value","uninstall","id","ApiKeyInstaller","createImplementation","implementation","dependencies"],"sources":["ApiKeyInstaller.ts"],"sourcesContent":["import { AppInstaller } from \"@webiny/api-core/features/tenancy/InstallTenant/index.js\";\nimport { CreateApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js\";\nimport { DeleteApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js\";\nimport type { ApiKey } from \"@webiny/api-core/types/security.js\";\n\nclass ApiKeyInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"WebsiteBuilder\";\n readonly dependsOn = [];\n private apiKey: ApiKey | undefined = undefined;\n\n constructor(\n private createApiKey: CreateApiKeyUseCase.Interface,\n private deleteApiKey: DeleteApiKeyUseCase.Interface\n ) {}\n\n async install(): Promise<void> {\n const result = await this.createApiKey.execute({\n name: \"Website Builder\",\n description: \"Integrate Next.js or custom frontend with Website Builder.\",\n slug: \"website-builder\",\n permissions: [{ name: \"$wb.readonly\" }, { name: \"wb.page\", rwd: \"r\" }]\n });\n\n if (result.isOk()) {\n this.apiKey = result.value;\n }\n }\n\n async uninstall(): Promise<void> {\n if (this.apiKey) {\n await this.deleteApiKey.execute(this.apiKey.id);\n }\n }\n}\n\nexport const ApiKeyInstaller = AppInstaller.createImplementation({\n implementation: ApiKeyInstallerImpl,\n dependencies: [CreateApiKeyUseCase, DeleteApiKeyUseCase]\n});\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,0DAA0D;AACvF,SAASC,mBAAmB,QAAQ,kEAAkE;AACtG,SAASC,mBAAmB,QAAQ,kEAAkE;AAGtG,MAAMC,mBAAmB,CAAmC;EAC/CC,SAAS,GAAG,IAAI;EAChBC,OAAO,GAAG,gBAAgB;EAC1BC,SAAS,GAAG,EAAE;EACfC,MAAM,GAAuBC,SAAS;EAE9CC,WAAWA,CACCC,YAA2C,EAC3CC,YAA2C,EACrD;IAAA,KAFUD,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,YAA2C,GAA3CA,YAA2C;EACpD;EAEH,MAAMC,OAAOA,CAAA,EAAkB;IAC3B,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,YAAY,CAACI,OAAO,CAAC;MAC3CC,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EAAE,4DAA4D;MACzEC,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EAAE,CAAC;QAAEH,IAAI,EAAE;MAAe,CAAC,EAAE;QAAEA,IAAI,EAAE,SAAS;QAAEI,GAAG,EAAE;MAAI,CAAC;IACzE,CAAC,CAAC;IAEF,IAAIN,MAAM,CAACO,IAAI,CAAC,CAAC,EAAE;MACf,IAAI,CAACb,MAAM,GAAGM,MAAM,CAACQ,KAAK;IAC9B;EACJ;EAEA,MAAMC,SAASA,CAAA,EAAkB;IAC7B,IAAI,IAAI,CAACf,MAAM,EAAE;MACb,MAAM,IAAI,CAACI,YAAY,CAACG,OAAO,CAAC,IAAI,CAACP,MAAM,CAACgB,EAAE,CAAC;IACnD;EACJ;AACJ;AAEA,OAAO,MAAMC,eAAe,GAAGxB,YAAY,CAACyB,oBAAoB,CAAC;EAC7DC,cAAc,EAAEvB,mBAAmB;EACnCwB,YAAY,EAAE,CAAC1B,mBAAmB,EAAEC,mBAAmB;AAC3D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/installer/ApiKeyInstaller.js","sources":["../../../src/features/installer/ApiKeyInstaller.ts"],"sourcesContent":["import { AppInstaller } from \"@webiny/api-core/features/tenancy/InstallTenant/index.js\";\nimport { CreateApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js\";\nimport { DeleteApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js\";\nimport type { ApiKey } from \"@webiny/api-core/types/security.js\";\n\nclass ApiKeyInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"WebsiteBuilder\";\n readonly dependsOn = [];\n private apiKey: ApiKey | undefined = undefined;\n\n constructor(\n private createApiKey: CreateApiKeyUseCase.Interface,\n private deleteApiKey: DeleteApiKeyUseCase.Interface\n ) {}\n\n async install(): Promise<void> {\n const result = await this.createApiKey.execute({\n name: \"Website Builder\",\n description: \"Integrate Next.js or custom frontend with Website Builder.\",\n slug: \"website-builder\",\n permissions: [{ name: \"$wb.readonly\" }, { name: \"wb.page\", rwd: \"r\" }]\n });\n\n if (result.isOk()) {\n this.apiKey = result.value;\n }\n }\n\n async uninstall(): Promise<void> {\n if (this.apiKey) {\n await this.deleteApiKey.execute(this.apiKey.id);\n }\n }\n}\n\nexport const ApiKeyInstaller = AppInstaller.createImplementation({\n implementation: ApiKeyInstallerImpl,\n dependencies: [CreateApiKeyUseCase, DeleteApiKeyUseCase]\n});\n"],"names":["ApiKeyInstallerImpl","createApiKey","deleteApiKey","undefined","result","ApiKeyInstaller","AppInstaller","CreateApiKeyUseCase","DeleteApiKeyUseCase"],"mappings":";;;AAKA,MAAMA;IAMF,YACYC,YAA2C,EAC3CC,YAA2C,CACrD;aAFUD,YAAY,GAAZA;aACAC,YAAY,GAAZA;aAPH,SAAS,GAAG;aACZ,OAAO,GAAG;aACV,SAAS,GAAG,EAAE;aACf,MAAM,GAAuBC;IAKlC;IAEH,MAAM,UAAyB;QAC3B,MAAMC,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC3C,MAAM;YACN,aAAa;YACb,MAAM;YACN,aAAa;gBAAC;oBAAE,MAAM;gBAAe;gBAAG;oBAAE,MAAM;oBAAW,KAAK;gBAAI;aAAE;QAC1E;QAEA,IAAIA,OAAO,IAAI,IACX,IAAI,CAAC,MAAM,GAAGA,OAAO,KAAK;IAElC;IAEA,MAAM,YAA2B;QAC7B,IAAI,IAAI,CAAC,MAAM,EACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;IAEtD;AACJ;AAEO,MAAMC,kBAAkBC,aAAa,oBAAoB,CAAC;IAC7D,gBAAgBN;IAChB,cAAc;QAACO;QAAqBC;KAAoB;AAC5D"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { ApiKeyInstaller } from "./ApiKeyInstaller.js";
3
- export const ApiKeyInstallerFeature = createFeature({
4
- name: "WebsiteBuilder/ApiKeyInstaller",
5
- register(container) {
6
- container.register(ApiKeyInstaller);
7
- }
3
+ const ApiKeyInstallerFeature = createFeature({
4
+ name: "WebsiteBuilder/ApiKeyInstaller",
5
+ register (container) {
6
+ container.register(ApiKeyInstaller);
7
+ }
8
8
  });
9
+ export { ApiKeyInstallerFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","ApiKeyInstaller","ApiKeyInstallerFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ApiKeyInstaller } from \"./ApiKeyInstaller.js\";\n\nexport const ApiKeyInstallerFeature = createFeature({\n name: \"WebsiteBuilder/ApiKeyInstaller\",\n register(container) {\n container.register(ApiKeyInstaller);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,eAAe;AAExB,OAAO,MAAMC,sBAAsB,GAAGF,aAAa,CAAC;EAChDG,IAAI,EAAE,gCAAgC;EACtCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,eAAe,CAAC;EACvC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/installer/feature.js","sources":["../../../src/features/installer/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ApiKeyInstaller } from \"./ApiKeyInstaller.js\";\n\nexport const ApiKeyInstallerFeature = createFeature({\n name: \"WebsiteBuilder/ApiKeyInstaller\",\n register(container) {\n container.register(ApiKeyInstaller);\n }\n});\n"],"names":["ApiKeyInstallerFeature","createFeature","container","ApiKeyInstaller"],"mappings":";;AAGO,MAAMA,yBAAyBC,cAAc;IAChD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,86 +1,77 @@
1
- export class MarkdownContentBuilder {
2
- sections = [];
3
- variables = new Map();
4
- MAX_INTERPOLATION_DEPTH = 10; // Prevent infinite loops
5
-
6
- add(id, markdown, position) {
7
- const section = {
8
- id,
9
- content: markdown
10
- };
11
- if (position?.before) {
12
- const index = this.sections.findIndex(s => s.id === position.before);
13
- if (index !== -1) {
14
- this.sections.splice(index, 0, section);
1
+ class MarkdownContentBuilder {
2
+ add(id, markdown, position) {
3
+ const section = {
4
+ id,
5
+ content: markdown
6
+ };
7
+ if (position?.before) {
8
+ const index = this.sections.findIndex((s)=>s.id === position.before);
9
+ if (-1 !== index) {
10
+ this.sections.splice(index, 0, section);
11
+ return this;
12
+ }
13
+ }
14
+ if (position?.after) {
15
+ const index = this.sections.findIndex((s)=>s.id === position.after);
16
+ if (-1 !== index) {
17
+ this.sections.splice(index + 1, 0, section);
18
+ return this;
19
+ }
20
+ }
21
+ this.sections.push(section);
15
22
  return this;
16
- }
17
23
  }
18
- if (position?.after) {
19
- const index = this.sections.findIndex(s => s.id === position.after);
20
- if (index !== -1) {
21
- this.sections.splice(index + 1, 0, section);
24
+ remove(id) {
25
+ this.sections = this.sections.filter((s)=>s.id !== id);
22
26
  return this;
23
- }
24
27
  }
25
- this.sections.push(section);
26
- return this;
27
- }
28
- remove(id) {
29
- this.sections = this.sections.filter(s => s.id !== id);
30
- return this;
31
- }
32
- replace(id, markdown) {
33
- const section = this.sections.find(s => s.id === id);
34
- if (section) {
35
- if (typeof markdown === "function") {
36
- section.content = markdown(section.content);
37
- } else {
38
- section.content = markdown;
39
- }
28
+ replace(id, markdown) {
29
+ const section = this.sections.find((s)=>s.id === id);
30
+ if (section) if ("function" == typeof markdown) section.content = markdown(section.content);
31
+ else section.content = markdown;
32
+ return this;
40
33
  }
41
- return this;
42
- }
43
- setVariable(key, value) {
44
- this.variables.set(key, value);
45
- return this;
46
- }
47
- setVariables(vars) {
48
- Object.entries(vars).forEach(([key, value]) => {
49
- this.variables.set(key, value);
50
- });
51
- return this;
52
- }
53
- getVariable(key) {
54
- return this.variables.get(key);
55
- }
56
- substituteVariables(text) {
57
- let result = text;
58
- let previousResult = "";
59
- let depth = 0;
60
-
61
- // Keep substituting until no more changes occur or max depth reached
62
- while (result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH) {
63
- previousResult = result;
64
- this.variables.forEach((value, key) => {
65
- const regex = new RegExp(`\\{${this.escapeRegex(key)}\\}`, "g");
66
- result = result.replace(regex, value);
67
- });
68
- depth++;
34
+ setVariable(key, value) {
35
+ this.variables.set(key, value);
36
+ return this;
69
37
  }
70
-
71
- // Warn about potential circular reference if max depth reached
72
- if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) {
73
- console.warn("Maximum interpolation depth reached. Possible circular variable reference.");
38
+ setVariables(vars) {
39
+ Object.entries(vars).forEach(([key, value])=>{
40
+ this.variables.set(key, value);
41
+ });
42
+ return this;
43
+ }
44
+ getVariable(key) {
45
+ return this.variables.get(key);
46
+ }
47
+ substituteVariables(text) {
48
+ let result = text;
49
+ let previousResult = "";
50
+ let depth = 0;
51
+ while(result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH){
52
+ previousResult = result;
53
+ this.variables.forEach((value, key)=>{
54
+ const regex = new RegExp(`\\{${this.escapeRegex(key)}\\}`, "g");
55
+ result = result.replace(regex, value);
56
+ });
57
+ depth++;
58
+ }
59
+ if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) console.warn("Maximum interpolation depth reached. Possible circular variable reference.");
60
+ return result;
61
+ }
62
+ escapeRegex(str) {
63
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
64
+ }
65
+ build(joinWith = "\n") {
66
+ const content = this.sections.map((s)=>s.content).join(joinWith);
67
+ return this.substituteVariables(content);
68
+ }
69
+ constructor(){
70
+ this.sections = [];
71
+ this.variables = new Map();
72
+ this.MAX_INTERPOLATION_DEPTH = 10;
74
73
  }
75
- return result;
76
- }
77
- escapeRegex(str) {
78
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
79
- }
80
- build(joinWith = "\n") {
81
- const content = this.sections.map(s => s.content).join(joinWith);
82
- return this.substituteVariables(content);
83
- }
84
74
  }
75
+ export { MarkdownContentBuilder };
85
76
 
86
77
  //# sourceMappingURL=MarkdownContentBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MarkdownContentBuilder","sections","variables","Map","MAX_INTERPOLATION_DEPTH","add","id","markdown","position","section","content","before","index","findIndex","s","splice","after","push","remove","filter","replace","find","setVariable","key","value","set","setVariables","vars","Object","entries","forEach","getVariable","get","substituteVariables","text","result","previousResult","depth","regex","RegExp","escapeRegex","console","warn","str","build","joinWith","map","join"],"sources":["MarkdownContentBuilder.ts"],"sourcesContent":["export interface ISection {\n id: string;\n content: string;\n}\n\nexport interface IPositionOptions {\n before?: string;\n after?: string;\n}\nexport interface IMarkdownContentBuilder {\n add(id: string, text: string, position?: IPositionOptions): this;\n remove(id: string): this;\n replace(id: string, markdown: string | ((currentContent: string) => string)): this;\n setVariable(key: string, value: string): this;\n setVariables(vars: Record<string, string>): this;\n getVariable(key: string): string | undefined;\n build(joinWith?: string): string;\n}\n\nexport class MarkdownContentBuilder implements IMarkdownContentBuilder {\n private sections: ISection[] = [];\n private variables: Map<string, string> = new Map();\n private readonly MAX_INTERPOLATION_DEPTH = 10; // Prevent infinite loops\n\n add(id: string, markdown: string, position?: IPositionOptions): this {\n const section: ISection = { id, content: markdown };\n\n if (position?.before) {\n const index = this.sections.findIndex(s => s.id === position.before);\n if (index !== -1) {\n this.sections.splice(index, 0, section);\n return this;\n }\n }\n\n if (position?.after) {\n const index = this.sections.findIndex(s => s.id === position.after);\n if (index !== -1) {\n this.sections.splice(index + 1, 0, section);\n return this;\n }\n }\n\n this.sections.push(section);\n return this;\n }\n\n remove(id: string): this {\n this.sections = this.sections.filter(s => s.id !== id);\n return this;\n }\n\n replace(id: string, markdown: string | ((currentContent: string) => string)): this {\n const section = this.sections.find(s => s.id === id);\n if (section) {\n if (typeof markdown === \"function\") {\n section.content = markdown(section.content);\n } else {\n section.content = markdown;\n }\n }\n return this;\n }\n\n setVariable(key: string, value: string): this {\n this.variables.set(key, value);\n return this;\n }\n\n setVariables(vars: Record<string, string>): this {\n Object.entries(vars).forEach(([key, value]) => {\n this.variables.set(key, value);\n });\n return this;\n }\n\n getVariable(key: string): string | undefined {\n return this.variables.get(key);\n }\n\n private substituteVariables(text: string): string {\n let result = text;\n let previousResult = \"\";\n let depth = 0;\n\n // Keep substituting until no more changes occur or max depth reached\n while (result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH) {\n previousResult = result;\n\n this.variables.forEach((value, key) => {\n const regex = new RegExp(`\\\\{${this.escapeRegex(key)}\\\\}`, \"g\");\n result = result.replace(regex, value);\n });\n\n depth++;\n }\n\n // Warn about potential circular reference if max depth reached\n if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) {\n console.warn(\n \"Maximum interpolation depth reached. Possible circular variable reference.\"\n );\n }\n\n return result;\n }\n\n private escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n\n build(joinWith = \"\\n\"): string {\n const content = this.sections.map(s => s.content).join(joinWith);\n return this.substituteVariables(content);\n }\n}\n"],"mappings":"AAmBA,OAAO,MAAMA,sBAAsB,CAAoC;EAC3DC,QAAQ,GAAe,EAAE;EACzBC,SAAS,GAAwB,IAAIC,GAAG,CAAC,CAAC;EACjCC,uBAAuB,GAAG,EAAE,CAAC,CAAC;;EAE/CC,GAAGA,CAACC,EAAU,EAAEC,QAAgB,EAAEC,QAA2B,EAAQ;IACjE,MAAMC,OAAiB,GAAG;MAAEH,EAAE;MAAEI,OAAO,EAAEH;IAAS,CAAC;IAEnD,IAAIC,QAAQ,EAAEG,MAAM,EAAE;MAClB,MAAMC,KAAK,GAAG,IAAI,CAACX,QAAQ,CAACY,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKE,QAAQ,CAACG,MAAM,CAAC;MACpE,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;QACd,IAAI,CAACX,QAAQ,CAACc,MAAM,CAACH,KAAK,EAAE,CAAC,EAAEH,OAAO,CAAC;QACvC,OAAO,IAAI;MACf;IACJ;IAEA,IAAID,QAAQ,EAAEQ,KAAK,EAAE;MACjB,MAAMJ,KAAK,GAAG,IAAI,CAACX,QAAQ,CAACY,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKE,QAAQ,CAACQ,KAAK,CAAC;MACnE,IAAIJ,KAAK,KAAK,CAAC,CAAC,EAAE;QACd,IAAI,CAACX,QAAQ,CAACc,MAAM,CAACH,KAAK,GAAG,CAAC,EAAE,CAAC,EAAEH,OAAO,CAAC;QAC3C,OAAO,IAAI;MACf;IACJ;IAEA,IAAI,CAACR,QAAQ,CAACgB,IAAI,CAACR,OAAO,CAAC;IAC3B,OAAO,IAAI;EACf;EAEAS,MAAMA,CAACZ,EAAU,EAAQ;IACrB,IAAI,CAACL,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACkB,MAAM,CAACL,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKA,EAAE,CAAC;IACtD,OAAO,IAAI;EACf;EAEAc,OAAOA,CAACd,EAAU,EAAEC,QAAuD,EAAQ;IAC/E,MAAME,OAAO,GAAG,IAAI,CAACR,QAAQ,CAACoB,IAAI,CAACP,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKA,EAAE,CAAC;IACpD,IAAIG,OAAO,EAAE;MACT,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAChCE,OAAO,CAACC,OAAO,GAAGH,QAAQ,CAACE,OAAO,CAACC,OAAO,CAAC;MAC/C,CAAC,MAAM;QACHD,OAAO,CAACC,OAAO,GAAGH,QAAQ;MAC9B;IACJ;IACA,OAAO,IAAI;EACf;EAEAe,WAAWA,CAACC,GAAW,EAAEC,KAAa,EAAQ;IAC1C,IAAI,CAACtB,SAAS,CAACuB,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;IAC9B,OAAO,IAAI;EACf;EAEAE,YAAYA,CAACC,IAA4B,EAAQ;IAC7CC,MAAM,CAACC,OAAO,CAACF,IAAI,CAAC,CAACG,OAAO,CAAC,CAAC,CAACP,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC3C,IAAI,CAACtB,SAAS,CAACuB,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,IAAI;EACf;EAEAO,WAAWA,CAACR,GAAW,EAAsB;IACzC,OAAO,IAAI,CAACrB,SAAS,CAAC8B,GAAG,CAACT,GAAG,CAAC;EAClC;EAEQU,mBAAmBA,CAACC,IAAY,EAAU;IAC9C,IAAIC,MAAM,GAAGD,IAAI;IACjB,IAAIE,cAAc,GAAG,EAAE;IACvB,IAAIC,KAAK,GAAG,CAAC;;IAEb;IACA,OAAOF,MAAM,KAAKC,cAAc,IAAIC,KAAK,GAAG,IAAI,CAACjC,uBAAuB,EAAE;MACtEgC,cAAc,GAAGD,MAAM;MAEvB,IAAI,CAACjC,SAAS,CAAC4B,OAAO,CAAC,CAACN,KAAK,EAAED,GAAG,KAAK;QACnC,MAAMe,KAAK,GAAG,IAAIC,MAAM,CAAC,MAAM,IAAI,CAACC,WAAW,CAACjB,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAC/DY,MAAM,GAAGA,MAAM,CAACf,OAAO,CAACkB,KAAK,EAAEd,KAAK,CAAC;MACzC,CAAC,CAAC;MAEFa,KAAK,EAAE;IACX;;IAEA;IACA,IAAIA,KAAK,KAAK,IAAI,CAACjC,uBAAuB,IAAI+B,MAAM,KAAKC,cAAc,EAAE;MACrEK,OAAO,CAACC,IAAI,CACR,4EACJ,CAAC;IACL;IAEA,OAAOP,MAAM;EACjB;EAEQK,WAAWA,CAACG,GAAW,EAAU;IACrC,OAAOA,GAAG,CAACvB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;EACrD;EAEAwB,KAAKA,CAACC,QAAQ,GAAG,IAAI,EAAU;IAC3B,MAAMnC,OAAO,GAAG,IAAI,CAACT,QAAQ,CAAC6C,GAAG,CAAChC,CAAC,IAAIA,CAAC,CAACJ,OAAO,CAAC,CAACqC,IAAI,CAACF,QAAQ,CAAC;IAChE,OAAO,IAAI,CAACZ,mBAAmB,CAACvB,OAAO,CAAC;EAC5C;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/nextjs/MarkdownContentBuilder.js","sources":["../../../src/features/nextjs/MarkdownContentBuilder.ts"],"sourcesContent":["export interface ISection {\n id: string;\n content: string;\n}\n\nexport interface IPositionOptions {\n before?: string;\n after?: string;\n}\nexport interface IMarkdownContentBuilder {\n add(id: string, text: string, position?: IPositionOptions): this;\n remove(id: string): this;\n replace(id: string, markdown: string | ((currentContent: string) => string)): this;\n setVariable(key: string, value: string): this;\n setVariables(vars: Record<string, string>): this;\n getVariable(key: string): string | undefined;\n build(joinWith?: string): string;\n}\n\nexport class MarkdownContentBuilder implements IMarkdownContentBuilder {\n private sections: ISection[] = [];\n private variables: Map<string, string> = new Map();\n private readonly MAX_INTERPOLATION_DEPTH = 10; // Prevent infinite loops\n\n add(id: string, markdown: string, position?: IPositionOptions): this {\n const section: ISection = { id, content: markdown };\n\n if (position?.before) {\n const index = this.sections.findIndex(s => s.id === position.before);\n if (index !== -1) {\n this.sections.splice(index, 0, section);\n return this;\n }\n }\n\n if (position?.after) {\n const index = this.sections.findIndex(s => s.id === position.after);\n if (index !== -1) {\n this.sections.splice(index + 1, 0, section);\n return this;\n }\n }\n\n this.sections.push(section);\n return this;\n }\n\n remove(id: string): this {\n this.sections = this.sections.filter(s => s.id !== id);\n return this;\n }\n\n replace(id: string, markdown: string | ((currentContent: string) => string)): this {\n const section = this.sections.find(s => s.id === id);\n if (section) {\n if (typeof markdown === \"function\") {\n section.content = markdown(section.content);\n } else {\n section.content = markdown;\n }\n }\n return this;\n }\n\n setVariable(key: string, value: string): this {\n this.variables.set(key, value);\n return this;\n }\n\n setVariables(vars: Record<string, string>): this {\n Object.entries(vars).forEach(([key, value]) => {\n this.variables.set(key, value);\n });\n return this;\n }\n\n getVariable(key: string): string | undefined {\n return this.variables.get(key);\n }\n\n private substituteVariables(text: string): string {\n let result = text;\n let previousResult = \"\";\n let depth = 0;\n\n // Keep substituting until no more changes occur or max depth reached\n while (result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH) {\n previousResult = result;\n\n this.variables.forEach((value, key) => {\n const regex = new RegExp(`\\\\{${this.escapeRegex(key)}\\\\}`, \"g\");\n result = result.replace(regex, value);\n });\n\n depth++;\n }\n\n // Warn about potential circular reference if max depth reached\n if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) {\n console.warn(\n \"Maximum interpolation depth reached. Possible circular variable reference.\"\n );\n }\n\n return result;\n }\n\n private escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n\n build(joinWith = \"\\n\"): string {\n const content = this.sections.map(s => s.content).join(joinWith);\n return this.substituteVariables(content);\n }\n}\n"],"names":["MarkdownContentBuilder","id","markdown","position","section","index","s","key","value","vars","Object","text","result","previousResult","depth","regex","RegExp","console","str","joinWith","content","Map"],"mappings":"AAmBO,MAAMA;IAKT,IAAIC,EAAU,EAAEC,QAAgB,EAAEC,QAA2B,EAAQ;QACjE,MAAMC,UAAoB;YAAEH;YAAI,SAASC;QAAS;QAElD,IAAIC,UAAU,QAAQ;YAClB,MAAME,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAKH,SAAS,MAAM;YACnE,IAAIE,AAAU,OAAVA,OAAc;gBACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACA,OAAO,GAAGD;gBAC/B,OAAO,IAAI;YACf;QACJ;QAEA,IAAID,UAAU,OAAO;YACjB,MAAME,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAKH,SAAS,KAAK;YAClE,IAAIE,AAAU,OAAVA,OAAc;gBACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACA,QAAQ,GAAG,GAAGD;gBACnC,OAAO,IAAI;YACf;QACJ;QAEA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACA;QACnB,OAAO,IAAI;IACf;IAEA,OAAOH,EAAU,EAAQ;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACK,CAAAA,IAAKA,EAAE,EAAE,KAAKL;QACnD,OAAO,IAAI;IACf;IAEA,QAAQA,EAAU,EAAEC,QAAuD,EAAQ;QAC/E,MAAME,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACE,CAAAA,IAAKA,EAAE,EAAE,KAAKL;QACjD,IAAIG,SACA,IAAI,AAAoB,cAApB,OAAOF,UACPE,QAAQ,OAAO,GAAGF,SAASE,QAAQ,OAAO;aAE1CA,QAAQ,OAAO,GAAGF;QAG1B,OAAO,IAAI;IACf;IAEA,YAAYK,GAAW,EAAEC,KAAa,EAAQ;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAACD,KAAKC;QACxB,OAAO,IAAI;IACf;IAEA,aAAaC,IAA4B,EAAQ;QAC7CC,OAAO,OAAO,CAACD,MAAM,OAAO,CAAC,CAAC,CAACF,KAAKC,MAAM;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAACD,KAAKC;QAC5B;QACA,OAAO,IAAI;IACf;IAEA,YAAYD,GAAW,EAAsB;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA;IAC9B;IAEQ,oBAAoBI,IAAY,EAAU;QAC9C,IAAIC,SAASD;QACb,IAAIE,iBAAiB;QACrB,IAAIC,QAAQ;QAGZ,MAAOF,WAAWC,kBAAkBC,QAAQ,IAAI,CAAC,uBAAuB,CAAE;YACtED,iBAAiBD;YAEjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAACJ,OAAOD;gBAC3B,MAAMQ,QAAQ,IAAIC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAACT,KAAK,GAAG,CAAC,EAAE;gBAC3DK,SAASA,OAAO,OAAO,CAACG,OAAOP;YACnC;YAEAM;QACJ;QAGA,IAAIA,UAAU,IAAI,CAAC,uBAAuB,IAAIF,WAAWC,gBACrDI,QAAQ,IAAI,CACR;QAIR,OAAOL;IACX;IAEQ,YAAYM,GAAW,EAAU;QACrC,OAAOA,IAAI,OAAO,CAAC,uBAAuB;IAC9C;IAEA,MAAMC,WAAW,IAAI,EAAU;QAC3B,MAAMC,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACd,CAAAA,IAAKA,EAAE,OAAO,EAAE,IAAI,CAACa;QACvD,OAAO,IAAI,CAAC,mBAAmB,CAACC;IACpC;;aA9FQ,QAAQ,GAAe,EAAE;aACzB,SAAS,GAAwB,IAAIC;aAC5B,uBAAuB,GAAG;;AA6F/C"}