@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
@@ -0,0 +1,90 @@
1
+ import { z } from "zod";
2
+ import { AiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { GetModelUseCase } from "../contentModel/GetModel/index.js";
4
+ import { ListLatestEntriesUseCase } from "../contentEntry/ListEntries/index.js";
5
+ import { CmsWhereMapper } from "../whereMapper/abstractions.js";
6
+ import { CmsSortMapper } from "../sortMapper/abstractions.js";
7
+ const MAX_LIMIT = 50;
8
+ const DEFAULT_LIMIT = 10;
9
+ const inputSchema = z.object({
10
+ modelId: z.string().describe("Model ID as returned by listContentModels."),
11
+ where: z.record(z.string(), z.unknown()).optional().describe("Flat filter object. Keys are `<fieldId>` for an exact match or `<fieldId>_<operator>` otherwise — e.g. { onSale: true, price_gt: 100, name_contains: 'desk', status: 'draft' }. Operators: _not, _in, _not_in, _lt, _lte, _gt, _gte, _contains, _not_contains, _startsWith, _not_startsWith, _between, _not_between. Mix the model's own fields with entry meta fields (id, entryId, status, createdOn, savedOn) freely — they are separated automatically. Use describeContentModel first so field IDs are real."),
12
+ sort: z.array(z.string()).optional().describe("Sort directives as `<fieldId>_ASC` or `<fieldId>_DESC` — e.g. ['price_DESC'] for a model field or ['savedOn_DESC'] for entry meta. Both forms are accepted; the distinction is handled automatically."),
13
+ search: z.string().optional().describe("Full-text search across the model's searchable fields."),
14
+ fields: z.array(z.string()).optional().describe("Restrict returned values to these field IDs. Use it whenever you only need a few fields — entries can be large."),
15
+ limit: z.number().int().positive().optional().describe(`Maximum entries to return. Defaults to ${DEFAULT_LIMIT}, capped at ${MAX_LIMIT}.`),
16
+ after: z.string().optional().describe("Pagination cursor from a previous call's meta.cursor.")
17
+ });
18
+ class QueryEntriesToolImpl {
19
+ constructor(getModel, listLatestEntries, whereMapper, sortMapper){
20
+ this.getModel = getModel;
21
+ this.listLatestEntries = listLatestEntries;
22
+ this.whereMapper = whereMapper;
23
+ this.sortMapper = sortMapper;
24
+ this.name = "queryEntries";
25
+ this.title = "Query content entries";
26
+ this.description = "Queries content entries for a model, with filtering, sorting, search and pagination. Returns the latest revision of each entry (including unpublished changes). Call describeContentModel first to learn the field IDs used in `where` and `sort`.";
27
+ this.inputSchema = inputSchema;
28
+ this.annotations = {
29
+ readOnlyHint: true
30
+ };
31
+ }
32
+ async execute(input) {
33
+ const modelResult = await this.getModel.execute(input.modelId);
34
+ if (modelResult.isFail()) throw new Error(`Unknown model "${input.modelId}": ${modelResult.error.message}. Call listContentModels for valid model IDs.`);
35
+ const model = modelResult.value;
36
+ const params = {
37
+ limit: Math.min(input.limit ?? DEFAULT_LIMIT, MAX_LIMIT)
38
+ };
39
+ if (input.where) {
40
+ const where = this.whereMapper.map({
41
+ fields: model.fields,
42
+ input: input.where
43
+ });
44
+ if (where) params.where = where;
45
+ }
46
+ if (input.sort?.length) {
47
+ const requested = input.sort;
48
+ const sort = this.sortMapper.map({
49
+ fields: model.fields,
50
+ input: requested
51
+ });
52
+ if (!sort || sort.length !== input.sort.length) throw new Error(`Could not read every sort directive in [${input.sort.join(", ")}]. Each one must be \`<fieldId>_ASC\` or \`<fieldId>_DESC\`, using a field ID from describeContentModel.`);
53
+ params.sort = sort;
54
+ }
55
+ if (input.search) params.search = input.search;
56
+ if (input.fields?.length) params.fields = input.fields;
57
+ if (input.after) params.after = input.after;
58
+ const result = await this.listLatestEntries.execute(model, params);
59
+ if (result.isFail()) throw new Error(`Could not query "${input.modelId}" entries: ${result.error.message}`);
60
+ const { entries, meta } = result.value;
61
+ return {
62
+ modelId: input.modelId,
63
+ entries: entries.map((entry)=>({
64
+ id: entry.id,
65
+ entryId: entry.entryId,
66
+ status: entry.status,
67
+ createdOn: entry.createdOn,
68
+ savedOn: entry.savedOn,
69
+ values: entry.values
70
+ })),
71
+ meta: {
72
+ totalCount: meta.totalCount,
73
+ hasMoreItems: meta.hasMoreItems,
74
+ cursor: meta.cursor
75
+ }
76
+ };
77
+ }
78
+ }
79
+ const QueryEntriesTool = AiSdkTool.createImplementation({
80
+ implementation: QueryEntriesToolImpl,
81
+ dependencies: [
82
+ GetModelUseCase,
83
+ ListLatestEntriesUseCase,
84
+ CmsWhereMapper,
85
+ CmsSortMapper
86
+ ]
87
+ });
88
+ export { QueryEntriesTool };
89
+
90
+ //# sourceMappingURL=QueryEntriesTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/QueryEntriesTool.js","sources":["../../../src/features/ai/QueryEntriesTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport type { IAiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\nimport { ListLatestEntriesUseCase } from \"~/features/contentEntry/ListEntries/index.js\";\nimport { CmsWhereMapper } from \"~/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"~/features/sortMapper/abstractions.js\";\nimport type { CmsEntryListParams } from \"~/types/index.js\";\nimport type { CmsEntryListSort } from \"~/types/index.js\";\n\n/**\n * Hard ceiling on returned entries. A model asking for \"all products\" would otherwise pull an entire\n * collection into the context window; the cursor in the response is the correct way to go deeper.\n */\nconst MAX_LIMIT = 50;\nconst DEFAULT_LIMIT = 10;\n\nconst inputSchema = z.object({\n modelId: z.string().describe(\"Model ID as returned by listContentModels.\"),\n where: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\n \"Flat filter object. Keys are `<fieldId>` for an exact match or `<fieldId>_<operator>` otherwise — e.g. { onSale: true, price_gt: 100, name_contains: 'desk', status: 'draft' }. Operators: _not, _in, _not_in, _lt, _lte, _gt, _gte, _contains, _not_contains, _startsWith, _not_startsWith, _between, _not_between. Mix the model's own fields with entry meta fields (id, entryId, status, createdOn, savedOn) freely — they are separated automatically. Use describeContentModel first so field IDs are real.\"\n ),\n sort: z\n .array(z.string())\n .optional()\n .describe(\n \"Sort directives as `<fieldId>_ASC` or `<fieldId>_DESC` — e.g. ['price_DESC'] for a model field or ['savedOn_DESC'] for entry meta. Both forms are accepted; the distinction is handled automatically.\"\n ),\n search: z\n .string()\n .optional()\n .describe(\"Full-text search across the model's searchable fields.\"),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n \"Restrict returned values to these field IDs. Use it whenever you only need a few fields — entries can be large.\"\n ),\n limit: z\n .number()\n .int()\n .positive()\n .optional()\n .describe(\n `Maximum entries to return. Defaults to ${DEFAULT_LIMIT}, capped at ${MAX_LIMIT}.`\n ),\n after: z.string().optional().describe(\"Pagination cursor from a previous call's meta.cursor.\")\n});\n\ntype Input = z.infer<typeof inputSchema>;\n\ninterface EntrySummary {\n id: string;\n entryId: string;\n status: string;\n createdOn: string;\n savedOn: string;\n values: Record<string, unknown>;\n}\n\ninterface QueryEntriesResult {\n modelId: string;\n entries: EntrySummary[];\n meta: {\n totalCount: number;\n hasMoreItems: boolean;\n cursor: string | null;\n };\n}\n\n/**\n * Reads entries for one model.\n *\n * Uses the LATEST revisions (the manage-API view), not published ones — an editor asking \"which\n * products are discounted\" means the content as it currently stands in the admin app, including\n * unpublished edits. Filter on `status` for a published-only view.\n *\n * `where` is passed through to the CMS rather than re-modelled as a Zod schema: the valid keys depend\n * entirely on the model's fields, which are only known at runtime. An invalid filter surfaces as a\n * tool error the model can correct, which is why `describeContentModel` is named in the description.\n *\n * `where` and `sort` arrive FLAT and go through `CmsWhereMapper`/`CmsSortMapper`, which nest the\n * model's own fields under `values` and leave entry meta at the top. The flat form is what a model\n * writes, because `describeContentModel` hands it a flat list of fieldIds.\n */\nclass QueryEntriesToolImpl implements IAiSdkTool<Input> {\n readonly name = \"queryEntries\";\n readonly title = \"Query content entries\";\n readonly description =\n \"Queries content entries for a model, with filtering, sorting, search and pagination. Returns the latest revision of each entry (including unpublished changes). Call describeContentModel first to learn the field IDs used in `where` and `sort`.\";\n readonly inputSchema = inputSchema;\n readonly annotations = { readOnlyHint: true };\n\n constructor(\n private getModel: GetModelUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private whereMapper: CmsWhereMapper.Interface,\n private sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(input: Input): Promise<QueryEntriesResult> {\n const modelResult = await this.getModel.execute(input.modelId);\n\n if (modelResult.isFail()) {\n throw new Error(\n `Unknown model \"${input.modelId}\": ${modelResult.error.message}. Call listContentModels for valid model IDs.`\n );\n }\n\n const model = modelResult.value;\n\n const params: CmsEntryListParams = {\n limit: Math.min(input.limit ?? DEFAULT_LIMIT, MAX_LIMIT)\n };\n\n if (input.where) {\n const where = this.whereMapper.map({ fields: model.fields, input: input.where });\n\n if (where) {\n params.where = where;\n }\n }\n\n if (input.sort?.length) {\n /*\n * `CmsEntryListSort` is a template-literal type, while the schema yields plain strings\n * because a model writes whatever it likes. Casting here is safe only because of the\n * check below, which refuses the call if the mapper could not read every directive.\n */\n const requested = input.sort as CmsEntryListSort;\n const sort = this.sortMapper.map({ fields: model.fields, input: requested });\n\n /*\n * The mapper drops a directive it cannot parse. Silence is the wrong answer here: the\n * query would run unsorted and the model would present the result as sorted. Comparing\n * lengths rather than re-checking the format keeps this in step with whatever the mapper\n * accepts.\n */\n if (!sort || sort.length !== input.sort.length) {\n throw new Error(\n `Could not read every sort directive in [${input.sort.join(\", \")}]. Each one must be \\`<fieldId>_ASC\\` or \\`<fieldId>_DESC\\`, using a field ID from describeContentModel.`\n );\n }\n\n params.sort = sort;\n }\n\n if (input.search) {\n params.search = input.search;\n }\n\n if (input.fields?.length) {\n params.fields = input.fields;\n }\n\n if (input.after) {\n params.after = input.after;\n }\n\n const result = await this.listLatestEntries.execute(model, params);\n\n if (result.isFail()) {\n throw new Error(`Could not query \"${input.modelId}\" entries: ${result.error.message}`);\n }\n\n const { entries, meta } = result.value;\n\n return {\n modelId: input.modelId,\n entries: entries.map(entry => ({\n id: entry.id,\n entryId: entry.entryId,\n status: entry.status,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn,\n values: entry.values\n })),\n meta: {\n totalCount: meta.totalCount,\n hasMoreItems: meta.hasMoreItems,\n cursor: meta.cursor\n }\n };\n }\n}\n\nexport const QueryEntriesTool = AiSdkTool.createImplementation({\n implementation: QueryEntriesToolImpl,\n dependencies: [GetModelUseCase, ListLatestEntriesUseCase, CmsWhereMapper, CmsSortMapper]\n});\n"],"names":["MAX_LIMIT","DEFAULT_LIMIT","inputSchema","z","QueryEntriesToolImpl","getModel","listLatestEntries","whereMapper","sortMapper","input","modelResult","Error","model","params","Math","where","requested","sort","result","entries","meta","entry","QueryEntriesTool","AiSdkTool","GetModelUseCase","ListLatestEntriesUseCase","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;AAcA,MAAMA,YAAY;AAClB,MAAMC,gBAAgB;AAEtB,MAAMC,cAAcC,EAAE,MAAM,CAAC;IACzB,SAASA,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,OAAOA,EAAAA,MACI,CAACA,EAAE,MAAM,IAAIA,EAAE,OAAO,IAC5B,QAAQ,GACR,QAAQ,CACL;IAER,MAAMA,EAAAA,KACI,CAACA,EAAE,MAAM,IACd,QAAQ,GACR,QAAQ,CACL;IAER,QAAQA,EAAAA,MACG,GACN,QAAQ,GACR,QAAQ,CAAC;IACd,QAAQA,EAAAA,KACE,CAACA,EAAE,MAAM,IACd,QAAQ,GACR,QAAQ,CACL;IAER,OAAOA,EAAAA,MACI,GACN,GAAG,GACH,QAAQ,GACR,QAAQ,GACR,QAAQ,CACL,CAAC,uCAAuC,EAAEF,cAAc,YAAY,EAAED,UAAU,CAAC,CAAC;IAE1F,OAAOG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1C;AAsCA,MAAMC;IAQF,YACYC,QAAmC,EACnCC,iBAAqD,EACrDC,WAAqC,EACrCC,UAAmC,CAC7C;aAJUH,QAAQ,GAARA;aACAC,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;aAXH,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAGN;aACd,WAAW,GAAG;YAAE,cAAc;QAAK;IAOzC;IAEH,MAAM,QAAQO,KAAY,EAA+B;QACrD,MAAMC,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACD,MAAM,OAAO;QAE7D,IAAIC,YAAY,MAAM,IAClB,MAAM,IAAIC,MACN,CAAC,eAAe,EAAEF,MAAM,OAAO,CAAC,GAAG,EAAEC,YAAY,KAAK,CAAC,OAAO,CAAC,6CAA6C,CAAC;QAIrH,MAAME,QAAQF,YAAY,KAAK;QAE/B,MAAMG,SAA6B;YAC/B,OAAOC,KAAK,GAAG,CAACL,MAAM,KAAK,IAAIR,eAAeD;QAClD;QAEA,IAAIS,MAAM,KAAK,EAAE;YACb,MAAMM,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAAE,QAAQH,MAAM,MAAM;gBAAE,OAAOH,MAAM,KAAK;YAAC;YAE9E,IAAIM,OACAF,OAAO,KAAK,GAAGE;QAEvB;QAEA,IAAIN,MAAM,IAAI,EAAE,QAAQ;YAMpB,MAAMO,YAAYP,MAAM,IAAI;YAC5B,MAAMQ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQL,MAAM,MAAM;gBAAE,OAAOI;YAAU;YAQ1E,IAAI,CAACC,QAAQA,KAAK,MAAM,KAAKR,MAAM,IAAI,CAAC,MAAM,EAC1C,MAAM,IAAIE,MACN,CAAC,wCAAwC,EAAEF,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,wGAAwG,CAAC;YAIlLI,OAAO,IAAI,GAAGI;QAClB;QAEA,IAAIR,MAAM,MAAM,EACZI,OAAO,MAAM,GAAGJ,MAAM,MAAM;QAGhC,IAAIA,MAAM,MAAM,EAAE,QACdI,OAAO,MAAM,GAAGJ,MAAM,MAAM;QAGhC,IAAIA,MAAM,KAAK,EACXI,OAAO,KAAK,GAAGJ,MAAM,KAAK;QAG9B,MAAMS,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACN,OAAOC;QAE3D,IAAIK,OAAO,MAAM,IACb,MAAM,IAAIP,MAAM,CAAC,iBAAiB,EAAEF,MAAM,OAAO,CAAC,WAAW,EAAES,OAAO,KAAK,CAAC,OAAO,EAAE;QAGzF,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF,OAAO,KAAK;QAEtC,OAAO;YACH,SAAST,MAAM,OAAO;YACtB,SAASU,QAAQ,GAAG,CAACE,CAAAA,QAAU;oBAC3B,IAAIA,MAAM,EAAE;oBACZ,SAASA,MAAM,OAAO;oBACtB,QAAQA,MAAM,MAAM;oBACpB,WAAWA,MAAM,SAAS;oBAC1B,SAASA,MAAM,OAAO;oBACtB,QAAQA,MAAM,MAAM;gBACxB;YACA,MAAM;gBACF,YAAYD,KAAK,UAAU;gBAC3B,cAAcA,KAAK,YAAY;gBAC/B,QAAQA,KAAK,MAAM;YACvB;QACJ;IACJ;AACJ;AAEO,MAAME,mBAAmBC,UAAU,oBAAoB,CAAC;IAC3D,gBAAgBnB;IAChB,cAAc;QAACoB;QAAiBC;QAA0BC;QAAgBC;KAAc;AAC5F"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Read-only CMS tools for AI callers. Registered as `AiSdkTool` implementations, so any caller that
3
+ * builds a tool set from that abstraction picks them up without naming them.
4
+ */
5
+ export declare const CmsAiToolsFeature: {
6
+ name: string;
7
+ register(container: import("@webiny/di").Container): void;
8
+ };
@@ -0,0 +1,15 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListContentModelsTool } from "./ListContentModelsTool.js";
3
+ import { DescribeContentModelTool } from "./DescribeContentModelTool.js";
4
+ import { QueryEntriesTool } from "./QueryEntriesTool.js";
5
+ const CmsAiToolsFeature = createFeature({
6
+ name: "HeadlessCms/AiTools",
7
+ register (container) {
8
+ container.register(ListContentModelsTool);
9
+ container.register(DescribeContentModelTool);
10
+ container.register(QueryEntriesTool);
11
+ }
12
+ });
13
+ export { CmsAiToolsFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/feature.js","sources":["../../../src/features/ai/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListContentModelsTool } from \"./ListContentModelsTool.js\";\nimport { DescribeContentModelTool } from \"./DescribeContentModelTool.js\";\nimport { QueryEntriesTool } from \"./QueryEntriesTool.js\";\n\n/**\n * Read-only CMS tools for AI callers. Registered as `AiSdkTool` implementations, so any caller that\n * builds a tool set from that abstraction picks them up without naming them.\n */\nexport const CmsAiToolsFeature = createFeature({\n name: \"HeadlessCms/AiTools\",\n register(container) {\n container.register(ListContentModelsTool);\n container.register(DescribeContentModelTool);\n container.register(QueryEntriesTool);\n }\n});\n"],"names":["CmsAiToolsFeature","createFeature","container","ListContentModelsTool","DescribeContentModelTool","QueryEntriesTool"],"mappings":";;;;AASO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
@@ -0,0 +1,4 @@
1
+ export { CmsAiToolsFeature } from "./feature.js";
2
+ export { ListContentModelsTool } from "./ListContentModelsTool.js";
3
+ export { DescribeContentModelTool } from "./DescribeContentModelTool.js";
4
+ export { QueryEntriesTool } from "./QueryEntriesTool.js";
@@ -0,0 +1,4 @@
1
+ export { CmsAiToolsFeature } from "./feature.js";
2
+ export { ListContentModelsTool } from "./ListContentModelsTool.js";
3
+ export { DescribeContentModelTool } from "./DescribeContentModelTool.js";
4
+ export { QueryEntriesTool } from "./QueryEntriesTool.js";
@@ -28,11 +28,9 @@ import { UpdateSingletonEntryFeature } from "./UpdateSingletonEntry/feature.js";
28
28
  import { ContentEntryTraverserFeature } from "./ContentEntryTraverser/feature.js";
