@webiny/api-headless-cms 6.4.11 → 6.6.0-alpha.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 (773) hide show
  1. package/HeadlessCmsContextualSchema.d.ts +16 -0
  2. package/HeadlessCmsContextualSchema.js +32 -0
  3. package/HeadlessCmsContextualSchema.js.map +1 -0
  4. package/HeadlessCmsEndpointConfig.d.ts +10 -0
  5. package/HeadlessCmsEndpointConfig.js +5 -0
  6. package/HeadlessCmsEndpointConfig.js.map +1 -0
  7. package/HeadlessCmsFeature.d.ts +10 -0
  8. package/HeadlessCmsFeature.js +195 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +26 -0
  11. package/createCmsRoute.js +59 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +29 -15
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  16. package/crud/contentEntry/references/validateEntries.d.ts +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +17 -7
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry.crud.js +22 -20
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/defaultFields.js +3 -2
  22. package/crud/contentModel/defaultFields.js.map +1 -1
  23. package/crud/contentModel.crud.js +8 -6
  24. package/crud/contentModel.crud.js.map +1 -1
  25. package/crud/contentModelGroup.crud.js +7 -5
  26. package/crud/contentModelGroup.crud.js.map +1 -1
  27. package/domain/contentModel/schemas.d.ts +2 -0
  28. package/domain/contentModel/schemas.js +4 -2
  29. package/domain/contentModel/schemas.js.map +1 -1
  30. package/domain/contentModel/validation/modelFields.js +21 -15
  31. package/domain/contentModel/validation/modelFields.js.map +1 -1
  32. package/export/abstractions.d.ts +9 -0
  33. package/export/abstractions.js +6 -0
  34. package/export/abstractions.js.map +1 -0
  35. package/export/crud/exporting.js +8 -2
  36. package/export/crud/exporting.js.map +1 -1
  37. package/export/crud/importing.js +13 -4
  38. package/export/crud/importing.js.map +1 -1
  39. package/export/crud/imports/importGroups.js +23 -23
  40. package/export/crud/imports/importGroups.js.map +1 -1
  41. package/export/crud/imports/importModels.js +25 -22
  42. package/export/crud/imports/importModels.js.map +1 -1
  43. package/export/graphql/index.d.ts +2 -3
  44. package/export/graphql/index.js +6 -10
  45. package/export/graphql/index.js.map +1 -1
  46. package/exports/api/cms/model.d.ts +4 -1
  47. package/exports/api/cms/model.js +2 -0
  48. package/exports/api/cms/storage.d.ts +0 -1
  49. package/exports/api/cms/storage.js +0 -1
  50. package/features/ai/DescribeContentModelTool.d.ts +55 -0
  51. package/features/ai/DescribeContentModelTool.js +60 -0
  52. package/features/ai/DescribeContentModelTool.js.map +1 -0
  53. package/features/ai/ListContentModelsTool.d.ts +41 -0
  54. package/features/ai/ListContentModelsTool.js +44 -0
  55. package/features/ai/ListContentModelsTool.js.map +1 -0
  56. package/features/ai/QueryEntriesTool.d.ts +75 -0
  57. package/features/ai/QueryEntriesTool.js +90 -0
  58. package/features/ai/QueryEntriesTool.js.map +1 -0
  59. package/features/ai/feature.d.ts +8 -0
  60. package/features/ai/feature.js +15 -0
  61. package/features/ai/feature.js.map +1 -0
  62. package/features/ai/index.d.ts +4 -0
  63. package/features/ai/index.js +4 -0
  64. package/features/contentEntry/ContentEntriesFeature.js +0 -2
  65. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  66. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
  67. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
  68. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  69. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  70. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  71. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  72. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
  73. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
  74. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  75. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  76. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  77. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  78. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
  79. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
  80. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  81. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  82. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  83. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  84. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
  85. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
  86. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  87. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  88. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  89. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  90. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  91. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  92. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  93. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
  94. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
  95. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  96. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  97. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  98. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  99. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
  100. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
  101. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  102. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  103. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  104. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  105. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
  106. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
  107. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  108. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  109. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  110. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  111. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  112. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  113. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  114. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  115. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  116. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  117. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
  118. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
  119. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  120. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  121. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  122. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  123. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  124. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  125. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  126. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
  127. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
  128. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  129. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  130. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  131. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  132. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  133. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  134. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  135. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  136. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  137. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  138. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  139. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  140. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  141. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
  142. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
  143. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  144. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  145. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  146. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  147. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
  148. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
  149. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  150. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  151. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  152. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  153. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
  154. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
  155. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  156. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  157. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  158. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  159. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
  160. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
  161. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  162. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  163. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  164. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  165. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
  166. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
  167. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  168. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  169. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  170. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  171. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  172. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  173. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
  174. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
  175. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  176. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  177. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  178. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  179. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  180. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  181. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  182. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
  183. package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
  184. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  185. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  186. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  187. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  188. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  189. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  190. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  191. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  192. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  193. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  194. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
  195. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
  196. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  197. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  198. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  199. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  200. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
  201. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
  202. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  203. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  204. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  205. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  206. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
  207. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
  208. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  209. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  210. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  211. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  212. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
  213. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
  214. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  215. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  216. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  217. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  218. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
  219. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
  220. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  221. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  222. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  223. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  224. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
  225. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
  226. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  227. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  228. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  229. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  230. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  231. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  232. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  233. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  234. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  235. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  236. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  237. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  238. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  239. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  240. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  241. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  242. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  243. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  244. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  245. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  246. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  247. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  248. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  249. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  250. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  251. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  252. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  253. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  254. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
  255. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
  256. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
  257. package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
  258. package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
  259. package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
  260. package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
  261. package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
  262. package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
  263. package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
  264. package/features/contentModel/ComponentMapGenerator/index.js +2 -0
  265. package/features/contentModel/ContentModelFeature.js +6 -0
  266. package/features/contentModel/ContentModelFeature.js.map +1 -1
  267. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
  268. package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
  269. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  270. package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
  271. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  272. package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
  273. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  274. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
  275. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
  276. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  277. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
  278. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  279. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
  280. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  281. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
  282. package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
  283. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  284. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  285. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  286. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  287. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
  288. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
  289. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
  290. package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
  291. package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
  292. package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
  293. package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
  294. package/features/contentModel/RefModelsGenerator/feature.js +11 -0
  295. package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
  296. package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
  297. package/features/contentModel/RefModelsGenerator/index.js +2 -0
  298. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
  299. package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
  300. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  301. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  302. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  303. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
  304. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  305. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  306. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
  307. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  308. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  309. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  310. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  311. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  312. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  313. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  314. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  315. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  316. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  317. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  318. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  319. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  320. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  321. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  322. package/features/contentModel/shared/abstractions.d.ts +10 -0
  323. package/features/contentModel/shared/abstractions.js +2 -1
  324. package/features/contentModel/shared/abstractions.js.map +1 -1
  325. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
  326. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
  327. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  328. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
  329. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
  330. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  331. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
  332. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  333. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
  334. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
  335. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  336. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  337. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  338. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  339. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  340. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  341. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  342. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  343. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  344. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  345. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  346. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  347. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  348. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  349. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  350. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  351. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
  352. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
  353. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  354. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  355. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
  356. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  357. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
  358. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  359. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  360. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  361. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  362. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  363. package/features/contentModelGroup/shared/abstractions.js +2 -1
  364. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  365. package/features/graphql/feature.js +2 -0
  366. package/features/graphql/feature.js.map +1 -1
  367. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  368. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  369. package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
  370. package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
  371. package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
  372. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
  373. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  374. package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
  375. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  376. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  377. package/features/graphql/fields/base/RefToGraphQL.js +10 -18
  378. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  379. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  380. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  381. package/features/modelBuilder/abstractions.d.ts +10 -0
  382. package/features/modelBuilder/abstractions.js.map +1 -1
  383. package/features/modelBuilder/feature.js +2 -0
  384. package/features/modelBuilder/feature.js.map +1 -1
  385. package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
  386. package/features/modelBuilder/fields/AssetFieldType.js +46 -0
  387. package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
  388. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
  389. package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
  390. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  391. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
  392. package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
  393. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  394. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  395. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  396. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  397. package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
  398. package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
  399. package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
  400. package/features/modelBuilder/index.d.ts +1 -1
  401. package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
  402. package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
  403. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  404. package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
  405. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  406. package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
  407. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  408. package/features/shared/abstractions.d.ts +11 -15
  409. package/features/shared/abstractions.js +3 -3
  410. package/features/shared/abstractions.js.map +1 -1
  411. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  418. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  419. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  420. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  421. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  422. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  423. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  424. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  425. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  426. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  427. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  428. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  429. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  430. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  431. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  432. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  433. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  434. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  435. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  436. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  437. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  438. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  439. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  440. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  441. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  442. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  443. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  444. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  445. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  446. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  447. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  448. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  449. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  450. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  451. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  452. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  453. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  454. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  455. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  456. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  457. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  458. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  459. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  460. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  461. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  462. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  463. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  464. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  465. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  466. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  467. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  468. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  469. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  470. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  471. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  472. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  473. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  474. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  475. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  476. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  477. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  478. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  479. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  480. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  481. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  482. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  483. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  484. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  485. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  486. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  487. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  488. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  489. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  490. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  491. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  492. package/features/shared/storageOperations/index.d.ts +32 -0
  493. package/features/shared/storageOperations/index.js +32 -0
  494. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  495. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  496. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  497. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  498. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  499. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  500. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  501. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  502. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  503. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  504. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  505. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  506. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  507. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  508. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  509. package/features/sortMapper/SortMapper.js +2 -5
  510. package/features/sortMapper/SortMapper.js.map +1 -1
  511. package/features/whereMapper/WhereMapper.js +7 -5
  512. package/features/whereMapper/WhereMapper.js.map +1 -1
  513. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
  514. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  515. package/fieldConverters/abstractions.d.ts +14 -0
  516. package/fieldConverters/abstractions.js +13 -0
  517. package/fieldConverters/abstractions.js.map +1 -0
  518. package/fieldConverters/index.d.ts +1 -1
  519. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  520. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  521. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  522. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  523. package/graphql/CmsSchemaExecutor.js +5 -0
  524. package/graphql/CmsSchemaExecutor.js.map +1 -0
  525. package/graphql/buildSchemaPlugins.d.ts +2 -1
  526. package/graphql/buildSchemaPlugins.js +1 -3
  527. package/graphql/buildSchemaPlugins.js.map +1 -1
  528. package/graphql/checkEndpointAccess.js +5 -2
  529. package/graphql/checkEndpointAccess.js.map +1 -1
  530. package/graphql/createExecutableSchema.d.ts +1 -1
  531. package/graphql/createExecutableSchema.js +1 -1
  532. package/graphql/createExecutableSchema.js.map +1 -1
  533. package/graphql/generateSchema.d.ts +2 -1
  534. package/graphql/generateSchema.js +14 -5
  535. package/graphql/generateSchema.js.map +1 -1
  536. package/graphql/getSchema.js +7 -2
  537. package/graphql/getSchema.js.map +1 -1
  538. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  539. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  540. package/graphql/schema/baseContentSchema.d.ts +1 -6
  541. package/graphql/schema/baseContentSchema.js +5 -8
  542. package/graphql/schema/baseContentSchema.js.map +1 -1
  543. package/graphql/schema/baseSchema.d.ts +2 -2
  544. package/graphql/schema/baseSchema.js +6 -41
  545. package/graphql/schema/baseSchema.js.map +1 -1
  546. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  547. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  548. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  549. package/graphql/schema/cms/createEntryResolver.js +2 -2
  550. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  551. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  552. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  553. package/graphql/schema/cms/getEntryResolver.js +5 -4
  554. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  555. package/graphql/schema/cms/getModelResolver.d.ts +35 -0
  556. package/graphql/schema/cms/getModelResolver.js +49 -0
  557. package/graphql/schema/cms/getModelResolver.js.map +1 -0
  558. package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
  559. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  560. package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
  561. package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
  562. package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
  563. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  564. package/graphql/schema/cms/helpers/getModel.js +5 -3
  565. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  566. package/graphql/schema/cms/helpers/index.d.ts +1 -0
  567. package/graphql/schema/cms/helpers/index.js +1 -0
  568. package/graphql/schema/cms/helpers.d.ts +1 -0
  569. package/graphql/schema/cms/helpers.js +1 -0
  570. package/graphql/schema/cms/listEntriesResolver.js +5 -4
  571. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  572. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  573. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  574. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  575. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  576. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  577. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  578. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  579. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  580. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  581. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  582. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  583. package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
  584. package/graphql/schema/cms/resolvers/getModel.js +18 -0
  585. package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
  586. package/graphql/schema/cms/resolvers/index.d.ts +1 -0
  587. package/graphql/schema/cms/resolvers/index.js +1 -0
  588. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  589. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  590. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  591. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  592. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  593. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  594. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  595. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  596. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  597. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  598. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  599. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  600. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  601. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  602. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  603. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  604. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  605. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  606. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  607. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  608. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  609. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  610. package/graphql/schema/cms/typeDefs/query.js +2 -1
  611. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  612. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  613. package/graphql/schema/cms/typeDefs/responses.js +6 -1
  614. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  615. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  616. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  617. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  618. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  619. package/graphql/schema/contentEntries.js +43 -32
  620. package/graphql/schema/contentEntries.js.map +1 -1
  621. package/graphql/schema/contentModelGroups.js +39 -18
  622. package/graphql/schema/contentModelGroups.js.map +1 -1
  623. package/graphql/schema/contentModels.js +68 -16
  624. package/graphql/schema/contentModels.js.map +1 -1
  625. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  626. package/graphql/schema/createFieldResolvers.js.map +1 -1
  627. package/graphql/schema/createManageResolvers.js +4 -2
  628. package/graphql/schema/createManageResolvers.js.map +1 -1
  629. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  630. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  631. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  632. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  633. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  634. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  635. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  636. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  637. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  638. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  639. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  640. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  641. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  642. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  643. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  644. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  645. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  646. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  647. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  648. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  649. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  650. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  651. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  652. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  653. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  654. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  655. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  656. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  657. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  658. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  659. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  660. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  661. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  662. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  663. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  664. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  665. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  666. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  667. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  668. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  669. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  670. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  671. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  672. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  673. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  674. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  675. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  676. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  677. package/graphql/schema/schemaPlugins.d.ts +2 -1
  678. package/graphql/schema/schemaPlugins.js +2 -4
  679. package/graphql/schema/schemaPlugins.js.map +1 -1
  680. package/index.d.ts +7 -6
  681. package/index.js +4 -22
  682. package/legacy/abstractions.js.map +1 -1
  683. package/package.json +23 -29
  684. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  685. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  686. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  687. package/plugins/CmsModelPlugin.js +2 -1
  688. package/plugins/CmsModelPlugin.js.map +1 -1
  689. package/plugins/index.d.ts +0 -1
  690. package/plugins/index.js +0 -1
  691. package/types/fields/dynamicZoneField.d.ts +1 -0
  692. package/types/model.d.ts +6 -0
  693. package/types/modelField.d.ts +2 -0
  694. package/types/types.d.ts +10 -183
  695. package/types/types.js.map +1 -1
  696. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  697. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  698. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  699. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  700. package/utils/contentModelToJsonSchema/index.js +1 -0
  701. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  702. package/utils/contentModelToJsonSchema/types.js +0 -0
  703. package/utils/converters/ConverterCollection.d.ts +2 -2
  704. package/utils/converters/ConverterCollection.js +1 -3
  705. package/utils/converters/ConverterCollection.js.map +1 -1
  706. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  707. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  708. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  709. package/utils/converters/valueKeyStorageConverter.js +4 -2
  710. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  711. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  712. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  713. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  714. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  715. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  716. package/utils/index.d.ts +1 -0
  717. package/utils/index.js +1 -0
  718. package/utils/isHeadlessCmsReady.d.ts +1 -1
  719. package/utils/isHeadlessCmsReady.js +3 -2
  720. package/utils/isHeadlessCmsReady.js.map +1 -1
  721. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  722. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  723. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  724. package/abstractions/entryHooks/index.d.ts +0 -1
  725. package/abstractions/entryHooks/index.js +0 -1
  726. package/abstractions/index.d.ts +0 -1
  727. package/abstractions/index.js +0 -1
  728. package/context.d.ts +0 -3
  729. package/context.js +0 -131
  730. package/context.js.map +0 -1
  731. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  732. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  733. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  734. package/extensions/entryHooks/index.d.ts +0 -1
  735. package/extensions/entryHooks/index.js +0 -1
  736. package/extensions/index.d.ts +0 -5
  737. package/extensions/index.js +0 -7
  738. package/extensions/index.js.map +0 -1
  739. package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
  740. package/features/runtimeTenant/RuntimeTenant.js +0 -22
  741. package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
  742. package/features/runtimeTenant/abstractions.d.ts +0 -11
  743. package/features/runtimeTenant/abstractions.js +0 -5
  744. package/features/runtimeTenant/abstractions.js.map +0 -1
  745. package/features/runtimeTenant/index.d.ts +0 -2
  746. package/features/runtimeTenant/index.js +0 -2
  747. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  748. package/graphql/graphQLHandlerFactory.js +0 -22
  749. package/graphql/graphQLHandlerFactory.js.map +0 -1
  750. package/graphql/handleRequest.d.ts +0 -11
  751. package/graphql/handleRequest.js +0 -62
  752. package/graphql/handleRequest.js.map +0 -1
  753. package/graphql/index.d.ts +0 -4
  754. package/graphql/index.js +0 -11
  755. package/graphql/index.js.map +0 -1
  756. package/graphql/schema/cms/index.d.ts +0 -2
  757. package/graphql/schema/cms/index.js +0 -24
  758. package/graphql/schema/cms/index.js.map +0 -1
  759. package/index.js.map +0 -1
  760. package/parameters/context.d.ts +0 -2
  761. package/parameters/context.js +0 -7
  762. package/parameters/context.js.map +0 -1
  763. package/parameters/header.d.ts +0 -2
  764. package/parameters/header.js +0 -13
  765. package/parameters/header.js.map +0 -1
  766. package/parameters/index.d.ts +0 -3
  767. package/parameters/index.js +0 -3
  768. package/parameters/path.d.ts +0 -2
  769. package/parameters/path.js +0 -12
  770. package/parameters/path.js.map +0 -1
  771. package/plugins/CmsParametersPlugin.d.ts +0 -18
  772. package/plugins/CmsParametersPlugin.js +0 -16
  773. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -1,26 +1,24 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { RepublishEntryRepository } from "./abstractions.js";
3
- import { StorageOperations } from "../../shared/abstractions.js";
3
+ import { PublishEntryStorageOperation } from "../../shared/storageOperations/entry/PublishEntryStorageOperation.js";
4
+ import { UpdateEntryStorageOperation } from "../../shared/storageOperations/entry/UpdateEntryStorageOperation.js";
4
5
  import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
6
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
6
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
7
  class RepublishEntryRepositoryImpl {
8
- constructor(entryToStorageTransform, entryFromStorageTransform, storageOperations, runtimeTenant){
8
+ constructor(entryToStorageTransform, entryFromStorageTransform, publishEntryStorage, updateEntryStorage){
9
9
  this.entryToStorageTransform = entryToStorageTransform;
10
10
  this.entryFromStorageTransform = entryFromStorageTransform;
11
- this.storageOperations = storageOperations;
12
- this.runtimeTenant = runtimeTenant;
11
+ this.publishEntryStorage = publishEntryStorage;
12
+ this.updateEntryStorage = updateEntryStorage;
13
13
  }
14
- async execute(initialModel, initialEntry) {
15
- const model = this.runtimeTenant.assign(initialModel);
16
- const entry = this.runtimeTenant.assign(initialEntry);
14
+ async execute(model, entry) {
17
15
  try {
18
16
  const storageEntry = await this.entryToStorageTransform(model, entry);
19
- await this.storageOperations.entries.update(model, {
17
+ await this.updateEntryStorage.execute(model, {
20
18
  entry,
21
19
  storageEntry
22
20
  });
23
- const result = await this.storageOperations.entries.publish(model, {
21
+ const result = await this.publishEntryStorage.execute(model, {
24
22
  entry,
25
23
  storageEntry
26
24
  });
@@ -31,14 +29,13 @@ class RepublishEntryRepositoryImpl {
31
29
  }
32
30
  }
33
31
  }
34
- const RepublishEntryRepository_RepublishEntryRepository = createImplementation({
35
- abstraction: RepublishEntryRepository,
32
+ const RepublishEntryRepository_RepublishEntryRepository = RepublishEntryRepository.createImplementation({
36
33
  implementation: RepublishEntryRepositoryImpl,
37
34
  dependencies: [
38
35
  EntryToStorageTransform,
39
36
  EntryFromStorageTransform,
40
- StorageOperations,
41
- RuntimeTenant
37
+ PublishEntryStorageOperation,
38
+ UpdateEntryStorageOperation
42
39
  ]
43
40
  });
44
41
  export { RepublishEntryRepository_RepublishEntryRepository as RepublishEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/RepublishEntry/RepublishEntryRepository.js","sources":["../../../../src/features/contentEntry/RepublishEntry/RepublishEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { RepublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * RepublishEntryRepository - Handles storage operations for republishing entries.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Update the entry in storage\n * - Publish the entry in storage\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass RepublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n initialEntry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // First update the entry\n await this.storageOperations.entries.update(model, {\n entry,\n storageEntry\n });\n\n // Then publish it\n const result = await this.storageOperations.entries.publish<T>(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform<T>(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const RepublishEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: RepublishEntryRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n StorageOperations,\n RuntimeTenant\n ]\n});\n"],"names":["RepublishEntryRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","RepublishEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAoBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAJUH,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,YAAyB,EACgC;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAACD,OAAO;gBAC/CC;gBACAC;YACJ;YAGA,MAAMC,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAIH,OAAO;gBAClEC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAAIJ,OAAOG;YAExE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBjB;IAChB,cAAc;QACVkB;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/RepublishEntry/RepublishEntryRepository.js","sources":["../../../../src/features/contentEntry/RepublishEntry/RepublishEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { RepublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PublishEntryStorageOperation } from \"~/features/shared/storageOperations/entry/PublishEntryStorageOperation.js\";\nimport { UpdateEntryStorageOperation } from \"~/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * RepublishEntryRepository - Handles storage operations for republishing entries.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Update the entry in storage\n * - Publish the entry in storage\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass RepublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private publishEntryStorage: PublishEntryStorageOperation.Interface,\n private updateEntryStorage: UpdateEntryStorageOperation.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // First update the entry\n await this.updateEntryStorage.execute(model, {\n entry,\n storageEntry\n });\n\n // Then publish it\n const result = await this.publishEntryStorage.execute<T>(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform<T>(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const RepublishEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: RepublishEntryRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n PublishEntryStorageOperation,\n UpdateEntryStorageOperation\n ]\n});\n"],"names":["RepublishEntryRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","publishEntryStorage","updateEntryStorage","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","RepublishEntryRepository","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","PublishEntryStorageOperation","UpdateEntryStorageOperation"],"mappings":";;;;;;AAmBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,mBAA2D,EAC3DC,kBAAyD,CACnE;aAJUH,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,mBAAmB,GAAnBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO;gBACzCC;gBACAC;YACJ;YAGA,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAIH,OAAO;gBAC5DC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAAIJ,OAAOG;YAExE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBd;IAChB,cAAc;QACVe;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -15,5 +15,7 @@ declare class RepublishEntryUseCaseImpl implements UseCaseAbstraction.Interface
15
15
  constructor(repository: RepublishEntryRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, eventPublisher: EventPublisher.Interface, createRepublishEntryDataFactory: CreateRepublishEntryDataFactory.Interface);
16
16
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
17
17
  }
18
- export declare const RepublishEntryUseCase: import("@webiny/di").Implementation<typeof RepublishEntryUseCaseImpl>;
18
+ export declare const RepublishEntryUseCase: typeof RepublishEntryUseCaseImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRepublishEntryUseCase>;
20
+ };
19
21
  export {};
@@ -1,4 +1,4 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { RepublishEntryRepository, RepublishEntryUseCase } from "./abstractions.js";
4
4
  import { AccessControl } from "../../shared/abstractions.js";
@@ -62,8 +62,7 @@ class RepublishEntryUseCaseImpl {
62
62
  }
63
63
  }
64
64
  }
65
- const RepublishEntryUseCase_RepublishEntryUseCase = createImplementation({
66
- abstraction: RepublishEntryUseCase,
65
+ const RepublishEntryUseCase_RepublishEntryUseCase = RepublishEntryUseCase.createImplementation({
67
66
  implementation: RepublishEntryUseCaseImpl,
68
67
  dependencies: [
69
68
  RepublishEntryRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/RepublishEntry/RepublishEntryUseCase.js","sources":["../../../../src/features/contentEntry/RepublishEntry/RepublishEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RepublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RepublishEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforeRepublishEvent,\n EntryAfterRepublishEvent,\n EntryRepublishErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateRepublishEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.js\";\n\nclass RepublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: RepublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private createRepublishEntryDataFactory: CreateRepublishEntryDataFactory.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\", pw: \"p\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = result.value;\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"w\",\n pw: \"p\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { entry } = await this.createRepublishEntryDataFactory.create<T>(\n model,\n originalEntry\n );\n\n try {\n await this.eventPublisher.publish(\n new EntryBeforeRepublishEvent({\n entry,\n model\n })\n );\n\n const repositoryResult = await this.repository.execute<T>(model, entry);\n\n if (repositoryResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryRepublishErrorEvent({\n entry,\n model,\n error: repositoryResult.error\n })\n );\n return Result.fail(repositoryResult.error);\n }\n\n const publishedEntry = repositoryResult.value;\n\n await this.eventPublisher.publish(\n new EntryAfterRepublishEvent({\n entry: publishedEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRepublishErrorEvent({\n entry,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const RepublishEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: RepublishEntryUseCaseImpl,\n dependencies: [\n RepublishEntryRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n EventPublisher,\n CreateRepublishEntryDataFactory\n ]\n});\n"],"names":["RepublishEntryUseCaseImpl","repository","accessControl","getRevisionById","eventPublisher","createRepublishEntryDataFactory","model","id","canAccess","Result","EntryNotAuthorizedError","result","EntryNotFoundError","originalEntry","canAccessEntry","entry","EntryBeforeRepublishEvent","repositoryResult","EntryRepublishErrorEvent","publishedEntry","EntryAfterRepublishEvent","error","RepublishEntryUseCase","createImplementation","UseCaseAbstraction","RepublishEntryRepository","AccessControl","GetRevisionByIdUseCase","EventPublisher","CreateRepublishEntryDataFactory"],"mappings":";;;;;;;;AAiBA,MAAMA;IACF,YACYC,UAA8C,EAC9CC,aAAsC,EACtCC,eAAiD,EACjDC,cAAwC,EACxCC,+BAA0E,CACpF;aALUJ,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,+BAA+B,GAA/BA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EAC4C;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;YAAK,IAAI;QAAI;QACrF,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAMK,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIL,OAAOC;QAE5D,IAAII,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBL;QAG9C,MAAMM,gBAAgBF,OAAO,KAAK;QAElC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DR;YACA,OAAOO;YACP,KAAK;YACL,IAAI;QACR;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAES,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAC/DT,OACAO;QAGJ,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,0BAA0B;gBAC1BD;gBACAT;YACJ;YAGJ,MAAMW,mBAAmB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIX,OAAOS;YAEjE,IAAIE,iBAAiB,MAAM,IAAI;gBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;oBACzBH;oBACAT;oBACA,OAAOW,iBAAiB,KAAK;gBACjC;gBAEJ,OAAOR,OAAO,IAAI,CAACQ,iBAAiB,KAAK;YAC7C;YAEA,MAAME,iBAAiBF,iBAAiB,KAAK;YAE7C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;gBACzB,OAAOD;gBACPb;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACM;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,yBAAyB;gBACzBH;gBACAT;gBACA,OAAOe;YACX;YAEJ,OAAOZ,OAAO,IAAI,CAACY;QACvB;IACJ;AACJ;AAEO,MAAMC,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBxB;IAChB,cAAc;QACVyB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/RepublishEntry/RepublishEntryUseCase.js","sources":["../../../../src/features/contentEntry/RepublishEntry/RepublishEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RepublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RepublishEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforeRepublishEvent,\n EntryAfterRepublishEvent,\n EntryRepublishErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateRepublishEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.js\";\n\nclass RepublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: RepublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private createRepublishEntryDataFactory: CreateRepublishEntryDataFactory.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\", pw: \"p\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = result.value;\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"w\",\n pw: \"p\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { entry } = await this.createRepublishEntryDataFactory.create<T>(\n model,\n originalEntry\n );\n\n try {\n await this.eventPublisher.publish(\n new EntryBeforeRepublishEvent({\n entry,\n model\n })\n );\n\n const repositoryResult = await this.repository.execute<T>(model, entry);\n\n if (repositoryResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryRepublishErrorEvent({\n entry,\n model,\n error: repositoryResult.error\n })\n );\n return Result.fail(repositoryResult.error);\n }\n\n const publishedEntry = repositoryResult.value;\n\n await this.eventPublisher.publish(\n new EntryAfterRepublishEvent({\n entry: publishedEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRepublishErrorEvent({\n entry,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const RepublishEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: RepublishEntryUseCaseImpl,\n dependencies: [\n RepublishEntryRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n EventPublisher,\n CreateRepublishEntryDataFactory\n ]\n});\n"],"names":["RepublishEntryUseCaseImpl","repository","accessControl","getRevisionById","eventPublisher","createRepublishEntryDataFactory","model","id","canAccess","Result","EntryNotAuthorizedError","result","EntryNotFoundError","originalEntry","canAccessEntry","entry","EntryBeforeRepublishEvent","repositoryResult","EntryRepublishErrorEvent","publishedEntry","EntryAfterRepublishEvent","error","RepublishEntryUseCase","UseCaseAbstraction","RepublishEntryRepository","AccessControl","GetRevisionByIdUseCase","EventPublisher","CreateRepublishEntryDataFactory"],"mappings":";;;;;;;;AAgBA,MAAMA;IACF,YACYC,UAA8C,EAC9CC,aAAsC,EACtCC,eAAiD,EACjDC,cAAwC,EACxCC,+BAA0E,CACpF;aALUJ,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,+BAA+B,GAA/BA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EAC4C;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;YAAK,IAAI;QAAI;QACrF,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAMK,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIL,OAAOC;QAE5D,IAAII,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBL;QAG9C,MAAMM,gBAAgBF,OAAO,KAAK;QAElC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DR;YACA,OAAOO;YACP,KAAK;YACL,IAAI;QACR;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAES,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAC/DT,OACAO;QAGJ,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,0BAA0B;gBAC1BD;gBACAT;YACJ;YAGJ,MAAMW,mBAAmB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIX,OAAOS;YAEjE,IAAIE,iBAAiB,MAAM,IAAI;gBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;oBACzBH;oBACAT;oBACA,OAAOW,iBAAiB,KAAK;gBACjC;gBAEJ,OAAOR,OAAO,IAAI,CAACQ,iBAAiB,KAAK;YAC7C;YAEA,MAAME,iBAAiBF,iBAAiB,KAAK;YAE7C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;gBACzB,OAAOD;gBACPb;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACM;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,yBAAyB;gBACzBH;gBACAT;gBACA,OAAOe;YACX;YAEJ,OAAOZ,OAAO,IAAI,CAACY;QACvB;IACJ;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgBvB;IAChB,cAAc;QACVwB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,9 +1,8 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { RestoreEntryFromBinRepository as RepositoryAbstraction } from "./abstractions.js";
3
- import { StorageOperations } from "../../../features/shared/abstractions.js";
3
+ import { RestoreFromBinStorageOperation } from "../../../features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js";
4
4
  import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
5
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
6
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
7
6
  /**
8
7
  * RestoreEntryFromBinRepository - Handles storage operations for restoring entries from bin.
9
8
  *
@@ -16,10 +15,11 @@ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
16
15
  declare class RestoreEntryFromBinRepositoryImpl implements RepositoryAbstraction.Interface {
17
16
  private entryToStorageTransform;
18
17
  private entryFromStorageTransform;
19
- private storageOperations;
20
- private runtimeTenant;
21
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
22
- execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
18
+ private restoreFromBinStorage;
19
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, restoreFromBinStorage: RestoreFromBinStorageOperation.Interface);
20
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
23
21
  }
24
- export declare const RestoreEntryFromBinRepository: import("@webiny/di").Implementation<typeof RestoreEntryFromBinRepositoryImpl>;
22
+ export declare const RestoreEntryFromBinRepository: typeof RestoreEntryFromBinRepositoryImpl & {
23
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRestoreEntryFromBinRepository>;
24
+ };
25
25
  export {};
@@ -1,22 +1,18 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { RestoreEntryFromBinRepository } from "./abstractions.js";
3
- import { StorageOperations } from "../../shared/abstractions.js";
3
+ import { RestoreFromBinStorageOperation } from "../../shared/storageOperations/entry/RestoreFromBinStorageOperation.js";
4
4
  import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
5
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
6
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
6
  class RestoreEntryFromBinRepositoryImpl {
8
- constructor(entryToStorageTransform, entryFromStorageTransform, storageOperations, runtimeTenant){
7
+ constructor(entryToStorageTransform, entryFromStorageTransform, restoreFromBinStorage){
9
8
  this.entryToStorageTransform = entryToStorageTransform;
10
9
  this.entryFromStorageTransform = entryFromStorageTransform;
11
- this.storageOperations = storageOperations;
12
- this.runtimeTenant = runtimeTenant;
10
+ this.restoreFromBinStorage = restoreFromBinStorage;
13
11
  }
14
- async execute(initialModel, initialEntry) {
15
- const model = this.runtimeTenant.assign(initialModel);
16
- const entry = this.runtimeTenant.assign(initialEntry);
12
+ async execute(model, entry) {
17
13
  try {
18
14
  const storageEntry = await this.entryToStorageTransform(model, entry);
19
- const result = await this.storageOperations.entries.restoreFromBin(model, {
15
+ const result = await this.restoreFromBinStorage.execute(model, {
20
16
  entry,
21
17
  storageEntry
22
18
  });
@@ -27,14 +23,12 @@ class RestoreEntryFromBinRepositoryImpl {
27
23
  }
28
24
  }
29
25
  }
30
- const RestoreEntryFromBinRepository_RestoreEntryFromBinRepository = createImplementation({
31
- abstraction: RestoreEntryFromBinRepository,
26
+ const RestoreEntryFromBinRepository_RestoreEntryFromBinRepository = RestoreEntryFromBinRepository.createImplementation({
32
27
  implementation: RestoreEntryFromBinRepositoryImpl,
33
28
  dependencies: [
34
29
  EntryToStorageTransform,
35
30
  EntryFromStorageTransform,
36
- StorageOperations,
37
- RuntimeTenant
31
+ RestoreFromBinStorageOperation
38
32
  ]
39
33
  });
40
34
  export { RestoreEntryFromBinRepository_RestoreEntryFromBinRepository as RestoreEntryFromBinRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js","sources":["../../../../src/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { RestoreEntryFromBinRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * RestoreEntryFromBinRepository - Handles storage operations for restoring entries from bin.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Call storage operation to restore entry\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass RestoreEntryFromBinRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n initialEntry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Call storage operation\n const result = await this.storageOperations.entries.restoreFromBin<T>(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform<T>(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const RestoreEntryFromBinRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: RestoreEntryFromBinRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n StorageOperations,\n RuntimeTenant\n ]\n});\n"],"names":["RestoreEntryFromBinRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","RestoreEntryFromBinRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAiBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAJUH,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,YAAyB,EACgC;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAIH,OAAO;gBACzEC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAAIJ,OAAOG;YAExE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8DAAgCC,qBAAqB;IAC9D,aAAaC;IACb,gBAAgBjB;IAChB,cAAc;QACVkB;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js","sources":["../../../../src/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { RestoreEntryFromBinRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RestoreFromBinStorageOperation } from \"~/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js\";\nimport { EntryFromStorageTransform, EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * RestoreEntryFromBinRepository - Handles storage operations for restoring entries from bin.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Call storage operation to restore entry\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass RestoreEntryFromBinRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private restoreFromBinStorage: RestoreFromBinStorageOperation.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Call storage operation\n const result = await this.restoreFromBinStorage.execute<T>(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform<T>(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const RestoreEntryFromBinRepository = RepositoryAbstraction.createImplementation({\n implementation: RestoreEntryFromBinRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n RestoreFromBinStorageOperation\n ]\n});\n"],"names":["RestoreEntryFromBinRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","restoreFromBinStorage","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","RestoreEntryFromBinRepository","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","RestoreFromBinStorageOperation"],"mappings":";;;;;AAgBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,qBAA+D,CACzE;aAHUF,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,qBAAqB,GAArBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAIH,OAAO;gBAC9DC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAAIJ,OAAOG;YAExE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8DAAgCC,8BAAAA,oBAA0C,CAAC;IACpF,gBAAgBb;IAChB,cAAc;QACVc;QACAC;QACAC;KACH;AACL"}
@@ -27,5 +27,7 @@ declare class RestoreEntryFromBinUseCaseImpl implements UseCaseAbstraction.Inter
27
27
  constructor(repository: RestoreEntryFromBinRepository.Interface, accessControl: AccessControl.Interface, getDeletedEntry: GetLatestDeletedRevisionByEntryIdUseCase.Interface, identityContext: IdentityContext.Interface, eventPublisher: EventPublisher.Interface);
28
28
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
29
29
  }
30
- export declare const RestoreEntryFromBinUseCase: import("@webiny/di").Implementation<typeof RestoreEntryFromBinUseCaseImpl>;
30
+ export declare const RestoreEntryFromBinUseCase: typeof RestoreEntryFromBinUseCaseImpl & {
31
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRestoreEntryFromBinUseCase>;
32
+ };
31
33
  export {};
@@ -1,4 +1,4 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
3
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { RestoreEntryFromBinRepository, RestoreEntryFromBinUseCase } from "./abstractions.js";
@@ -77,8 +77,7 @@ class RestoreEntryFromBinUseCaseImpl {
77
77
  }
78
78
  }
79
79
  }
80
- const RestoreEntryFromBinUseCase_RestoreEntryFromBinUseCase = createImplementation({
81
- abstraction: RestoreEntryFromBinUseCase,
80
+ const RestoreEntryFromBinUseCase_RestoreEntryFromBinUseCase = RestoreEntryFromBinUseCase.createImplementation({
82
81
  implementation: RestoreEntryFromBinUseCaseImpl,
83
82
  dependencies: [
84
83
  RestoreEntryFromBinRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js","sources":["../../../../src/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RestoreEntryFromBinUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RestoreEntryFromBinRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestDeletedRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforeRestoreFromBinEvent,\n EntryAfterRestoreFromBinEvent,\n EntryRestoreFromBinErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\n\n/**\n * RestoreEntryFromBinUseCase - Orchestrates restoring a soft-deleted entry from the bin.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the deleted entry to restore by ID\n * - Clear deletion flags (wbyDeleted = false)\n * - Restore entry to its original folder\n * - Update restoration metadata\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass RestoreEntryFromBinUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: RestoreEntryFromBinRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getDeletedEntry: GetLatestDeletedRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the deleted entry to restore by ID\n const getResult = await this.getDeletedEntry.execute<T>(model, { id });\n\n if (getResult.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = getResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Create the restored entry data\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.identityContext.getIdentity();\n\n const entryToRestore: CmsEntry<T> = {\n ...originalEntry,\n wbyDeleted: false,\n\n // Entry location fields - restore to original folder\n location: {\n folderId: originalEntry.binOriginalFolderId\n },\n binOriginalFolderId: undefined,\n\n // Entry-level meta fields\n restoredOn: getDate(currentDateTime, null),\n restoredBy: getIdentity(currentIdentity, null),\n\n // Revision-level meta fields\n revisionRestoredOn: getDate(currentDateTime, null),\n revisionRestoredBy: getIdentity(currentIdentity, null)\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeRestoreFromBinEvent({\n entry: entryToRestore,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, entryToRestore);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRestoreFromBinErrorEvent({\n entry: entryToRestore,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const restoredEntry = result.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterRestoreFromBinEvent({\n entry: restoredEntry,\n model\n })\n );\n\n return Result.ok(restoredEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRestoreFromBinErrorEvent({\n entry: entryToRestore,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const RestoreEntryFromBinUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: RestoreEntryFromBinUseCaseImpl,\n dependencies: [\n RestoreEntryFromBinRepository,\n AccessControl,\n GetLatestDeletedRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher\n ]\n});\n"],"names":["RestoreEntryFromBinUseCaseImpl","repository","accessControl","getDeletedEntry","identityContext","eventPublisher","model","id","canAccess","Result","EntryNotAuthorizedError","getResult","EntryNotFoundError","originalEntry","canAccessEntry","currentDateTime","Date","currentIdentity","entryToRestore","undefined","getDate","getIdentity","EntryBeforeRestoreFromBinEvent","result","EntryRestoreFromBinErrorEvent","restoredEntry","EntryAfterRestoreFromBinEvent","error","RestoreEntryFromBinUseCase","createImplementation","UseCaseAbstraction","RestoreEntryFromBinRepository","AccessControl","GetLatestDeletedRevisionByEntryIdUseCase","IdentityContext","EventPublisher"],"mappings":";;;;;;;;;;AA+BA,MAAMA;IACF,YACYC,UAAmD,EACnDC,aAAsC,EACtCC,eAAmE,EACnEC,eAA0C,EAC1CC,cAAwC,CAClD;aALUJ,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EAC4C;QAEtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAIzD,MAAMK,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIL,OAAO;YAAEC;QAAG;QAEpE,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBL;QAG9C,MAAMM,gBAAgBF,UAAU,KAAK;QAGrC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DR;YACA,OAAOO;YACP,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAIzD,MAAMS,kBAAkB,IAAIC,OAAO,WAAW;QAC9C,MAAMC,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW;QAExD,MAAMC,iBAA8B;YAChC,GAAGL,aAAa;YAChB,YAAY;YAGZ,UAAU;gBACN,UAAUA,cAAc,mBAAmB;YAC/C;YACA,qBAAqBM;YAGrB,YAAYC,QAAQL,iBAAiB;YACrC,YAAYM,YAAYJ,iBAAiB;YAGzC,oBAAoBG,QAAQL,iBAAiB;YAC7C,oBAAoBM,YAAYJ,iBAAiB;QACrD;QAEA,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,+BAA+B;gBAC/B,OAAOJ;gBACPZ;YACJ;YAIJ,MAAMiB,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIjB,OAAOY;YAEvD,IAAIK,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9B,OAAON;oBACPZ;oBACA,OAAOiB,OAAO,KAAK;gBACvB;gBAEJ,OAAOd,OAAO,IAAI,CAACc,OAAO,KAAK;YACnC;YAEA,MAAME,gBAAgBF,OAAO,KAAK;YAGlC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,8BAA8B;gBAC9B,OAAOD;gBACPnB;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACgB;QACrB,EAAE,OAAOE,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,8BAA8B;gBAC9B,OAAON;gBACPZ;gBACA,OAAOqB;YACX;YAEJ,OAAOlB,OAAO,IAAI,CAACkB;QACvB;IACJ;AACJ;AAEO,MAAMC,wDAA6BC,qBAAqB;IAC3D,aAAaC;IACb,gBAAgB9B;IAChB,cAAc;QACV+B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js","sources":["../../../../src/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RestoreEntryFromBinUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { RestoreEntryFromBinRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestDeletedRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforeRestoreFromBinEvent,\n EntryAfterRestoreFromBinEvent,\n EntryRestoreFromBinErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\n\n/**\n * RestoreEntryFromBinUseCase - Orchestrates restoring a soft-deleted entry from the bin.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the deleted entry to restore by ID\n * - Clear deletion flags (wbyDeleted = false)\n * - Restore entry to its original folder\n * - Update restoration metadata\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass RestoreEntryFromBinUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: RestoreEntryFromBinRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getDeletedEntry: GetLatestDeletedRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the deleted entry to restore by ID\n const getResult = await this.getDeletedEntry.execute<T>(model, { id });\n\n if (getResult.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = getResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Create the restored entry data\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.identityContext.getIdentity();\n\n const entryToRestore: CmsEntry<T> = {\n ...originalEntry,\n wbyDeleted: false,\n\n // Entry location fields - restore to original folder\n location: {\n folderId: originalEntry.binOriginalFolderId\n },\n binOriginalFolderId: undefined,\n\n // Entry-level meta fields\n restoredOn: getDate(currentDateTime, null),\n restoredBy: getIdentity(currentIdentity, null),\n\n // Revision-level meta fields\n revisionRestoredOn: getDate(currentDateTime, null),\n revisionRestoredBy: getIdentity(currentIdentity, null)\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeRestoreFromBinEvent({\n entry: entryToRestore,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, entryToRestore);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRestoreFromBinErrorEvent({\n entry: entryToRestore,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const restoredEntry = result.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterRestoreFromBinEvent({\n entry: restoredEntry,\n model\n })\n );\n\n return Result.ok(restoredEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRestoreFromBinErrorEvent({\n entry: entryToRestore,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const RestoreEntryFromBinUseCase = UseCaseAbstraction.createImplementation({\n implementation: RestoreEntryFromBinUseCaseImpl,\n dependencies: [\n RestoreEntryFromBinRepository,\n AccessControl,\n GetLatestDeletedRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher\n ]\n});\n"],"names":["RestoreEntryFromBinUseCaseImpl","repository","accessControl","getDeletedEntry","identityContext","eventPublisher","model","id","canAccess","Result","EntryNotAuthorizedError","getResult","EntryNotFoundError","originalEntry","canAccessEntry","currentDateTime","Date","currentIdentity","entryToRestore","undefined","getDate","getIdentity","EntryBeforeRestoreFromBinEvent","result","EntryRestoreFromBinErrorEvent","restoredEntry","EntryAfterRestoreFromBinEvent","error","RestoreEntryFromBinUseCase","UseCaseAbstraction","RestoreEntryFromBinRepository","AccessControl","GetLatestDeletedRevisionByEntryIdUseCase","IdentityContext","EventPublisher"],"mappings":";;;;;;;;;;AA8BA,MAAMA;IACF,YACYC,UAAmD,EACnDC,aAAsC,EACtCC,eAAmE,EACnEC,eAA0C,EAC1CC,cAAwC,CAClD;aALUJ,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EAC4C;QAEtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAIzD,MAAMK,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIL,OAAO;YAAEC;QAAG;QAEpE,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBL;QAG9C,MAAMM,gBAAgBF,UAAU,KAAK;QAGrC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DR;YACA,OAAOO;YACP,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAIzD,MAAMS,kBAAkB,IAAIC,OAAO,WAAW;QAC9C,MAAMC,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW;QAExD,MAAMC,iBAA8B;YAChC,GAAGL,aAAa;YAChB,YAAY;YAGZ,UAAU;gBACN,UAAUA,cAAc,mBAAmB;YAC/C;YACA,qBAAqBM;YAGrB,YAAYC,QAAQL,iBAAiB;YACrC,YAAYM,YAAYJ,iBAAiB;YAGzC,oBAAoBG,QAAQL,iBAAiB;YAC7C,oBAAoBM,YAAYJ,iBAAiB;QACrD;QAEA,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,+BAA+B;gBAC/B,OAAOJ;gBACPZ;YACJ;YAIJ,MAAMiB,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIjB,OAAOY;YAEvD,IAAIK,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9B,OAAON;oBACPZ;oBACA,OAAOiB,OAAO,KAAK;gBACvB;gBAEJ,OAAOd,OAAO,IAAI,CAACc,OAAO,KAAK;YACnC;YAEA,MAAME,gBAAgBF,OAAO,KAAK;YAGlC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,8BAA8B;gBAC9B,OAAOD;gBACPnB;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACgB;QACrB,EAAE,OAAOE,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,8BAA8B;gBAC9B,OAAON;gBACPZ;gBACA,OAAOqB;YACX;YAEJ,OAAOlB,OAAO,IAAI,CAACkB;QACvB;IACJ;AACJ;AAEO,MAAMC,wDAA6BC,2BAAAA,oBAAuC,CAAC;IAC9E,gBAAgB7B;IAChB,cAAc;QACV8B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -2,19 +2,19 @@ import { Result } from "@webiny/feature/api";
2
2
  import { UnpublishEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import type { CmsEntry, CmsEntryValues } from "../../../types/index.js";
4
4
  import type { CmsModel } from "../../../types/index.js";
5
- import { StorageOperations } from "../../../features/shared/abstractions.js";
5
+ import { UnpublishEntryStorageOperation } from "../../../features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js";
6
6
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
7
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
8
7
  /**
9
8
  * UnpublishEntryRepository - Handles persistence of entry unpublish.
10
9
  * Transforms domain entry to storage format and persists unpublish operation.
11
10
  */
12
11
  declare class UnpublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {
13
12
  private entryToStorageTransform;
14
- private storageOperations;
15
- private runtimeTenant;
16
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
17
- execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
13
+ private unpublishEntryStorage;
14
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, unpublishEntryStorage: UnpublishEntryStorageOperation.Interface);
15
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
18
16
  }
19
- export declare const UnpublishEntryRepository: import("@webiny/di").Implementation<typeof UnpublishEntryRepositoryImpl>;
17
+ export declare const UnpublishEntryRepository: typeof UnpublishEntryRepositoryImpl & {
18
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUnpublishEntryRepository>;
19
+ };
20
20
  export {};
@@ -1,21 +1,17 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { UnpublishEntryRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
- import { StorageOperations } from "../../shared/abstractions.js";
4
+ import { UnpublishEntryStorageOperation } from "../../shared/storageOperations/entry/UnpublishEntryStorageOperation.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
6
  class UnpublishEntryRepositoryImpl {
8
- constructor(entryToStorageTransform, storageOperations, runtimeTenant){
7
+ constructor(entryToStorageTransform, unpublishEntryStorage){
9
8
  this.entryToStorageTransform = entryToStorageTransform;
10
- this.storageOperations = storageOperations;
11
- this.runtimeTenant = runtimeTenant;
9
+ this.unpublishEntryStorage = unpublishEntryStorage;
12
10
  }
13
- async execute(initialModel, initialEntry) {
14
- const model = this.runtimeTenant.assign(initialModel);
15
- const entry = this.runtimeTenant.assign(initialEntry);
11
+ async execute(model, entry) {
16
12
  try {
17
13
  const storageEntry = await this.entryToStorageTransform(model, entry);
18
- const result = await this.storageOperations.entries.unpublish(model, {
14
+ const result = await this.unpublishEntryStorage.execute(model, {
19
15
  entry,
20
16
  storageEntry
21
17
  });
@@ -25,13 +21,11 @@ class UnpublishEntryRepositoryImpl {
25
21
  }
26
22
  }
27
23
  }
28
- const UnpublishEntryRepository_UnpublishEntryRepository = createImplementation({
29
- abstraction: UnpublishEntryRepository,
24
+ const UnpublishEntryRepository_UnpublishEntryRepository = UnpublishEntryRepository.createImplementation({
30
25
  implementation: UnpublishEntryRepositoryImpl,
31
26
  dependencies: [
32
27
  EntryToStorageTransform,
33
- StorageOperations,
34
- RuntimeTenant
28
+ UnpublishEntryStorageOperation
35
29
  ]
36
30
  });
37
31
  export { UnpublishEntryRepository_UnpublishEntryRepository as UnpublishEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js","sources":["../../../../src/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { UnpublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * UnpublishEntryRepository - Handles persistence of entry unpublish.\n * Transforms domain entry to storage format and persists unpublish operation.\n */\nclass UnpublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n initialEntry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Persist unpublish to storage\n const result = await this.storageOperations.entries.unpublish<T>(model, {\n entry,\n storageEntry\n });\n\n return Result.ok(result);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const UnpublishEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: UnpublishEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["UnpublishEntryRepositoryImpl","entryToStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","result","Result","error","EntryPersistenceError","UnpublishEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAcA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,YAAyB,EACgC;QACzD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAIH,OAAO;gBACpEC;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAAyBC;QAAmBC;KAAc;AAC7E"}
1
+ {"version":3,"file":"features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js","sources":["../../../../src/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UnpublishEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { UnpublishEntryStorageOperation } from \"~/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * UnpublishEntryRepository - Handles persistence of entry unpublish.\n * Transforms domain entry to storage format and persists unpublish operation.\n */\nclass UnpublishEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private unpublishEntryStorage: UnpublishEntryStorageOperation.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Persist unpublish to storage\n const result = await this.unpublishEntryStorage.execute<T>(model, {\n entry,\n storageEntry\n });\n\n return Result.ok(result);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const UnpublishEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: UnpublishEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, UnpublishEntryStorageOperation]\n});\n"],"names":["UnpublishEntryRepositoryImpl","entryToStorageTransform","unpublishEntryStorage","model","entry","storageEntry","result","Result","error","EntryPersistenceError","UnpublishEntryRepository","RepositoryAbstraction","EntryToStorageTransform","UnpublishEntryStorageOperation"],"mappings":";;;;;AAYA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,qBAA+D,CACzE;aAFUD,uBAAuB,GAAvBA;aACAC,qBAAqB,GAArBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAIH,OAAO;gBAC9DC;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBX;IAChB,cAAc;QAACY;QAAyBC;KAA+B;AAC3E"}
@@ -16,5 +16,7 @@ declare class UnpublishEntryUseCaseImpl implements UseCaseAbstraction.Interface
16
16
  constructor(eventPublisher: EventPublisher.Interface, repository: UnpublishEntryRepository.Interface, accessControl: AccessControl.Interface, getPublishedRevisionByEntryId: GetPublishedRevisionByEntryIdUseCase.Interface, createUnpublishEntryDataFactory: CreateUnpublishEntryDataFactory.Interface);
17
17
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
18
18
  }
19
- export declare const UnpublishEntryUseCase: import("@webiny/di").Implementation<typeof UnpublishEntryUseCaseImpl>;
19
+ export declare const UnpublishEntryUseCase: typeof UnpublishEntryUseCaseImpl & {
20
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUnpublishEntryUseCase>;
21
+ };
20
22
  export {};
@@ -1,5 +1,5 @@
1
1
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
2
- import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { Result } from "@webiny/feature/api";
3
3
  import { parseIdentifier } from "@webiny/utils";
4
4
  import { UnpublishEntryRepository, UnpublishEntryUseCase } from "./abstractions.js";
5
5
  import { EntryAfterUnpublishEvent, EntryBeforeUnpublishEvent, EntryUnpublishErrorEvent } from "./events.js";
@@ -65,8 +65,7 @@ class UnpublishEntryUseCaseImpl {
65
65
  }
66
66
  }
67
67
  }
68
- const UnpublishEntryUseCase_UnpublishEntryUseCase = createImplementation({
69
- abstraction: UnpublishEntryUseCase,
68
+ const UnpublishEntryUseCase_UnpublishEntryUseCase = UnpublishEntryUseCase.createImplementation({
70
69
  implementation: UnpublishEntryUseCaseImpl,
71
70
  dependencies: [
72
71
  EventPublisher,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js","sources":["../../../../src/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.ts"],"sourcesContent":["import { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { UnpublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UnpublishEntryRepository } from \"./abstractions.js\";\nimport { EntryBeforeUnpublishEvent } from \"./events.js\";\nimport { EntryAfterUnpublishEvent } from \"./events.js\";\nimport { EntryUnpublishErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetPublishedRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetPublishedRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateUnpublishEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.js\";\n\nclass UnpublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: UnpublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getPublishedRevisionByEntryId: GetPublishedRevisionByEntryIdUseCase.Interface,\n private createUnpublishEntryDataFactory: CreateUnpublishEntryDataFactory.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, pw: \"u\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: entryId } = parseIdentifier(id);\n\n const publishedResult = await this.getPublishedRevisionByEntryId.execute<T>(model, entryId);\n\n if (publishedResult.isFail()) {\n return Result.fail(publishedResult.error);\n }\n\n const originalEntry = publishedResult.value;\n\n if (!originalEntry) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n if (originalEntry.id !== id) {\n return Result.fail(new EntryValidationError(`Entry is not published!`));\n }\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n pw: \"u\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { entry } = await this.createUnpublishEntryDataFactory.create<T>(originalEntry);\n\n try {\n await this.eventPublisher.publish(new EntryBeforeUnpublishEvent({ entry, model }));\n\n const unpublishResult = await this.repository.execute<T>(model, entry);\n if (unpublishResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryUnpublishErrorEvent({ entry, model, error: unpublishResult.error })\n );\n return Result.fail(unpublishResult.error);\n }\n\n const storageEntry = unpublishResult.value;\n\n await this.eventPublisher.publish(\n new EntryAfterUnpublishEvent({\n entry,\n storageEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryUnpublishErrorEvent({ entry, model, error: error as Error })\n );\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const UnpublishEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: UnpublishEntryUseCaseImpl,\n dependencies: [\n EventPublisher,\n UnpublishEntryRepository,\n AccessControl,\n GetPublishedRevisionByEntryIdUseCase,\n CreateUnpublishEntryDataFactory\n ]\n});\n"],"names":["UnpublishEntryUseCaseImpl","eventPublisher","repository","accessControl","getPublishedRevisionByEntryId","createUnpublishEntryDataFactory","model","id","canAccess","Result","EntryNotAuthorizedError","entryId","parseIdentifier","publishedResult","originalEntry","EntryNotFoundError","EntryValidationError","canAccessEntry","entry","EntryBeforeUnpublishEvent","unpublishResult","EntryUnpublishErrorEvent","storageEntry","EntryAfterUnpublishEvent","error","UnpublishEntryUseCase","createImplementation","UseCaseAbstraction","EventPublisher","UnpublishEntryRepository","AccessControl","GetPublishedRevisionByEntryIdUseCase","CreateUnpublishEntryDataFactory"],"mappings":";;;;;;;;;AAkBA,MAAMA;IACF,YACYC,cAAwC,EACxCC,UAA8C,EAC9CC,aAAsC,EACtCC,6BAA6E,EAC7EC,+BAA0E,CACpF;aALUJ,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,6BAA6B,GAA7BA;aACAC,+BAA+B,GAA/BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EAC4C;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,IAAI;QAAI;QAC3E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,IAAIK,OAAO,EAAE,GAAGC,gBAAgBL;QAExC,MAAMM,kBAAkB,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAIP,OAAOK;QAEnF,IAAIE,gBAAgB,MAAM,IACtB,OAAOJ,OAAO,IAAI,CAACI,gBAAgB,KAAK;QAG5C,MAAMC,gBAAgBD,gBAAgB,KAAK;QAE3C,IAAI,CAACC,eACD,OAAOL,OAAO,IAAI,CAAC,IAAIM,mBAAmBR;QAG9C,IAAIO,cAAc,EAAE,KAAKP,IACrB,OAAOE,OAAO,IAAI,CAAC,IAAIO,qBAAqB;QAGhD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DX;YACA,OAAOQ;YACP,IAAI;QACR;QAEA,IAAI,CAACG,gBACD,OAAOR,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAEY,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAIJ;QAEvE,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIK,0BAA0B;gBAAED;gBAAOZ;YAAM;YAE/E,MAAMc,kBAAkB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAId,OAAOY;YAChE,IAAIE,gBAAgB,MAAM,IAAI;gBAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;oBAAEH;oBAAOZ;oBAAO,OAAOc,gBAAgB,KAAK;gBAAC;gBAE9E,OAAOX,OAAO,IAAI,CAACW,gBAAgB,KAAK;YAC5C;YAEA,MAAME,eAAeF,gBAAgB,KAAK;YAE1C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;gBACzBL;gBACAI;gBACAhB;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACS;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,yBAAyB;gBAAEH;gBAAOZ;gBAAO,OAAOkB;YAAe;YAEvE,OAAOf,OAAO,IAAI,CAACe;QACvB;IACJ;AACJ;AAEO,MAAMC,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgB3B;IAChB,cAAc;QACV4B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js","sources":["../../../../src/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.ts"],"sourcesContent":["import { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { UnpublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UnpublishEntryRepository } from \"./abstractions.js\";\nimport { EntryBeforeUnpublishEvent } from \"./events.js\";\nimport { EntryAfterUnpublishEvent } from \"./events.js\";\nimport { EntryUnpublishErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetPublishedRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetPublishedRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues } from \"~/types/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateUnpublishEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.js\";\n\nclass UnpublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: UnpublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getPublishedRevisionByEntryId: GetPublishedRevisionByEntryIdUseCase.Interface,\n private createUnpublishEntryDataFactory: CreateUnpublishEntryDataFactory.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, pw: \"u\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: entryId } = parseIdentifier(id);\n\n const publishedResult = await this.getPublishedRevisionByEntryId.execute<T>(model, entryId);\n\n if (publishedResult.isFail()) {\n return Result.fail(publishedResult.error);\n }\n\n const originalEntry = publishedResult.value;\n\n if (!originalEntry) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n if (originalEntry.id !== id) {\n return Result.fail(new EntryValidationError(`Entry is not published!`));\n }\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n pw: \"u\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { entry } = await this.createUnpublishEntryDataFactory.create<T>(originalEntry);\n\n try {\n await this.eventPublisher.publish(new EntryBeforeUnpublishEvent({ entry, model }));\n\n const unpublishResult = await this.repository.execute<T>(model, entry);\n if (unpublishResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryUnpublishErrorEvent({ entry, model, error: unpublishResult.error })\n );\n return Result.fail(unpublishResult.error);\n }\n\n const storageEntry = unpublishResult.value;\n\n await this.eventPublisher.publish(\n new EntryAfterUnpublishEvent({\n entry,\n storageEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryUnpublishErrorEvent({ entry, model, error: error as Error })\n );\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const UnpublishEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: UnpublishEntryUseCaseImpl,\n dependencies: [\n EventPublisher,\n UnpublishEntryRepository,\n AccessControl,\n GetPublishedRevisionByEntryIdUseCase,\n CreateUnpublishEntryDataFactory\n ]\n});\n"],"names":["UnpublishEntryUseCaseImpl","eventPublisher","repository","accessControl","getPublishedRevisionByEntryId","createUnpublishEntryDataFactory","model","id","canAccess","Result","EntryNotAuthorizedError","entryId","parseIdentifier","publishedResult","originalEntry","EntryNotFoundError","EntryValidationError","canAccessEntry","entry","EntryBeforeUnpublishEvent","unpublishResult","EntryUnpublishErrorEvent","storageEntry","EntryAfterUnpublishEvent","error","UnpublishEntryUseCase","UseCaseAbstraction","EventPublisher","UnpublishEntryRepository","AccessControl","GetPublishedRevisionByEntryIdUseCase","CreateUnpublishEntryDataFactory"],"mappings":";;;;;;;;;AAiBA,MAAMA;IACF,YACYC,cAAwC,EACxCC,UAA8C,EAC9CC,aAAsC,EACtCC,6BAA6E,EAC7EC,+BAA0E,CACpF;aALUJ,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,6BAA6B,GAA7BA;aACAC,+BAA+B,GAA/BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EAC4C;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,IAAI;QAAI;QAC3E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,IAAIK,OAAO,EAAE,GAAGC,gBAAgBL;QAExC,MAAMM,kBAAkB,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAIP,OAAOK;QAEnF,IAAIE,gBAAgB,MAAM,IACtB,OAAOJ,OAAO,IAAI,CAACI,gBAAgB,KAAK;QAG5C,MAAMC,gBAAgBD,gBAAgB,KAAK;QAE3C,IAAI,CAACC,eACD,OAAOL,OAAO,IAAI,CAAC,IAAIM,mBAAmBR;QAG9C,IAAIO,cAAc,EAAE,KAAKP,IACrB,OAAOE,OAAO,IAAI,CAAC,IAAIO,qBAAqB;QAGhD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DX;YACA,OAAOQ;YACP,IAAI;QACR;QAEA,IAAI,CAACG,gBACD,OAAOR,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAEY,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAIJ;QAEvE,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIK,0BAA0B;gBAAED;gBAAOZ;YAAM;YAE/E,MAAMc,kBAAkB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAId,OAAOY;YAChE,IAAIE,gBAAgB,MAAM,IAAI;gBAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;oBAAEH;oBAAOZ;oBAAO,OAAOc,gBAAgB,KAAK;gBAAC;gBAE9E,OAAOX,OAAO,IAAI,CAACW,gBAAgB,KAAK;YAC5C;YAEA,MAAME,eAAeF,gBAAgB,KAAK;YAE1C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;gBACzBL;gBACAI;gBACAhB;YACJ;YAGJ,OAAOG,OAAO,EAAE,CAACS;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,yBAAyB;gBAAEH;gBAAOZ;gBAAO,OAAOkB;YAAe;YAEvE,OAAOf,OAAO,IAAI,CAACe;QACvB;IACJ;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgB1B;IAChB,cAAc;QACV2B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,19 +1,19 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { UpdateEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
4
- import { StorageOperations } from "../../../features/shared/abstractions.js";
4
+ import { UpdateEntryStorageOperation } from "../../../features/shared/storageOperations/entry/UpdateEntryStorageOperation.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
7
6
  /**
8
7
  * UpdateEntryRepository - Handles persistence of entry updates.
9
8
  * Transforms domain entry to storage format and persists changes.
10
9
  */
11
10
  declare class UpdateEntryRepositoryImpl implements RepositoryAbstraction.Interface {
12
11
  private entryToStorageTransform;
13
- private storageOperations;
14
- private readonly runtimeTenant;
15
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
- execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<void, RepositoryAbstraction.Error>>;
12
+ private updateEntryStorage;
13
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, updateEntryStorage: UpdateEntryStorageOperation.Interface);
14
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<void, RepositoryAbstraction.Error>>;
17
15
  }
18
- export declare const UpdateEntryRepository: import("@webiny/di").Implementation<typeof UpdateEntryRepositoryImpl>;
16
+ export declare const UpdateEntryRepository: typeof UpdateEntryRepositoryImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateEntryRepository>;
18
+ };
19
19
  export {};
@@ -1,21 +1,17 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { UpdateEntryRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
- import { StorageOperations } from "../../shared/abstractions.js";
4
+ import { UpdateEntryStorageOperation } from "../../shared/storageOperations/entry/UpdateEntryStorageOperation.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
6
  class UpdateEntryRepositoryImpl {
8
- constructor(entryToStorageTransform, storageOperations, runtimeTenant){
7
+ constructor(entryToStorageTransform, updateEntryStorage){
9
8
  this.entryToStorageTransform = entryToStorageTransform;
10
- this.storageOperations = storageOperations;
11
- this.runtimeTenant = runtimeTenant;
9
+ this.updateEntryStorage = updateEntryStorage;
12
10
  }
13
- async execute(initialModel, initialEntry) {
14
- const model = this.runtimeTenant.assign(initialModel);
15
- const entry = this.runtimeTenant.assign(initialEntry);
11
+ async execute(model, entry) {
16
12
  try {
17
13
  const storageEntry = await this.entryToStorageTransform(model, entry);
18
- await this.storageOperations.entries.update(model, {
14
+ await this.updateEntryStorage.execute(model, {
19
15
  entry,
20
16
  storageEntry
21
17
  });
@@ -25,13 +21,11 @@ class UpdateEntryRepositoryImpl {
25
21
  }
26
22
  }
27
23
  }
28
- const UpdateEntryRepository_UpdateEntryRepository = createImplementation({
29
- abstraction: UpdateEntryRepository,
24
+ const UpdateEntryRepository_UpdateEntryRepository = UpdateEntryRepository.createImplementation({
30
25
  implementation: UpdateEntryRepositoryImpl,
31
26
  dependencies: [
32
27
  EntryToStorageTransform,
33
- StorageOperations,
34
- RuntimeTenant
28
+ UpdateEntryStorageOperation
35
29
  ]
36
30
  });
37
31
  export { UpdateEntryRepository_UpdateEntryRepository as UpdateEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/UpdateEntry/UpdateEntryRepository.js","sources":["../../../../src/features/contentEntry/UpdateEntry/UpdateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { UpdateEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { RuntimeTenant } from \"~/features/runtimeTenant/abstractions.js\";\n\n/**\n * UpdateEntryRepository - Handles persistence of entry updates.\n * Transforms domain entry to storage format and persists changes.\n */\nclass UpdateEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface,\n private readonly runtimeTenant: RuntimeTenant.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n initialModel: CmsModel,\n initialEntry: CmsEntry<T>\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n const model = this.runtimeTenant.assign(initialModel);\n const entry = this.runtimeTenant.assign(initialEntry);\n\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Persist to storage\n await this.storageOperations.entries.update<T>(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: UpdateEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["UpdateEntryRepositoryImpl","entryToStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","Result","error","EntryPersistenceError","UpdateEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAaA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,EACrCC,aAAsC,CACzD;aAHUF,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;aACSC,aAAa,GAAbA;IAClB;IAEH,MAAM,QACFC,YAAsB,EACtBC,YAAyB,EACyB;QAClD,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QACxC,MAAMG,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAACF;QAExC,IAAI;YAEA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAID,OAAO;gBAClDC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBd;IAChB,cAAc;QAACe;QAAyBC;QAAmBC;KAAc;AAC7E"}
1
+ {"version":3,"file":"features/contentEntry/UpdateEntry/UpdateEntryRepository.js","sources":["../../../../src/features/contentEntry/UpdateEntry/UpdateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { UpdateEntryStorageOperation } from \"~/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * UpdateEntryRepository - Handles persistence of entry updates.\n * Transforms domain entry to storage format and persists changes.\n */\nclass UpdateEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private updateEntryStorage: UpdateEntryStorageOperation.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Persist to storage\n await this.updateEntryStorage.execute<T>(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, UpdateEntryStorageOperation]\n});\n"],"names":["UpdateEntryRepositoryImpl","entryToStorageTransform","updateEntryStorage","model","entry","storageEntry","Result","error","EntryPersistenceError","UpdateEntryRepository","RepositoryAbstraction","EntryToStorageTransform","UpdateEntryStorageOperation"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,kBAAyD,CACnE;aAFUD,uBAAuB,GAAvBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,KAAkB,EACgC;QAClD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;gBAC5CC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBV;IAChB,cAAc;QAACW;QAAyBC;KAA4B;AACxE"}
@@ -14,5 +14,7 @@ declare class UpdateEntryUseCaseImpl implements UseCaseAbstraction.Interface {
14
14
  constructor(eventPublisher: EventPublisher.Interface, repository: UpdateEntryRepository.Interface, accessControl: AccessControl.Interface, getRevisionByIdUseCase: GetRevisionByIdUseCase.Interface, updateEntryDataFactory: UpdateEntryDataFactory.Interface);
15
15
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, rawInput: UpdateCmsEntryInput<T>, options?: UpdateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
16
16
  }
17
- export declare const UpdateEntryUseCase: import("@webiny/di").Implementation<typeof UpdateEntryUseCaseImpl>;
17
+ export declare const UpdateEntryUseCase: typeof UpdateEntryUseCaseImpl & {
18
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateEntryUseCase>;
19
+ };
18
20
  export {};
@@ -1,4 +1,4 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { UpdateEntryRepository, UpdateEntryUseCase } from "./abstractions.js";
3
3
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { EntryAfterUpdateEvent, EntryBeforeUpdateEvent } from "./events.js";
@@ -52,8 +52,7 @@ class UpdateEntryUseCaseImpl {
52
52
  }
53
53
  }
54
54
  }
55
- const UpdateEntryUseCase_UpdateEntryUseCase = createImplementation({
56
- abstraction: UpdateEntryUseCase,
55
+ const UpdateEntryUseCase_UpdateEntryUseCase = UpdateEntryUseCase.createImplementation({
57
56
  implementation: UpdateEntryUseCaseImpl,
58
57
  dependencies: [
59
58
  EventPublisher,