29
29
  import { UpdateRevisionDescriptionFeature } from "./UpdateRevisionDescription/feature.js";
30
30
  import { EntryDataFactoriesFeature } from "./entryDataFactories/EntryDataFactoriesFeature.js";
31
- import { RuntimeTenant } from "../runtimeTenant/RuntimeTenant.js";
32
31
  const ContentEntriesFeature = createFeature({
33
32
  name: "ContentEntries",
34
33
  register (container) {
35
- container.register(RuntimeTenant);
36
34
  EntryDataFactoriesFeature.register(container);
37
35
  GetRevisionByIdFeature.register(container);
38
36
  GetEntriesByIdsFeature.register(container);
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ContentEntriesFeature.js","sources":["../../../src/features/contentEntry/ContentEntriesFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryFeature } from \"./CreateEntry/feature.js\";\nimport { CreateEntryRevisionFromFeature } from \"./CreateEntryRevisionFrom/feature.js\";\nimport { UpdateEntryFeature } from \"./UpdateEntry/feature.js\";\nimport { ValidateEntryFeature } from \"./ValidateEntry/feature.js\";\nimport { MoveEntryFeature } from \"./MoveEntry/feature.js\";\nimport { RepublishEntryFeature } from \"./RepublishEntry/feature.js\";\nimport { PublishEntryFeature } from \"./PublishEntry/feature.js\";\nimport { GetRevisionByIdFeature } from \"./GetRevisionById/feature.js\";\nimport { ListEntriesFeature } from \"./ListEntries/feature.js\";\nimport { GetEntriesByIdsFeature } from \"./GetEntriesByIds/feature.js\";\nimport { GetEntryByIdFeature } from \"./GetEntryById/feature.js\";\nimport { GetPublishedEntriesByIdsFeature } from \"./GetPublishedEntriesByIds/feature.js\";\nimport { GetLatestEntriesByIdsFeature } from \"./GetLatestEntriesByIds/feature.js\";\nimport { GetRevisionsByEntryIdFeature } from \"./GetRevisionsByEntryId/feature.js\";\nimport { GetPreviousRevisionByEntryIdFeature } from \"./GetPreviousRevisionByEntryId/feature.js\";\nimport { GetEntryFeature } from \"./GetEntry/feature.js\";\nimport { DeleteEntryFeature } from \"./DeleteEntry/feature.js\";\nimport { DeleteEntryRevisionFeature } from \"./DeleteEntryRevision/feature.js\";\nimport { DeleteMultipleEntriesFeature } from \"./DeleteMultipleEntries/feature.js\";\nimport { RestoreEntryFromBinFeature } from \"./RestoreEntryFromBin/feature.js\";\nimport { GetLatestRevisionByEntryIdFeature } from \"./GetLatestRevisionByEntryId/feature.js\";\nimport { GetPublishedRevisionByEntryIdFeature } from \"./GetPublishedRevisionByEntryId/feature.js\";\nimport { UnpublishEntryFeature } from \"./UnpublishEntry/feature.js\";\nimport { GetUniqueFieldValuesFeature } from \"./GetUniqueFieldValues/feature.js\";\nimport { GetSingletonEntryFeature } from \"./GetSingletonEntry/feature.js\";\nimport { UpdateSingletonEntryFeature } from \"./UpdateSingletonEntry/feature.js\";\nimport { ContentEntryTraverserFeature } from \"./ContentEntryTraverser/feature.js\";\nimport { UpdateRevisionDescriptionFeature } from \"./UpdateRevisionDescription/feature.js\";\nimport { EntryDataFactoriesFeature } from \"./entryDataFactories/EntryDataFactoriesFeature.js\";\nimport { RuntimeTenant } from \"../runtimeTenant/RuntimeTenant.js\";\n\nexport const ContentEntriesFeature = createFeature({\n name: \"ContentEntries\",\n register(container) {\n container.register(RuntimeTenant);\n EntryDataFactoriesFeature.register(container);\n // Query features\n GetRevisionByIdFeature.register(container);\n GetEntriesByIdsFeature.register(container);\n GetEntryByIdFeature.register(container);\n GetPublishedEntriesByIdsFeature.register(container);\n GetPublishedRevisionByEntryIdFeature.register(container);\n GetLatestEntriesByIdsFeature.register(container);\n GetLatestRevisionByEntryIdFeature.register(container);\n GetRevisionsByEntryIdFeature.register(container);\n GetPreviousRevisionByEntryIdFeature.register(container);\n GetEntryFeature.register(container);\n ListEntriesFeature.register(container);\n GetUniqueFieldValuesFeature.register(container);\n GetSingletonEntryFeature.register(container);\n\n // Provider features\n ContentEntryTraverserFeature.register(container);\n\n // Command features\n CreateEntryFeature.register(container);\n CreateEntryRevisionFromFeature.register(container);\n UpdateEntryFeature.register(container);\n UpdateRevisionDescriptionFeature.register(container);\n ValidateEntryFeature.register(container);\n MoveEntryFeature.register(container);\n PublishEntryFeature.register(container);\n UnpublishEntryFeature.register(container);\n RepublishEntryFeature.register(container);\n DeleteEntryFeature.register(container);\n DeleteEntryRevisionFeature.register(container);\n DeleteMultipleEntriesFeature.register(container);\n RestoreEntryFromBinFeature.register(container);\n UpdateSingletonEntryFeature.register(container);\n }\n});\n"],"names":["ContentEntriesFeature","createFeature","container","RuntimeTenant","EntryDataFactoriesFeature","GetRevisionByIdFeature","GetEntriesByIdsFeature","GetEntryByIdFeature","GetPublishedEntriesByIdsFeature","GetPublishedRevisionByEntryIdFeature","GetLatestEntriesByIdsFeature","GetLatestRevisionByEntryIdFeature","GetRevisionsByEntryIdFeature","GetPreviousRevisionByEntryIdFeature","GetEntryFeature","ListEntriesFeature","GetUniqueFieldValuesFeature","GetSingletonEntryFeature","ContentEntryTraverserFeature","CreateEntryFeature","CreateEntryRevisionFromFeature","UpdateEntryFeature","UpdateRevisionDescriptionFeature","ValidateEntryFeature","MoveEntryFeature","PublishEntryFeature","UnpublishEntryFeature","RepublishEntryFeature","DeleteEntryFeature","DeleteEntryRevisionFeature","DeleteMultipleEntriesFeature","RestoreEntryFromBinFeature","UpdateSingletonEntryFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBC,0BAA0B,QAAQ,CAACF;QAEnCG,uBAAuB,QAAQ,CAACH;QAChCI,uBAAuB,QAAQ,CAACJ;QAChCK,oBAAoB,QAAQ,CAACL;QAC7BM,gCAAgC,QAAQ,CAACN;QACzCO,qCAAqC,QAAQ,CAACP;QAC9CQ,6BAA6B,QAAQ,CAACR;QACtCS,kCAAkC,QAAQ,CAACT;QAC3CU,6BAA6B,QAAQ,CAACV;QACtCW,oCAAoC,QAAQ,CAACX;QAC7CY,gBAAgB,QAAQ,CAACZ;QACzBa,mBAAmB,QAAQ,CAACb;QAC5Bc,4BAA4B,QAAQ,CAACd;QACrCe,yBAAyB,QAAQ,CAACf;QAGlCgB,6BAA6B,QAAQ,CAAChB;QAGtCiB,mBAAmB,QAAQ,CAACjB;QAC5BkB,+BAA+B,QAAQ,CAAClB;QACxCmB,mBAAmB,QAAQ,CAACnB;QAC5BoB,iCAAiC,QAAQ,CAACpB;QAC1CqB,qBAAqB,QAAQ,CAACrB;QAC9BsB,iBAAiB,QAAQ,CAACtB;QAC1BuB,oBAAoB,QAAQ,CAACvB;QAC7BwB,sBAAsB,QAAQ,CAACxB;QAC/ByB,sBAAsB,QAAQ,CAACzB;QAC/B0B,mBAAmB,QAAQ,CAAC1B;QAC5B2B,2BAA2B,QAAQ,CAAC3B;QACpC4B,6BAA6B,QAAQ,CAAC5B;QACtC6B,2BAA2B,QAAQ,CAAC7B;QACpC8B,4BAA4B,QAAQ,CAAC9B;IACzC;AACJ"}
1
+ {"version":3,"file":"features/contentEntry/ContentEntriesFeature.js","sources":["../../../src/features/contentEntry/ContentEntriesFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryFeature } from \"./CreateEntry/feature.js\";\nimport { CreateEntryRevisionFromFeature } from \"./CreateEntryRevisionFrom/feature.js\";\nimport { UpdateEntryFeature } from \"./UpdateEntry/feature.js\";\nimport { ValidateEntryFeature } from \"./ValidateEntry/feature.js\";\nimport { MoveEntryFeature } from \"./MoveEntry/feature.js\";\nimport { RepublishEntryFeature } from \"./RepublishEntry/feature.js\";\nimport { PublishEntryFeature } from \"./PublishEntry/feature.js\";\nimport { GetRevisionByIdFeature } from \"./GetRevisionById/feature.js\";\nimport { ListEntriesFeature } from \"./ListEntries/feature.js\";\nimport { GetEntriesByIdsFeature } from \"./GetEntriesByIds/feature.js\";\nimport { GetEntryByIdFeature } from \"./GetEntryById/feature.js\";\nimport { GetPublishedEntriesByIdsFeature } from \"./GetPublishedEntriesByIds/feature.js\";\nimport { GetLatestEntriesByIdsFeature } from \"./GetLatestEntriesByIds/feature.js\";\nimport { GetRevisionsByEntryIdFeature } from \"./GetRevisionsByEntryId/feature.js\";\nimport { GetPreviousRevisionByEntryIdFeature } from \"./GetPreviousRevisionByEntryId/feature.js\";\nimport { GetEntryFeature } from \"./GetEntry/feature.js\";\nimport { DeleteEntryFeature } from \"./DeleteEntry/feature.js\";\nimport { DeleteEntryRevisionFeature } from \"./DeleteEntryRevision/feature.js\";\nimport { DeleteMultipleEntriesFeature } from \"./DeleteMultipleEntries/feature.js\";\nimport { RestoreEntryFromBinFeature } from \"./RestoreEntryFromBin/feature.js\";\nimport { GetLatestRevisionByEntryIdFeature } from \"./GetLatestRevisionByEntryId/feature.js\";\nimport { GetPublishedRevisionByEntryIdFeature } from \"./GetPublishedRevisionByEntryId/feature.js\";\nimport { UnpublishEntryFeature } from \"./UnpublishEntry/feature.js\";\nimport { GetUniqueFieldValuesFeature } from \"./GetUniqueFieldValues/feature.js\";\nimport { GetSingletonEntryFeature } from \"./GetSingletonEntry/feature.js\";\nimport { UpdateSingletonEntryFeature } from \"./UpdateSingletonEntry/feature.js\";\nimport { ContentEntryTraverserFeature } from \"./ContentEntryTraverser/feature.js\";\nimport { UpdateRevisionDescriptionFeature } from \"./UpdateRevisionDescription/feature.js\";\nimport { EntryDataFactoriesFeature } from \"./entryDataFactories/EntryDataFactoriesFeature.js\";\n\nexport const ContentEntriesFeature = createFeature({\n name: \"ContentEntries\",\n register(container) {\n EntryDataFactoriesFeature.register(container);\n // Query features\n GetRevisionByIdFeature.register(container);\n GetEntriesByIdsFeature.register(container);\n GetEntryByIdFeature.register(container);\n GetPublishedEntriesByIdsFeature.register(container);\n GetPublishedRevisionByEntryIdFeature.register(container);\n GetLatestEntriesByIdsFeature.register(container);\n GetLatestRevisionByEntryIdFeature.register(container);\n GetRevisionsByEntryIdFeature.register(container);\n GetPreviousRevisionByEntryIdFeature.register(container);\n GetEntryFeature.register(container);\n ListEntriesFeature.register(container);\n GetUniqueFieldValuesFeature.register(container);\n GetSingletonEntryFeature.register(container);\n\n // Provider features\n ContentEntryTraverserFeature.register(container);\n\n // Command features\n CreateEntryFeature.register(container);\n CreateEntryRevisionFromFeature.register(container);\n UpdateEntryFeature.register(container);\n UpdateRevisionDescriptionFeature.register(container);\n ValidateEntryFeature.register(container);\n MoveEntryFeature.register(container);\n PublishEntryFeature.register(container);\n UnpublishEntryFeature.register(container);\n RepublishEntryFeature.register(container);\n DeleteEntryFeature.register(container);\n DeleteEntryRevisionFeature.register(container);\n DeleteMultipleEntriesFeature.register(container);\n RestoreEntryFromBinFeature.register(container);\n UpdateSingletonEntryFeature.register(container);\n }\n});\n"],"names":["ContentEntriesFeature","createFeature","container","EntryDataFactoriesFeature","GetRevisionByIdFeature","GetEntriesByIdsFeature","GetEntryByIdFeature","GetPublishedEntriesByIdsFeature","GetPublishedRevisionByEntryIdFeature","GetLatestEntriesByIdsFeature","GetLatestRevisionByEntryIdFeature","GetRevisionsByEntryIdFeature","GetPreviousRevisionByEntryIdFeature","GetEntryFeature","ListEntriesFeature","GetUniqueFieldValuesFeature","GetSingletonEntryFeature","ContentEntryTraverserFeature","CreateEntryFeature","CreateEntryRevisionFromFeature","UpdateEntryFeature","UpdateRevisionDescriptionFeature","ValidateEntryFeature","MoveEntryFeature","PublishEntryFeature","UnpublishEntryFeature","RepublishEntryFeature","DeleteEntryFeature","DeleteEntryRevisionFeature","DeleteMultipleEntriesFeature","RestoreEntryFromBinFeature","UpdateSingletonEntryFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdC,0BAA0B,QAAQ,CAACD;QAEnCE,uBAAuB,QAAQ,CAACF;QAChCG,uBAAuB,QAAQ,CAACH;QAChCI,oBAAoB,QAAQ,CAACJ;QAC7BK,gCAAgC,QAAQ,CAACL;QACzCM,qCAAqC,QAAQ,CAACN;QAC9CO,6BAA6B,QAAQ,CAACP;QACtCQ,kCAAkC,QAAQ,CAACR;QAC3CS,6BAA6B,QAAQ,CAACT;QACtCU,oCAAoC,QAAQ,CAACV;QAC7CW,gBAAgB,QAAQ,CAACX;QACzBY,mBAAmB,QAAQ,CAACZ;QAC5Ba,4BAA4B,QAAQ,CAACb;QACrCc,yBAAyB,QAAQ,CAACd;QAGlCe,6BAA6B,QAAQ,CAACf;QAGtCgB,mBAAmB,QAAQ,CAAChB;QAC5BiB,+BAA+B,QAAQ,CAACjB;QACxCkB,mBAAmB,QAAQ,CAAClB;QAC5BmB,iCAAiC,QAAQ,CAACnB;QAC1CoB,qBAAqB,QAAQ,CAACpB;QAC9BqB,iBAAiB,QAAQ,CAACrB;QAC1BsB,oBAAoB,QAAQ,CAACtB;QAC7BuB,sBAAsB,QAAQ,CAACvB;QAC/BwB,sBAAsB,QAAQ,CAACxB;QAC/ByB,mBAAmB,QAAQ,CAACzB;QAC5B0B,2BAA2B,QAAQ,CAAC1B;QACpC2B,6BAA6B,QAAQ,CAAC3B;QACtC4B,2BAA2B,QAAQ,CAAC5B;QACpC6B,4BAA4B,QAAQ,CAAC7B;IACzC;AACJ"}
@@ -1,19 +1,19 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { CreateEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import type { CmsEntry, CmsModel } from "../../../types/index.js";
4
- import { StorageOperations } from "../../../features/shared/abstractions.js";
4
+ import { CreateEntryStorageOperation } from "../../../features/shared/storageOperations/entry/CreateEntryStorageOperation.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
7
6
  /**
8
7
  * CreateEntryRepository - Handles persistence of new entries.
9
8
  * Transforms domain entry to storage format and persists it.
10
9
  */
11
10
  declare class CreateEntryRepositoryImpl implements RepositoryAbstraction.Interface {
12
11
  private entryToStorageTransform;
13
- private storageOperations;
14
- private runtimeTenant;
15
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
16
- execute(initialModel: CmsModel, initialEntry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
12
+ private createEntryStorage;
13
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, createEntryStorage: CreateEntryStorageOperation.Interface);
14
+ execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
17
15
  }
18
- export declare const CreateEntryRepository: import("@webiny/di").Implementation<typeof CreateEntryRepositoryImpl>;
16
+ export declare const CreateEntryRepository: typeof CreateEntryRepositoryImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRepository>;
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 { CreateEntryRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
- import { StorageOperations } from "../../shared/abstractions.js";
4
+ import { CreateEntryStorageOperation } from "../../shared/storageOperations/entry/CreateEntryStorageOperation.js";
5
5
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
6
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
7
6
  class CreateEntryRepositoryImpl {
8
- constructor(entryToStorageTransform, storageOperations, runtimeTenant){
7
+ constructor(entryToStorageTransform, createEntryStorage){
9
8
  this.entryToStorageTransform = entryToStorageTransform;
10
- this.storageOperations = storageOperations;
11
- this.runtimeTenant = runtimeTenant;
9
+ this.createEntryStorage = createEntryStorage;
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.create(model, {
14
+ await this.createEntryStorage.execute(model, {
19
15
  entry,
20
16
  storageEntry
21
17
  });
@@ -25,13 +21,11 @@ class CreateEntryRepositoryImpl {
25
21
  }
26
22
  }
27
23
  }
28
- const CreateEntryRepository_CreateEntryRepository = createImplementation({
29
- abstraction: CreateEntryRepository,
24
+ const CreateEntryRepository_CreateEntryRepository = CreateEntryRepository.createImplementation({
30
25
  implementation: CreateEntryRepositoryImpl,
31
26
  dependencies: [
32
27
  EntryToStorageTransform,
33
- StorageOperations,
34
- RuntimeTenant
28
+ CreateEntryStorageOperation
35
29
  ]
36
30
  });
37
31
  export { CreateEntryRepository_CreateEntryRepository as CreateEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryRepository.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { CreateEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, 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 * CreateEntryRepository - Handles persistence of new entries.\n * Transforms domain entry to storage format and persists it.\n */\nclass CreateEntryRepositoryImpl 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(\n initialModel: CmsModel,\n initialEntry: CmsEntry\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(model, entry);\n\n // Persist to storage\n await this.storageOperations.entries.create(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 CreateEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: CreateEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, StorageOperations, RuntimeTenant]\n});\n"],"names":["CreateEntryRepositoryImpl","entryToStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","Result","error","EntryPersistenceError","CreateEntryRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAaA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,iBAA8C,EAC9CC,aAAsC,CAChD;aAHUF,uBAAuB,GAAvBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QACTC,YAAsB,EACtBC,YAAsB,EAC4B;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,CAACF,OAAOC;YAG/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAACD,OAAO;gBAC/CC;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/CreateEntry/CreateEntryRepository.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryStorageOperation } from \"~/features/shared/storageOperations/entry/CreateEntryStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * CreateEntryRepository - Handles persistence of new entries.\n * Transforms domain entry to storage format and persists it.\n */\nclass CreateEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private createEntryStorage: CreateEntryStorageOperation.Interface\n ) {}\n\n public async execute(\n model: CmsModel,\n entry: CmsEntry\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n // Persist to storage\n await this.createEntryStorage.execute(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 CreateEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, CreateEntryStorageOperation]\n});\n"],"names":["CreateEntryRepositoryImpl","entryToStorageTransform","createEntryStorage","model","entry","storageEntry","Result","error","EntryPersistenceError","CreateEntryRepository","RepositoryAbstraction","EntryToStorageTransform","CreateEntryStorageOperation"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,kBAAyD,CACnE;aAFUD,uBAAuB,GAAvBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAe,EACmC;QAClD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAG/D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO;gBACzCC;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"}
@@ -12,5 +12,7 @@ declare class CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {
12
12
  constructor(eventPublisher: EventPublisher.Interface, repository: CreateEntryRepository.Interface, accessControl: AccessControl.Interface, createEntryDataFactory: CreateEntryDataFactory.Interface);
13
13
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, rawInput: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
14
14
  }
15
- export declare const CreateEntryUseCase: import("@webiny/di").Implementation<typeof CreateEntryUseCaseImpl>;
15
+ export declare const CreateEntryUseCase: typeof CreateEntryUseCaseImpl & {
16
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryUseCase>;
17
+ };
16
18
  export {};
@@ -1,4 +1,4 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { CreateEntryRepository, CreateEntryUseCase } from "./abstractions.js";
3
3
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { EntryAfterCreateEvent, EntryBeforeCreateEvent } from "./events.js";
@@ -45,8 +45,7 @@ class CreateEntryUseCaseImpl {
45
45
  }
46
46
  }
47
47
  }
48
- const CreateEntryUseCase_CreateEntryUseCase = createImplementation({
49
- abstraction: CreateEntryUseCase,
48
+ const CreateEntryUseCase_CreateEntryUseCase = CreateEntryUseCase.createImplementation({
50
49
  implementation: CreateEntryUseCaseImpl,
51
50
  dependencies: [
52
51
  EventPublisher,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryAfterCreateEvent, EntryBeforeCreateEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { EntryNotAuthorizedError, EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js\";\n\nclass CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private createEntryDataFactory: CreateEntryDataFactory.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n const { entry, input } = await this.createEntryDataFactory.create<T>(\n model,\n rawInput,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromEntry(entry));\n }\n\n await this.eventPublisher.publish(new EntryBeforeCreateEvent({ entry, input, model }));\n\n const result = await this.repository.execute(model, entry);\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new EntryAfterCreateEvent({\n entry,\n input,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n if (error.code === \"VALIDATION_FAILED\") {\n return Result.fail(new EntryValidationError(error.message, error.data));\n }\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const CreateEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateEntryUseCaseImpl,\n dependencies: [EventPublisher, CreateEntryRepository, AccessControl, CreateEntryDataFactory]\n});\n"],"names":["CreateEntryUseCaseImpl","eventPublisher","repository","accessControl","createEntryDataFactory","model","rawInput","options","canAccess","Result","EntryNotAuthorizedError","entry","input","canAccessEntry","EntryBeforeCreateEvent","result","EntryAfterCreateEvent","error","EntryValidationError","CreateEntryUseCase","createImplementation","UseCaseAbstraction","EventPublisher","CreateEntryRepository","AccessControl","CreateEntryDataFactory"],"mappings":";;;;;;;AAeA,MAAMA;IACF,YACYC,cAAwC,EACxCC,UAA2C,EAC3CC,aAAsC,EACtCC,sBAAwD,CAClE;aAJUH,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,sBAAsB,GAAtBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAGzD,IAAI;YACA,MAAM,EAAEM,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC7DP,OACAC,UACAC;YAGJ,MAAMM,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBAC3DR;gBACAM;gBACA,KAAK;YACT;YAEA,IAAI,CAACE,gBACD,OAAOJ,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACC;YAGzD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIG,uBAAuB;gBAAEH;gBAAOC;gBAAOP;YAAM;YAEnF,MAAMU,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACV,OAAOM;YACpD,IAAII,OAAO,MAAM,IACb,OAAON,OAAO,IAAI,CAACM,OAAO,KAAK;YAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;gBACtBL;gBACAC;gBACAP;YACJ;YAGJ,OAAOI,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOM,OAAO;YACZ,IAAIA,AAAe,wBAAfA,MAAM,IAAI,EACV,OAAOR,OAAO,IAAI,CAAC,IAAIS,qBAAqBD,MAAM,OAAO,EAAEA,MAAM,IAAI;YAEzE,OAAOR,OAAO,IAAI,CAACQ;QACvB;IACJ;AACJ;AAEO,MAAME,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBrB;IAChB,cAAc;QAACsB;QAAgBC;QAAuBC;QAAeC;KAAuB;AAChG"}
1
+ {"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryAfterCreateEvent, EntryBeforeCreateEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { EntryNotAuthorizedError, EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js\";\n\nclass CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private createEntryDataFactory: CreateEntryDataFactory.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n const { entry, input } = await this.createEntryDataFactory.create<T>(\n model,\n rawInput,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromEntry(entry));\n }\n\n await this.eventPublisher.publish(new EntryBeforeCreateEvent({ entry, input, model }));\n\n const result = await this.repository.execute(model, entry);\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new EntryAfterCreateEvent({\n entry,\n input,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n if (error.code === \"VALIDATION_FAILED\") {\n return Result.fail(new EntryValidationError(error.message, error.data));\n }\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const CreateEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreateEntryUseCaseImpl,\n dependencies: [EventPublisher, CreateEntryRepository, AccessControl, CreateEntryDataFactory]\n});\n"],"names":["CreateEntryUseCaseImpl","eventPublisher","repository","accessControl","createEntryDataFactory","model","rawInput","options","canAccess","Result","EntryNotAuthorizedError","entry","input","canAccessEntry","EntryBeforeCreateEvent","result","EntryAfterCreateEvent","error","EntryValidationError","CreateEntryUseCase","UseCaseAbstraction","EventPublisher","CreateEntryRepository","AccessControl","CreateEntryDataFactory"],"mappings":";;;;;;;AAeA,MAAMA;IACF,YACYC,cAAwC,EACxCC,UAA2C,EAC3CC,aAAsC,EACtCC,sBAAwD,CAClE;aAJUH,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,sBAAsB,GAAtBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAGzD,IAAI;YACA,MAAM,EAAEM,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC7DP,OACAC,UACAC;YAGJ,MAAMM,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBAC3DR;gBACAM;gBACA,KAAK;YACT;YAEA,IAAI,CAACE,gBACD,OAAOJ,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACC;YAGzD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIG,uBAAuB;gBAAEH;gBAAOC;gBAAOP;YAAM;YAEnF,MAAMU,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACV,OAAOM;YACpD,IAAII,OAAO,MAAM,IACb,OAAON,OAAO,IAAI,CAACM,OAAO,KAAK;YAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;gBACtBL;gBACAC;gBACAP;YACJ;YAGJ,OAAOI,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOM,OAAO;YACZ,IAAIA,AAAe,wBAAfA,MAAM,IAAI,EACV,OAAOR,OAAO,IAAI,CAAC,IAAIS,qBAAqBD,MAAM,OAAO,EAAEA,MAAM,IAAI;YAEzE,OAAOR,OAAO,IAAI,CAACQ;QACvB;IACJ;AACJ;AAEO,MAAME,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBpB;IAChB,cAAc;QAACqB;QAAgBC;QAAuBC;QAAeC;KAAuB;AAChG"}
@@ -1,10 +1,9 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { CreateEntryRevisionFromRepository as RepositoryAbstraction } from "./abstractions.js";
3
- import { StorageOperations } from "../../../features/shared/abstractions.js";
3
+ import { CreateEntryRevisionFromStorageOperation } from "../../../features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js";
4
4
  import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
5
5
  import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
6
6
  import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
7
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
8
7
  /**
9
8
  * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.
10
9
  *
@@ -17,10 +16,11 @@ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
17
16
  declare class CreateEntryRevisionFromRepositoryImpl implements RepositoryAbstraction.Interface {
18
17
  private entryToStorageTransform;
19
18
  private entryFromStorageTransform;
20
- private storageOperations;
21
- private runtimeTenant;
22
- constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
23
- execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
19
+ private createEntryRevisionFromStorage;
20
+ constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, createEntryRevisionFromStorage: CreateEntryRevisionFromStorageOperation.Interface);
21
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
24
22
  }
25
- export declare const CreateEntryRevisionFromRepository: import("@webiny/di").Implementation<typeof CreateEntryRevisionFromRepositoryImpl>;
23
+ export declare const CreateEntryRevisionFromRepository: typeof CreateEntryRevisionFromRepositoryImpl & {
24
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRevisionFromRepository>;
25
+ };
26
26
  export {};
@@ -1,22 +1,18 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { CreateEntryRevisionFromRepository } from "./abstractions.js";
3
- import { StorageOperations } from "../../shared/abstractions.js";
3
+ import { CreateEntryRevisionFromStorageOperation } from "../../shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.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 CreateEntryRevisionFromRepositoryImpl {
8
- constructor(entryToStorageTransform, entryFromStorageTransform, storageOperations, runtimeTenant){
7
+ constructor(entryToStorageTransform, entryFromStorageTransform, createEntryRevisionFromStorage){
9
8
  this.entryToStorageTransform = entryToStorageTransform;
10
9
  this.entryFromStorageTransform = entryFromStorageTransform;
11
- this.storageOperations = storageOperations;
12
- this.runtimeTenant = runtimeTenant;
10
+ this.createEntryRevisionFromStorage = createEntryRevisionFromStorage;
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.createRevisionFrom(model, {
15
+ const result = await this.createEntryRevisionFromStorage.execute(model, {
20
16
  entry,
21
17
  storageEntry
22
18
  });
@@ -27,14 +23,12 @@ class CreateEntryRevisionFromRepositoryImpl {
27
23
  }
28
24
  }
29
25
  }
30
- const CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository = createImplementation({
31
- abstraction: CreateEntryRevisionFromRepository,
26
+ const CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository = CreateEntryRevisionFromRepository.createImplementation({
32
27
  implementation: CreateEntryRevisionFromRepositoryImpl,
33
28
  dependencies: [
34
29
  EntryToStorageTransform,
35
30
  EntryFromStorageTransform,
36
- StorageOperations,
37
- RuntimeTenant
31
+ CreateEntryRevisionFromStorageOperation
38
32
  ]
39
33
  });
40
34
  export { CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository as CreateEntryRevisionFromRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromRepository 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 * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Call storage operation to create revision\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass CreateEntryRevisionFromRepositoryImpl 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 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.createRevisionFrom(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform(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 CreateEntryRevisionFromRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: CreateEntryRevisionFromRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n StorageOperations,\n RuntimeTenant\n ]\n});\n"],"names":["CreateEntryRevisionFromRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","storageOperations","runtimeTenant","initialModel","initialEntry","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","CreateEntryRevisionFromRepository","createImplementation","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","StorageOperations","RuntimeTenant"],"mappings":";;;;;;AAmBA,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,MAAM,QACFC,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,kBAAkB,CAACH,OAAO;gBAC1EC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOG;YAErE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sEAAoCC,qBAAqB;IAClE,aAAaC;IACb,gBAAgBjB;IAChB,cAAc;QACVkB;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { CreateEntryRevisionFromStorageOperation } from \"~/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.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 * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Call storage operation to create revision\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass CreateEntryRevisionFromRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private createEntryRevisionFromStorage: CreateEntryRevisionFromStorageOperation.Interface\n ) {}\n\n 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.createEntryRevisionFromStorage.execute(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform(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 CreateEntryRevisionFromRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateEntryRevisionFromRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n CreateEntryRevisionFromStorageOperation\n ]\n});\n"],"names":["CreateEntryRevisionFromRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","createEntryRevisionFromStorage","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","CreateEntryRevisionFromRepository","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","CreateEntryRevisionFromStorageOperation"],"mappings":";;;;;AAiBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,8BAAiF,CAC3F;aAHUF,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,8BAA8B,GAA9BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAACH,OAAO;gBACpEC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOG;YAErE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sEAAoCC,kCAAAA,oBAA0C,CAAC;IACxF,gBAAgBb;IAChB,cAAc;QACVc;QACAC;QACAC;KACH;AACL"}
@@ -16,5 +16,7 @@ declare class CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.I
16
16
  constructor(repository: CreateEntryRevisionFromRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface, eventPublisher: EventPublisher.Interface, createEntryRevisionFromDataFactory: CreateEntryRevisionFromDataFactory.Interface);
17
17
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, sourceId: string, rawInput: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
18
18
  }
19
- export declare const CreateEntryRevisionFromUseCase: import("@webiny/di").Implementation<typeof CreateEntryRevisionFromUseCaseImpl>;
19
+ export declare const CreateEntryRevisionFromUseCase: typeof CreateEntryRevisionFromUseCaseImpl & {
20
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRevisionFromUseCase>;
21
+ };
20
22
  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 { CreateEntryRevisionFromRepository, CreateEntryRevisionFromUseCase } from "./abstractions.js";
4
4
  import { AccessControl } from "../../shared/abstractions.js";
@@ -77,8 +77,7 @@ class CreateEntryRevisionFromUseCaseImpl {
77
77
  }
78
78
  }
79
79
  }
80
- const CreateEntryRevisionFromUseCase_CreateEntryRevisionFromUseCase = createImplementation({
81
- abstraction: CreateEntryRevisionFromUseCase,
80
+ const CreateEntryRevisionFromUseCase_CreateEntryRevisionFromUseCase = CreateEntryRevisionFromUseCase.createImplementation({
82
81
  implementation: CreateEntryRevisionFromUseCaseImpl,
83
82
  dependencies: [
84
83
  CreateEntryRevisionFromRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n CreateEntryRevisionFromRepository,\n CreateEntryRevisionFromUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport {\n EntryRevisionAfterCreateEvent,\n EntryRevisionBeforeCreateEvent,\n EntryRevisionCreateErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { CreateEntryRevisionFromDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js\";\n\nclass CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: CreateEntryRevisionFromRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private createEntryRevisionFromDataFactory: CreateEntryRevisionFromDataFactory.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: uniqueId } = parseIdentifier(sourceId);\n const originalResult = await this.getRevisionById.execute<T>(model, sourceId);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const originalEntry = originalResult.value;\n\n const latestResult = await this.getLatestRevision.execute<T>(model, { id: uniqueId });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestStorageEntry = latestResult.value;\n\n const { entry, input } = await this.createEntryRevisionFromDataFactory.create<T>(\n sourceId,\n model,\n rawInput,\n originalEntry,\n latestStorageEntry,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n await this.eventPublisher.publish(\n new EntryRevisionBeforeCreateEvent({\n entry,\n model,\n input,\n original: originalEntry\n })\n );\n\n const result = await this.repository.execute<T>(model, entry);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const createdEntry = result.value;\n\n await this.eventPublisher.publish(\n new EntryRevisionAfterCreateEvent({\n entry: createdEntry,\n model,\n input,\n original: originalEntry\n })\n );\n\n return Result.ok(createdEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const CreateEntryRevisionFromUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateEntryRevisionFromUseCaseImpl,\n dependencies: [\n CreateEntryRevisionFromRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n EventPublisher,\n CreateEntryRevisionFromDataFactory\n ]\n});\n"],"names":["CreateEntryRevisionFromUseCaseImpl","repository","accessControl","getRevisionById","getLatestRevision","eventPublisher","createEntryRevisionFromDataFactory","model","sourceId","rawInput","options","canAccess","Result","EntryNotAuthorizedError","uniqueId","parseIdentifier","originalResult","originalEntry","latestResult","latestStorageEntry","entry","input","canAccessEntry","EntryRevisionBeforeCreateEvent","result","EntryRevisionCreateErrorEvent","createdEntry","EntryRevisionAfterCreateEvent","error","CreateEntryRevisionFromUseCase","createImplementation","UseCaseAbstraction","CreateEntryRevisionFromRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EventPublisher","CreateEntryRevisionFromDataFactory"],"mappings":";;;;;;;;;;AAyBA,MAAMA;IACF,YACYC,UAAuD,EACvDC,aAAsC,EACtCC,eAAiD,EACjDC,iBAA8D,EAC9DC,cAAwC,EACxCC,kCAAgF,CAC1F;aANUL,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,iBAAiB,GAAjBA;aACAC,cAAc,GAAdA;aACAC,kCAAkC,GAAlCA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAgB,EAChBC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEJ;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACI,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,MAAM,EAAE,IAAIO,QAAQ,EAAE,GAAGC,gBAAgBP;QACzC,MAAMQ,iBAAiB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIT,OAAOC;QAEpE,IAAIQ,eAAe,MAAM,IACrB,OAAOJ,OAAO,IAAI,CAACI,eAAe,KAAK;QAG3C,MAAMC,gBAAgBD,eAAe,KAAK;QAE1C,MAAME,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAIX,OAAO;YAAE,IAAIO;QAAS;QAEnF,IAAII,aAAa,MAAM,IACnB,OAAON,OAAO,IAAI,CAACM,aAAa,KAAK;QAGzC,MAAMC,qBAAqBD,aAAa,KAAK;QAE7C,MAAM,EAAEE,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,MAAM,CACzEb,UACAD,OACAE,UACAQ,eACAE,oBACAT;QAGJ,MAAMY,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3Df;YACAa;YACA,KAAK;QACT;QAEA,IAAI,CAACE,gBACD,OAAOV,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIgB,+BAA+B;gBAC/BH;gBACAb;gBACAc;gBACA,UAAUJ;YACd;YAGJ,MAAMO,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIjB,OAAOa;YAEvD,IAAII,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9BL;oBACAb;oBACAc;oBACA,UAAUJ;oBACV,OAAOO,OAAO,KAAK;gBACvB;gBAEJ,OAAOZ,OAAO,IAAI,CAACY,OAAO,KAAK;YACnC;YAEA,MAAME,eAAeF,OAAO,KAAK;YAEjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,8BAA8B;gBAC9B,OAAOD;gBACPnB;gBACAc;gBACA,UAAUJ;YACd;YAGJ,OAAOL,OAAO,EAAE,CAACc;QACrB,EAAE,OAAOE,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,8BAA8B;gBAC9BL;gBACAb;gBACAc;gBACA,UAAUJ;gBACV,OAAOW;YACX;YAEJ,OAAOhB,OAAO,IAAI,CAACgB;QACvB;IACJ;AACJ;AAEO,MAAMC,gEAAiCC,qBAAqB;IAC/D,aAAaC;IACb,gBAAgB/B;IAChB,cAAc;QACVgC;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n CreateEntryRevisionFromRepository,\n CreateEntryRevisionFromUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport {\n EntryRevisionAfterCreateEvent,\n EntryRevisionBeforeCreateEvent,\n EntryRevisionCreateErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { CreateEntryRevisionFromDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js\";\n\nclass CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: CreateEntryRevisionFromRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private createEntryRevisionFromDataFactory: CreateEntryRevisionFromDataFactory.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: uniqueId } = parseIdentifier(sourceId);\n const originalResult = await this.getRevisionById.execute<T>(model, sourceId);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const originalEntry = originalResult.value;\n\n const latestResult = await this.getLatestRevision.execute<T>(model, { id: uniqueId });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestStorageEntry = latestResult.value;\n\n const { entry, input } = await this.createEntryRevisionFromDataFactory.create<T>(\n sourceId,\n model,\n rawInput,\n originalEntry,\n latestStorageEntry,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n await this.eventPublisher.publish(\n new EntryRevisionBeforeCreateEvent({\n entry,\n model,\n input,\n original: originalEntry\n })\n );\n\n const result = await this.repository.execute<T>(model, entry);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const createdEntry = result.value;\n\n await this.eventPublisher.publish(\n new EntryRevisionAfterCreateEvent({\n entry: createdEntry,\n model,\n input,\n original: originalEntry\n })\n );\n\n return Result.ok(createdEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const CreateEntryRevisionFromUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreateEntryRevisionFromUseCaseImpl,\n dependencies: [\n CreateEntryRevisionFromRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n EventPublisher,\n CreateEntryRevisionFromDataFactory\n ]\n});\n"],"names":["CreateEntryRevisionFromUseCaseImpl","repository","accessControl","getRevisionById","getLatestRevision","eventPublisher","createEntryRevisionFromDataFactory","model","sourceId","rawInput","options","canAccess","Result","EntryNotAuthorizedError","uniqueId","parseIdentifier","originalResult","originalEntry","latestResult","latestStorageEntry","entry","input","canAccessEntry","EntryRevisionBeforeCreateEvent","result","EntryRevisionCreateErrorEvent","createdEntry","EntryRevisionAfterCreateEvent","error","CreateEntryRevisionFromUseCase","UseCaseAbstraction","CreateEntryRevisionFromRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EventPublisher","CreateEntryRevisionFromDataFactory"],"mappings":";;;;;;;;;;AAyBA,MAAMA;IACF,YACYC,UAAuD,EACvDC,aAAsC,EACtCC,eAAiD,EACjDC,iBAA8D,EAC9DC,cAAwC,EACxCC,kCAAgF,CAC1F;aANUL,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,iBAAiB,GAAjBA;aACAC,cAAc,GAAdA;aACAC,kCAAkC,GAAlCA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAgB,EAChBC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEJ;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACI,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,MAAM,EAAE,IAAIO,QAAQ,EAAE,GAAGC,gBAAgBP;QACzC,MAAMQ,iBAAiB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIT,OAAOC;QAEpE,IAAIQ,eAAe,MAAM,IACrB,OAAOJ,OAAO,IAAI,CAACI,eAAe,KAAK;QAG3C,MAAMC,gBAAgBD,eAAe,KAAK;QAE1C,MAAME,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAIX,OAAO;YAAE,IAAIO;QAAS;QAEnF,IAAII,aAAa,MAAM,IACnB,OAAON,OAAO,IAAI,CAACM,aAAa,KAAK;QAGzC,MAAMC,qBAAqBD,aAAa,KAAK;QAE7C,MAAM,EAAEE,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,MAAM,CACzEb,UACAD,OACAE,UACAQ,eACAE,oBACAT;QAGJ,MAAMY,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3Df;YACAa;YACA,KAAK;QACT;QAEA,IAAI,CAACE,gBACD,OAAOV,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIgB,+BAA+B;gBAC/BH;gBACAb;gBACAc;gBACA,UAAUJ;YACd;YAGJ,MAAMO,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIjB,OAAOa;YAEvD,IAAII,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9BL;oBACAb;oBACAc;oBACA,UAAUJ;oBACV,OAAOO,OAAO,KAAK;gBACvB;gBAEJ,OAAOZ,OAAO,IAAI,CAACY,OAAO,KAAK;YACnC;YAEA,MAAME,eAAeF,OAAO,KAAK;YAEjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,8BAA8B;gBAC9B,OAAOD;gBACPnB;gBACAc;gBACA,UAAUJ;YACd;YAGJ,OAAOL,OAAO,EAAE,CAACc;QACrB,EAAE,OAAOE,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,8BAA8B;gBAC9BL;gBACAb;gBACAc;gBACA,UAAUJ;gBACV,OAAOW;YACX;YAEJ,OAAOhB,OAAO,IAAI,CAACgB;QACvB;IACJ;AACJ;AAEO,MAAMC,gEAAiCC,+BAAAA,oBAAuC,CAAC;IAClF,gBAAgB9B;IAChB,cAAc;QACV+B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,16 +1,16 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { DeleteEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
3
  import type { CmsEntry, CmsModel } from "../../../types/index.js";
4
- import { StorageOperations } from "../../../features/shared/abstractions.js";
5
- import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
4
+ import { DeleteEntryStorageOperation } from "../../../features/shared/storageOperations/entry/DeleteEntryStorageOperation.js";
6
5
  /**
7
6
  * DeleteEntryRepository - Handles storage operations for permanently deleting entries.
8
7
  */
9
8
  declare class DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {
10
- private storageOperations;
11
- private runtimeTenant;
12
- constructor(storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
13
- execute(initialModel: CmsModel, initialEntry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
9
+ private deleteEntryStorage;
10
+ constructor(deleteEntryStorage: DeleteEntryStorageOperation.Interface);
11
+ execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
14
12
  }
15
- export declare const DeleteEntryRepository: import("@webiny/di").Implementation<typeof DeleteEntryRepositoryImpl>;
13
+ export declare const DeleteEntryRepository: typeof DeleteEntryRepositoryImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteEntryRepository>;
15
+ };
16
16
  export {};
@@ -1,18 +1,14 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { DeleteEntryRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
- import { StorageOperations } from "../../shared/abstractions.js";
5
- import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
4
+ import { DeleteEntryStorageOperation } from "../../shared/storageOperations/entry/DeleteEntryStorageOperation.js";
6
5
  class DeleteEntryRepositoryImpl {
7
- constructor(storageOperations, runtimeTenant){
8
- this.storageOperations = storageOperations;
9
- this.runtimeTenant = runtimeTenant;
6
+ constructor(deleteEntryStorage){
7
+ this.deleteEntryStorage = deleteEntryStorage;
10
8
  }
11
- async execute(initialModel, initialEntry) {
12
- const model = this.runtimeTenant.assign(initialModel);
13
- const entry = this.runtimeTenant.assign(initialEntry);
9
+ async execute(model, entry) {
14
10
  try {
15
- await this.storageOperations.entries.delete(model, {
11
+ await this.deleteEntryStorage.execute(model, {
16
12
  entry
17
13
  });
18
14
  return Result.ok();
@@ -21,12 +17,10 @@ class DeleteEntryRepositoryImpl {
21
17
  }
22
18
  }
23
19
  }
24
- const DeleteEntryRepository_DeleteEntryRepository = createImplementation({
25
- abstraction: DeleteEntryRepository,
20
+ const DeleteEntryRepository_DeleteEntryRepository = DeleteEntryRepository.createImplementation({
26
21
  implementation: DeleteEntryRepositoryImpl,
27
22
  dependencies: [
28
- StorageOperations,
29
- RuntimeTenant
23
+ DeleteEntryStorageOperation
30
24
  ]
31
25
  });
32
26
  export { DeleteEntryRepository_DeleteEntryRepository as DeleteEntryRepository };