@webiny/api-headless-cms 6.4.5 → 6.6.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) 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 +192 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +21 -0
  11. package/createCmsRoute.js +49 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +2 -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.crud.js +8 -6
  22. package/crud/contentModel.crud.js.map +1 -1
  23. package/crud/contentModelGroup.crud.js +7 -5
  24. package/crud/contentModelGroup.crud.js.map +1 -1
  25. package/domain/contentModel/schemas.d.ts +6 -6
  26. package/domain/contentModel/schemas.js +1 -1
  27. package/domain/contentModel/schemas.js.map +1 -1
  28. package/domain/contentModel/validation/modelFields.js +21 -15
  29. package/domain/contentModel/validation/modelFields.js.map +1 -1
  30. package/export/abstractions.d.ts +9 -0
  31. package/export/abstractions.js +6 -0
  32. package/export/abstractions.js.map +1 -0
  33. package/export/crud/exporting.js +8 -2
  34. package/export/crud/exporting.js.map +1 -1
  35. package/export/crud/importing.js +13 -4
  36. package/export/crud/importing.js.map +1 -1
  37. package/export/crud/imports/importGroups.js +23 -23
  38. package/export/crud/imports/importGroups.js.map +1 -1
  39. package/export/crud/imports/importModels.js +25 -22
  40. package/export/crud/imports/importModels.js.map +1 -1
  41. package/export/graphql/index.d.ts +2 -3
  42. package/export/graphql/index.js +6 -10
  43. package/export/graphql/index.js.map +1 -1
  44. package/exports/api/cms/storage.d.ts +0 -1
  45. package/exports/api/cms/storage.js +0 -1
  46. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +6 -4
  47. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +7 -8
  48. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  49. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  50. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  51. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  52. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +6 -4
  53. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +7 -8
  54. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  55. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  56. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  57. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  58. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +6 -4
  59. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +7 -8
  60. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  61. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  62. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  63. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  64. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -4
  65. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +7 -8
  66. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  67. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  68. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  69. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  70. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  71. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  72. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  73. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -4
  74. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +7 -8
  75. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  76. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  77. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  78. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  79. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +6 -4
  80. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +7 -8
  81. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  82. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  83. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  84. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  85. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +6 -4
  86. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +7 -8
  87. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  88. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  89. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  90. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  91. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  92. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  93. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  94. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  95. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  96. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  97. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +6 -4
  98. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +7 -8
  99. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  100. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  101. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  102. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  103. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  104. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  105. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  106. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +6 -4
  107. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +7 -8
  108. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  109. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  110. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  111. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  112. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  113. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  114. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  115. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  116. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  117. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  118. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  119. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  120. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  121. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +6 -4
  122. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +7 -8
  123. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  124. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  125. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  126. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  127. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +6 -4
  128. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +7 -8
  129. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  130. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  131. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  132. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  133. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +6 -4
  134. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +7 -8
  135. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  136. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  137. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  138. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  139. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +6 -4
  140. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +7 -8
  141. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  142. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  143. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  144. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  145. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +6 -4
  146. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +7 -8
  147. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  148. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  149. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  150. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  151. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  152. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  153. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +6 -4
  154. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +7 -8
  155. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  156. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  157. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  158. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  159. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  160. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  161. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  162. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +6 -4
  163. package/features/contentEntry/ListEntries/ListEntriesRepository.js +7 -8
  164. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  165. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  166. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  167. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  168. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  169. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  170. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  171. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  172. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  173. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  174. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +6 -4
  175. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +7 -8
  176. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  177. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  178. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  179. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  180. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +6 -4
  181. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +7 -8
  182. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  183. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  184. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  185. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  186. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +8 -4
  187. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +11 -9
  188. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  189. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  190. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  191. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  192. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +6 -4
  193. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +7 -8
  194. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  195. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  196. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  197. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  198. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +6 -4
  199. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +7 -8
  200. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  201. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  202. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  203. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  204. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +6 -4
  205. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +7 -8
  206. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  207. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  208. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  209. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  210. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  211. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  212. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  213. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  214. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  215. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  216. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  217. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  218. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  219. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  220. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  221. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  222. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  223. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  224. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  225. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  226. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  227. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  228. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  229. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  230. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  231. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  232. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  233. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  234. package/features/contentModel/ContentModelFeature.js +2 -0
  235. package/features/contentModel/ContentModelFeature.js.map +1 -1
  236. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +4 -3
  237. package/features/contentModel/CreateModel/CreateModelRepository.js +6 -5
  238. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  239. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +4 -3
  240. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +6 -5
  241. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  242. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +3 -3
  243. package/features/contentModel/DeleteModel/DeleteModelRepository.js +5 -5
  244. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  245. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  246. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  247. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  248. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +6 -3
  249. package/features/contentModel/UpdateModel/UpdateModelRepository.js +11 -7
  250. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  251. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  252. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +51 -0
  253. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  254. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  255. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  256. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  257. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  258. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  259. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  260. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  261. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  262. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  263. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  264. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  265. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  266. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  267. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  268. package/features/contentModel/shared/abstractions.d.ts +10 -0
  269. package/features/contentModel/shared/abstractions.js +2 -1
  270. package/features/contentModel/shared/abstractions.js.map +1 -1
  271. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +8 -4
  272. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +13 -11
  273. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  274. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -1
  275. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +2 -3
  276. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  277. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +8 -4
  278. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +11 -9
  279. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  280. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  281. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  282. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  283. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  284. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  285. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  286. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  287. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  288. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  289. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  290. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  291. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  292. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  293. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  294. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  295. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +6 -4
  296. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +7 -8
  297. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  298. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  299. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -3
  300. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  301. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  302. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  303. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  304. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  305. package/features/contentModelGroup/shared/abstractions.js +2 -1
  306. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  307. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  308. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  309. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  310. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  311. package/features/graphql/fields/base/RefToGraphQL.js +3 -1
  312. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  313. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  314. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  315. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +1 -3
  316. package/features/modelBuilder/fields/BaseFieldBuilder.js +0 -4
  317. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
  318. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +12 -18
  319. package/features/modelBuilder/fields/DataFieldBuilder.js +1 -2
  320. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  321. package/features/modelBuilder/fields/DynamicZoneFieldType.js +3 -8
  322. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  323. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  324. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  325. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  326. package/features/modelBuilder/fields/UiAlertFieldType.js +1 -2
  327. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
  328. package/features/modelBuilder/fields/UiSeparatorFieldType.js +1 -2
  329. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
  330. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +1 -2
  331. package/features/modelBuilder/fields/UiTabsFieldType.js +3 -6
  332. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -1
  333. package/features/shared/abstractions.d.ts +11 -15
  334. package/features/shared/abstractions.js +3 -3
  335. package/features/shared/abstractions.js.map +1 -1
  336. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  337. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  338. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  339. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  340. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  341. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  342. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  343. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  344. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  345. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  346. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  347. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  348. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  349. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  350. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  351. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  352. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  353. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  354. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  355. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  356. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  357. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  358. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  359. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  360. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  361. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  362. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  363. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  364. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  365. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  366. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  367. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  368. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  369. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  370. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  371. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  372. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  373. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  374. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  375. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  376. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  377. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  378. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  379. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  380. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  381. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  382. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  383. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  384. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  385. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  386. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  387. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  388. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  389. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  390. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  391. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  392. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  393. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  394. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  395. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  396. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  397. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  398. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  399. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  400. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  401. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  402. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  403. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  404. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  405. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  406. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  407. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  408. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  409. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  410. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  411. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/index.d.ts +32 -0
  418. package/features/shared/storageOperations/index.js +32 -0
  419. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  420. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  421. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  422. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  423. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  424. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  425. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  426. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  427. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  428. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  429. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  430. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  431. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  432. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  433. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  434. package/fieldConverters/abstractions.d.ts +14 -0
  435. package/fieldConverters/abstractions.js +13 -0
  436. package/fieldConverters/abstractions.js.map +1 -0
  437. package/fieldConverters/index.d.ts +1 -1
  438. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  439. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  440. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  441. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  442. package/graphql/CmsSchemaExecutor.js +5 -0
  443. package/graphql/CmsSchemaExecutor.js.map +1 -0
  444. package/graphql/buildSchemaPlugins.d.ts +2 -1
  445. package/graphql/buildSchemaPlugins.js +1 -3
  446. package/graphql/buildSchemaPlugins.js.map +1 -1
  447. package/graphql/checkEndpointAccess.js +5 -2
  448. package/graphql/checkEndpointAccess.js.map +1 -1
  449. package/graphql/createExecutableSchema.d.ts +1 -1
  450. package/graphql/createExecutableSchema.js +1 -1
  451. package/graphql/createExecutableSchema.js.map +1 -1
  452. package/graphql/generateSchema.d.ts +2 -1
  453. package/graphql/generateSchema.js +14 -5
  454. package/graphql/generateSchema.js.map +1 -1
  455. package/graphql/getSchema.js +7 -2
  456. package/graphql/getSchema.js.map +1 -1
  457. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  458. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  459. package/graphql/schema/baseContentSchema.d.ts +1 -6
  460. package/graphql/schema/baseContentSchema.js +5 -8
  461. package/graphql/schema/baseContentSchema.js.map +1 -1
  462. package/graphql/schema/baseSchema.d.ts +2 -2
  463. package/graphql/schema/baseSchema.js +6 -41
  464. package/graphql/schema/baseSchema.js.map +1 -1
  465. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  466. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  467. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  468. package/graphql/schema/cms/createEntryResolver.js +2 -2
  469. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  470. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  471. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  472. package/graphql/schema/cms/getEntryResolver.js +2 -2
  473. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  474. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  475. package/graphql/schema/cms/helpers/getModel.js +5 -3
  476. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  477. package/graphql/schema/cms/helpers/transformWhereToNested.js +17 -39
  478. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
  479. package/graphql/schema/cms/listEntriesResolver.js +2 -2
  480. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  481. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  482. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  483. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  484. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  485. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  486. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  487. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  488. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  489. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  490. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  491. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  492. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  493. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  494. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  495. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  496. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  497. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  498. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  499. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  500. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  501. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  502. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  503. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  504. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  505. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  506. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  507. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  508. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  509. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  510. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  511. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  512. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  513. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  514. package/graphql/schema/cms/typeDefs/query.js +1 -1
  515. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  516. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  517. package/graphql/schema/cms/typeDefs/responses.js +1 -1
  518. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  519. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  520. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  521. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  522. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  523. package/graphql/schema/contentEntries.js +43 -32
  524. package/graphql/schema/contentEntries.js.map +1 -1
  525. package/graphql/schema/contentModelGroups.js +39 -18
  526. package/graphql/schema/contentModelGroups.js.map +1 -1
  527. package/graphql/schema/contentModels.js +37 -16
  528. package/graphql/schema/contentModels.js.map +1 -1
  529. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  530. package/graphql/schema/createFieldResolvers.js.map +1 -1
  531. package/graphql/schema/createManageResolvers.js +4 -2
  532. package/graphql/schema/createManageResolvers.js.map +1 -1
  533. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  534. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  535. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  536. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  537. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  538. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  539. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  540. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  541. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  542. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  543. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  544. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  545. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  546. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  547. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  548. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  549. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  550. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  551. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  552. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  553. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  554. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  555. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  556. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  557. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  558. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  559. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  560. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  561. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  562. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  563. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  564. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  565. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  566. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  567. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  568. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  569. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  570. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  571. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  572. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  573. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  574. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  575. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  576. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  577. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  578. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  579. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  580. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  581. package/graphql/schema/schemaPlugins.d.ts +2 -1
  582. package/graphql/schema/schemaPlugins.js +2 -4
  583. package/graphql/schema/schemaPlugins.js.map +1 -1
  584. package/index.d.ts +7 -6
  585. package/index.js +4 -22
  586. package/legacy/abstractions.js.map +1 -1
  587. package/package.json +22 -27
  588. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  589. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  590. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  591. package/plugins/index.d.ts +0 -1
  592. package/plugins/index.js +0 -1
  593. package/types/fields/dynamicZoneField.d.ts +2 -2
  594. package/types/modelField.d.ts +1 -1
  595. package/types/types.d.ts +10 -183
  596. package/types/types.js.map +1 -1
  597. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  598. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  599. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  600. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  601. package/utils/contentModelToJsonSchema/index.js +1 -0
  602. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  603. package/utils/contentModelToJsonSchema/types.js +0 -0
  604. package/utils/converters/ConverterCollection.d.ts +2 -2
  605. package/utils/converters/ConverterCollection.js +1 -3
  606. package/utils/converters/ConverterCollection.js.map +1 -1
  607. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  608. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  609. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  610. package/utils/converters/valueKeyStorageConverter.js +4 -2
  611. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  612. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  613. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  614. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  615. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  616. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  617. package/utils/index.d.ts +1 -0
  618. package/utils/index.js +1 -0
  619. package/utils/isHeadlessCmsReady.d.ts +1 -1
  620. package/utils/isHeadlessCmsReady.js +3 -2
  621. package/utils/isHeadlessCmsReady.js.map +1 -1
  622. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  623. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  624. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  625. package/abstractions/entryHooks/index.d.ts +0 -1
  626. package/abstractions/entryHooks/index.js +0 -1
  627. package/abstractions/index.d.ts +0 -1
  628. package/abstractions/index.js +0 -1
  629. package/context.d.ts +0 -3
  630. package/context.js +0 -131
  631. package/context.js.map +0 -1
  632. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  633. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  634. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  635. package/extensions/entryHooks/index.d.ts +0 -1
  636. package/extensions/entryHooks/index.js +0 -1
  637. package/extensions/index.d.ts +0 -5
  638. package/extensions/index.js +0 -7
  639. package/extensions/index.js.map +0 -1
  640. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  641. package/graphql/graphQLHandlerFactory.js +0 -22
  642. package/graphql/graphQLHandlerFactory.js.map +0 -1
  643. package/graphql/handleRequest.d.ts +0 -11
  644. package/graphql/handleRequest.js +0 -62
  645. package/graphql/handleRequest.js.map +0 -1
  646. package/graphql/index.d.ts +0 -4
  647. package/graphql/index.js +0 -11
  648. package/graphql/index.js.map +0 -1
  649. package/graphql/schema/cms/index.d.ts +0 -2
  650. package/graphql/schema/cms/index.js +0 -24
  651. package/graphql/schema/cms/index.js.map +0 -1
  652. package/index.js.map +0 -1
  653. package/parameters/context.d.ts +0 -2
  654. package/parameters/context.js +0 -7
  655. package/parameters/context.js.map +0 -1
  656. package/parameters/header.d.ts +0 -2
  657. package/parameters/header.js +0 -13
  658. package/parameters/header.js.map +0 -1
  659. package/parameters/index.d.ts +0 -3
  660. package/parameters/index.js +0 -3
  661. package/parameters/path.d.ts +0 -2
  662. package/parameters/path.js +0 -12
  663. package/parameters/path.js.map +0 -1
  664. package/plugins/CmsParametersPlugin.d.ts +0 -18
  665. package/plugins/CmsParametersPlugin.js +0 -16
  666. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js","sources":["../../../../src/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSingletonEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"~/constants.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\n\n/**\n * GetSingletonEntryUseCase - Gets the singleton entry for a model.\n *\n * Responsibilities:\n * - Validate model is marked as singleton\n * - Generate singleton entry ID from model ID\n * - Try to get existing entry\n * - If not found, create a new entry with skipValidators: [\"required\"]\n * - Delegate to generic GetEntry and CreateEntry use cases\n */\nclass GetSingletonEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private createEntry: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Validate model is marked as singleton\n if (!model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {\n return Result.fail(new EntryValidationError(\"Model is not marked as singleton.\"));\n }\n\n // Generate singleton entry ID from model ID\n const id = createCacheKey(model.modelId);\n const entryId = `${id}#0001`;\n\n // Try to get existing entry\n const getResult = await this.getEntryById.execute<T>(model, entryId);\n\n if (getResult.isOk()) {\n return getResult;\n }\n\n // Entry doesn't exist, create it\n return await this.createEntry.execute<T>(\n model,\n {\n id,\n values: {\n // safe to cast\n } as T\n },\n { skipValidators: [\"required\"] }\n );\n }\n}\n\nexport const GetSingletonEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSingletonEntryUseCaseImpl,\n dependencies: [GetEntryByIdUseCase, CreateEntryUseCase]\n});\n"],"names":["GetSingletonEntryUseCaseImpl","getEntryById","createEntry","model","CMS_MODEL_SINGLETON_TAG","Result","EntryValidationError","id","createCacheKey","entryId","getResult","GetSingletonEntryUseCase","UseCaseAbstraction","GetEntryByIdUseCase","CreateEntryUseCase"],"mappings":";;;;;;;AAmBA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,WAAyC,CACnD;aAFUD,YAAY,GAAZA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QACFC,KAAe,EACuC;QAEtD,IAAI,CAACA,MAAM,IAAI,EAAE,SAASC,0BACtB,OAAOC,OAAO,IAAI,CAAC,IAAIC,qBAAqB;QAIhD,MAAMC,KAAKC,eAAeL,MAAM,OAAO;QACvC,MAAMM,UAAU,GAAGF,GAAG,KAAK,CAAC;QAG5B,MAAMG,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAIP,OAAOM;QAE5D,IAAIC,UAAU,IAAI,IACd,OAAOA;QAIX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CACjCP,OACA;YACII;YACA,QAAQ,CAER;QACJ,GACA;YAAE,gBAAgB;gBAAC;aAAW;QAAC;IAEvC;AACJ;AAEO,MAAMI,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBZ;IAChB,cAAc;QAACa;QAAqBC;KAAmB;AAC3D"}
1
+ {"version":3,"file":"features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js","sources":["../../../../src/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSingletonEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"~/constants.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\n\n/**\n * GetSingletonEntryUseCase - Gets the singleton entry for a model.\n *\n * Responsibilities:\n * - Validate model is marked as singleton\n * - Generate singleton entry ID from model ID\n * - Try to get existing entry\n * - If not found, create a new entry with skipValidators: [\"required\"]\n * - Delegate to generic GetEntry and CreateEntry use cases\n */\nclass GetSingletonEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private createEntry: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Validate model is marked as singleton\n if (!model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {\n return Result.fail(new EntryValidationError(\"Model is not marked as singleton.\"));\n }\n\n // Generate singleton entry ID from model ID\n const id = createCacheKey(model.modelId);\n const entryId = `${id}#0001`;\n\n // Try to get existing entry\n const getResult = await this.getEntryById.execute<T>(model, entryId);\n\n if (getResult.isOk()) {\n return getResult;\n }\n\n // Entry doesn't exist, create it\n return await this.createEntry.execute<T>(\n model,\n {\n id,\n values: {\n // safe to cast\n } as T\n },\n { skipValidation: true }\n );\n }\n}\n\nexport const GetSingletonEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSingletonEntryUseCaseImpl,\n dependencies: [GetEntryByIdUseCase, CreateEntryUseCase]\n});\n"],"names":["GetSingletonEntryUseCaseImpl","getEntryById","createEntry","model","CMS_MODEL_SINGLETON_TAG","Result","EntryValidationError","id","createCacheKey","entryId","getResult","GetSingletonEntryUseCase","UseCaseAbstraction","GetEntryByIdUseCase","CreateEntryUseCase"],"mappings":";;;;;;;AAmBA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,WAAyC,CACnD;aAFUD,YAAY,GAAZA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QACFC,KAAe,EACuC;QAEtD,IAAI,CAACA,MAAM,IAAI,EAAE,SAASC,0BACtB,OAAOC,OAAO,IAAI,CAAC,IAAIC,qBAAqB;QAIhD,MAAMC,KAAKC,eAAeL,MAAM,OAAO;QACvC,MAAMM,UAAU,GAAGF,GAAG,KAAK,CAAC;QAG5B,MAAMG,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAIP,OAAOM;QAE5D,IAAIC,UAAU,IAAI,IACd,OAAOA;QAIX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CACjCP,OACA;YACII;YACA,QAAQ,CAER;QACJ,GACA;YAAE,gBAAgB;QAAK;IAE/B;AACJ;AAEO,MAAMI,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBZ;IAChB,cAAc;QAACa;QAAqBC;KAAmB;AAC3D"}
@@ -1,11 +1,13 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesRepository as RepositoryAbstraction, GetUniqueFieldValuesParams } from "./abstractions.js";
3
- import { StorageOperations } from "../../../features/shared/abstractions.js";
3
+ import { GetUniqueFieldValuesStorageOperation } from "../../../features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js";
4
4
  import type { CmsModel, CmsEntryUniqueValue } from "../../../types/index.js";
5
5
  declare class GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {
6
- private storageOperations;
7
- constructor(storageOperations: StorageOperations.Interface);
6
+ private getUniqueFieldValuesStorage;
7
+ constructor(getUniqueFieldValuesStorage: GetUniqueFieldValuesStorageOperation.Interface);
8
8
  execute(model: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>>;
9
9
  }
10
- export declare const GetUniqueFieldValuesRepository: import("@webiny/di").Implementation<typeof GetUniqueFieldValuesRepositoryImpl>;
10
+ export declare const GetUniqueFieldValuesRepository: typeof GetUniqueFieldValuesRepositoryImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetUniqueFieldValuesRepository>;
12
+ };
11
13
  export {};
@@ -1,15 +1,15 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesRepository } from "./abstractions.js";
3
- import { StorageOperations } from "../../shared/abstractions.js";
3
+ import { GetUniqueFieldValuesStorageOperation } from "../../shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js";
4
4
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
5
5
  class GetUniqueFieldValuesRepositoryImpl {
6
- constructor(storageOperations){
7
- this.storageOperations = storageOperations;
6
+ constructor(getUniqueFieldValuesStorage){
7
+ this.getUniqueFieldValuesStorage = getUniqueFieldValuesStorage;
8
8
  }
9
9
  async execute(model, params) {
10
10
  const { where, fieldId } = params;
11
11
  try {
12
- const values = await this.storageOperations.entries.getUniqueFieldValues(model, {
12
+ const values = await this.getUniqueFieldValuesStorage.execute(model, {
13
13
  where,
14
14
  fieldId
15
15
  });
@@ -19,11 +19,10 @@ class GetUniqueFieldValuesRepositoryImpl {
19
19
  }
20
20
  }
21
21
  }
22
- const GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository = createImplementation({
23
- abstraction: GetUniqueFieldValuesRepository,
22
+ const GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository = GetUniqueFieldValuesRepository.createImplementation({
24
23
  implementation: GetUniqueFieldValuesRepositoryImpl,
25
24
  dependencies: [
26
- StorageOperations
25
+ GetUniqueFieldValuesStorageOperation
27
26
  ]
28
27
  });
29
28
  export { GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository as GetUniqueFieldValuesRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesRepository as RepositoryAbstraction,\n GetUniqueFieldValuesParams\n} from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsModel, CmsEntryUniqueValue } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>> {\n const { where, fieldId } = params;\n\n try {\n const values = await this.storageOperations.entries.getUniqueFieldValues(model, {\n where,\n fieldId\n });\n\n return Result.ok(values);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetUniqueFieldValuesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: GetUniqueFieldValuesRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["GetUniqueFieldValuesRepositoryImpl","storageOperations","model","params","where","fieldId","values","Result","error","EntryPersistenceError","GetUniqueFieldValuesRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAUA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,MAAkC,EACiC;QACnE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAE,GAAGF;QAE3B,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAACJ,OAAO;gBAC5EE;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gEAAiCC,qBAAqB;IAC/D,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesRepository as RepositoryAbstraction,\n GetUniqueFieldValuesParams\n} from \"./abstractions.js\";\nimport { GetUniqueFieldValuesStorageOperation } from \"~/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsModel, CmsEntryUniqueValue } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private getUniqueFieldValuesStorage: GetUniqueFieldValuesStorageOperation.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>> {\n const { where, fieldId } = params;\n\n try {\n const values = await this.getUniqueFieldValuesStorage.execute(model, {\n where,\n fieldId\n });\n\n return Result.ok(values);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetUniqueFieldValuesRepository = RepositoryAbstraction.createImplementation({\n implementation: GetUniqueFieldValuesRepositoryImpl,\n dependencies: [GetUniqueFieldValuesStorageOperation]\n});\n"],"names":["GetUniqueFieldValuesRepositoryImpl","getUniqueFieldValuesStorage","model","params","where","fieldId","values","Result","error","EntryPersistenceError","GetUniqueFieldValuesRepository","RepositoryAbstraction","GetUniqueFieldValuesStorageOperation"],"mappings":";;;;AASA,MAAMA;IACF,YACYC,2BAA2E,CACrF;aADUA,2BAA2B,GAA3BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAkC,EACiC;QACnE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAE,GAAGF;QAE3B,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAACJ,OAAO;gBACjEE;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gEAAiCC,+BAAAA,oBAA0C,CAAC;IACrF,gBAAgBX;IAChB,cAAc;QAACY;KAAqC;AACxD"}
@@ -1,13 +1,17 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesParams, GetUniqueFieldValuesRepository, GetUniqueFieldValuesUseCase as UseCaseAbstraction } from "./abstractions.js";
3
3
  import { AccessControl, CmsContext } from "../../../features/shared/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
5
  import type { CmsEntryUniqueValue, CmsModel } from "../../../types/index.js";
5
6
  declare class GetUniqueFieldValuesUseCaseImpl implements UseCaseAbstraction.Interface {
6
7
  private repository;
7
8
  private accessControl;
8
9
  private cmsContext;
9
- constructor(repository: GetUniqueFieldValuesRepository.Interface, accessControl: AccessControl.Interface, cmsContext: CmsContext.Interface);
10
+ private identityContext;
11
+ constructor(repository: GetUniqueFieldValuesRepository.Interface, accessControl: AccessControl.Interface, cmsContext: CmsContext.Interface, identityContext: IdentityContext.Interface);
10
12
  execute(model: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], UseCaseAbstraction.Error>>;
11
13
  }
12
- export declare const GetUniqueFieldValuesUseCase: import("@webiny/di").Implementation<typeof GetUniqueFieldValuesUseCaseImpl>;
14
+ export declare const GetUniqueFieldValuesUseCase: typeof GetUniqueFieldValuesUseCaseImpl & {
15
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetUniqueFieldValuesUseCase>;
16
+ };
13
17
  export {};
@@ -1,14 +1,16 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { GetUniqueFieldValuesRepository, GetUniqueFieldValuesUseCase } from "./abstractions.js";
3
3
  import { AccessControl, CmsContext } from "../../shared/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
5
  import { EntryNotAuthorizedError } from "../../../domain/contentEntry/errors.js";
5
6
  import { FieldNotSearchableError, InvalidWhereConditionError } from "./errors.js";
6
7
  import { getSearchableFields } from "../../../crud/contentEntry/searchableFields.js";
7
8
  class GetUniqueFieldValuesUseCaseImpl {
8
- constructor(repository, accessControl, cmsContext){
9
+ constructor(repository, accessControl, cmsContext, identityContext){
9
10
  this.repository = repository;
10
11
  this.accessControl = accessControl;
11
12
  this.cmsContext = cmsContext;
13
+ this.identityContext = identityContext;
12
14
  }
13
15
  async execute(model, params) {
14
16
  const canAccess = await this.accessControl.canAccessEntry({
@@ -23,7 +25,7 @@ class GetUniqueFieldValuesUseCaseImpl {
23
25
  model
24
26
  });
25
27
  if (canAccessOnlyOwned) {
26
- const identity = this.cmsContext.security.getIdentity();
28
+ const identity = this.identityContext.getIdentity();
27
29
  where.createdBy = identity.id;
28
30
  }
29
31
  if (where.latest && where.published) return Result.fail(new InvalidWhereConditionError("Cannot list entries that are both published and latest.", where));
@@ -42,13 +44,13 @@ class GetUniqueFieldValuesUseCaseImpl {
42
44
  return Result.ok(result.value);
43
45
  }
44
46
  }
45
- const GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase = createImplementation({
46
- abstraction: GetUniqueFieldValuesUseCase,
47
+ const GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase = GetUniqueFieldValuesUseCase.createImplementation({
47
48
  implementation: GetUniqueFieldValuesUseCaseImpl,
48
49
  dependencies: [
49
50
  GetUniqueFieldValuesRepository,
50
51
  AccessControl,
51
- CmsContext
52
+ CmsContext,
53
+ IdentityContext
52
54
  ]
53
55
  });
54
56
  export { GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase as GetUniqueFieldValuesUseCase };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesParams,\n GetUniqueFieldValuesRepository,\n GetUniqueFieldValuesUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { FieldNotSearchableError, InvalidWhereConditionError } from \"./errors.js\";\nimport { getSearchableFields } from \"~/crud/contentEntry/searchableFields.js\";\nimport type { CmsEntryUniqueValue, CmsModel } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: GetUniqueFieldValuesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(\n new EntryNotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`)\n );\n }\n\n const { where: initialWhere, fieldId } = params;\n\n const where = {\n ...initialWhere\n };\n\n // Apply ownership filter if needed\n const canAccessOnlyOwned = await this.accessControl.canAccessOnlyOwnedEntries({ model });\n if (canAccessOnlyOwned) {\n const identity = this.cmsContext.security.getIdentity();\n where.createdBy = identity.id;\n }\n\n // Validate where conditions\n if (where.latest && where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries that are both published and latest.\",\n where\n )\n );\n }\n\n if (!where.latest && !where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries if we do not have latest or published defined.\",\n where\n )\n );\n }\n\n // Verify the field is searchable\n const searchableFields = getSearchableFields({\n fields: model.fields,\n context: this.cmsContext,\n input: []\n });\n\n if (!searchableFields.includes(`values.${fieldId}`)) {\n return Result.fail(new FieldNotSearchableError(fieldId));\n }\n\n // Execute repository call\n const result = await this.repository.execute(model, {\n where,\n fieldId\n });\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const GetUniqueFieldValuesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetUniqueFieldValuesUseCaseImpl,\n dependencies: [GetUniqueFieldValuesRepository, AccessControl, CmsContext]\n});\n"],"names":["GetUniqueFieldValuesUseCaseImpl","repository","accessControl","cmsContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","fieldId","where","canAccessOnlyOwned","identity","InvalidWhereConditionError","searchableFields","getSearchableFields","FieldNotSearchableError","result","GetUniqueFieldValuesUseCase","createImplementation","UseCaseAbstraction","GetUniqueFieldValuesRepository","AccessControl","CmsContext"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,UAAoD,EACpDC,aAAsC,EACtCC,UAAgC,CAC1C;aAHUF,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAkC,EAC8B;QAChE,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CACd,IAAIC,wBAAwB,CAAC,uBAAuB,EAAEJ,MAAM,OAAO,CAAC,UAAU,CAAC;QAIvF,MAAM,EAAE,OAAOK,YAAY,EAAEC,OAAO,EAAE,GAAGL;QAEzC,MAAMM,QAAQ;YACV,GAAGF,YAAY;QACnB;QAGA,MAAMG,qBAAqB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAER;QAAM;QACtF,IAAIQ,oBAAoB;YACpB,MAAMC,WAAW,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW;YACrDF,MAAM,SAAS,GAAGE,SAAS,EAAE;QACjC;QAGA,IAAIF,MAAM,MAAM,IAAIA,MAAM,SAAS,EAC/B,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,2DACAH;QAKZ,IAAI,CAACA,MAAM,MAAM,IAAI,CAACA,MAAM,SAAS,EACjC,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,sEACAH;QAMZ,MAAMI,mBAAmBC,oBAAoB;YACzC,QAAQZ,MAAM,MAAM;YACpB,SAAS,IAAI,CAAC,UAAU;YACxB,OAAO,EAAE;QACb;QAEA,IAAI,CAACW,iBAAiB,QAAQ,CAAC,CAAC,OAAO,EAAEL,SAAS,GAC9C,OAAOH,OAAO,IAAI,CAAC,IAAIU,wBAAwBP;QAInD,MAAMQ,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACd,OAAO;YAChDO;YACAD;QACJ;QACA,IAAIQ,OAAO,MAAM,IACb,OAAOX,OAAO,IAAI,CAACW,OAAO,KAAK;QAGnC,OAAOX,OAAO,EAAE,CAACW,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,0DAA8BC,qBAAqB;IAC5D,aAAaC;IACb,gBAAgBrB;IAChB,cAAc;QAACsB;QAAgCC;QAAeC;KAAW;AAC7E"}
1
+ {"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesParams,\n GetUniqueFieldValuesRepository,\n GetUniqueFieldValuesUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { FieldNotSearchableError, InvalidWhereConditionError } from \"./errors.js\";\nimport { getSearchableFields } from \"~/crud/contentEntry/searchableFields.js\";\nimport type { CmsEntryUniqueValue, CmsModel } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: GetUniqueFieldValuesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private cmsContext: CmsContext.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(\n new EntryNotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`)\n );\n }\n\n const { where: initialWhere, fieldId } = params;\n\n const where = {\n ...initialWhere\n };\n\n // Apply ownership filter if needed\n const canAccessOnlyOwned = await this.accessControl.canAccessOnlyOwnedEntries({ model });\n if (canAccessOnlyOwned) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n // Validate where conditions\n if (where.latest && where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries that are both published and latest.\",\n where\n )\n );\n }\n\n if (!where.latest && !where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries if we do not have latest or published defined.\",\n where\n )\n );\n }\n\n // Verify the field is searchable\n const searchableFields = getSearchableFields({\n fields: model.fields,\n context: this.cmsContext,\n input: []\n });\n\n if (!searchableFields.includes(`values.${fieldId}`)) {\n return Result.fail(new FieldNotSearchableError(fieldId));\n }\n\n // Execute repository call\n const result = await this.repository.execute(model, {\n where,\n fieldId\n });\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const GetUniqueFieldValuesUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetUniqueFieldValuesUseCaseImpl,\n dependencies: [GetUniqueFieldValuesRepository, AccessControl, CmsContext, IdentityContext]\n});\n"],"names":["GetUniqueFieldValuesUseCaseImpl","repository","accessControl","cmsContext","identityContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","fieldId","where","canAccessOnlyOwned","identity","InvalidWhereConditionError","searchableFields","getSearchableFields","FieldNotSearchableError","result","GetUniqueFieldValuesUseCase","UseCaseAbstraction","GetUniqueFieldValuesRepository","AccessControl","CmsContext","IdentityContext"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,UAAoD,EACpDC,aAAsC,EACtCC,UAAgC,EAChCC,eAA0C,CACpD;aAJUH,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,UAAU,GAAVA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAkC,EAC8B;QAChE,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CACd,IAAIC,wBAAwB,CAAC,uBAAuB,EAAEJ,MAAM,OAAO,CAAC,UAAU,CAAC;QAIvF,MAAM,EAAE,OAAOK,YAAY,EAAEC,OAAO,EAAE,GAAGL;QAEzC,MAAMM,QAAQ;YACV,GAAGF,YAAY;QACnB;QAGA,MAAMG,qBAAqB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAER;QAAM;QACtF,IAAIQ,oBAAoB;YACpB,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;YACjDF,MAAM,SAAS,GAAGE,SAAS,EAAE;QACjC;QAGA,IAAIF,MAAM,MAAM,IAAIA,MAAM,SAAS,EAC/B,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,2DACAH;QAKZ,IAAI,CAACA,MAAM,MAAM,IAAI,CAACA,MAAM,SAAS,EACjC,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,sEACAH;QAMZ,MAAMI,mBAAmBC,oBAAoB;YACzC,QAAQZ,MAAM,MAAM;YACpB,SAAS,IAAI,CAAC,UAAU;YACxB,OAAO,EAAE;QACb;QAEA,IAAI,CAACW,iBAAiB,QAAQ,CAAC,CAAC,OAAO,EAAEL,SAAS,GAC9C,OAAOH,OAAO,IAAI,CAAC,IAAIU,wBAAwBP;QAInD,MAAMQ,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACd,OAAO;YAChDO;YACAD;QACJ;QACA,IAAIQ,OAAO,MAAM,IACb,OAAOX,OAAO,IAAI,CAACW,OAAO,KAAK;QAGnC,OAAOX,OAAO,EAAE,CAACW,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,0DAA8BC,4BAAAA,oBAAuC,CAAC;IAC/E,gBAAgBrB;IAChB,cAAc;QAACsB;QAAgCC;QAAeC;QAAYC;KAAgB;AAC9F"}
@@ -10,5 +10,7 @@ declare class ListDeletedEntriesUseCaseImpl implements UseCaseAbstraction.Interf
10
10
  constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
11
11
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
12
12
  }
13
- export declare const ListDeletedEntriesUseCase: import("@webiny/di").Implementation<typeof ListDeletedEntriesUseCaseImpl>;
13
+ export declare const ListDeletedEntriesUseCase: typeof ListDeletedEntriesUseCaseImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListDeletedEntriesUseCase>;
15
+ };
14
16
  export {};
@@ -1,4 +1,3 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
1
  import { ListDeletedEntriesUseCase, ListEntriesUseCase } from "./abstractions.js";
3
2
  class ListDeletedEntriesUseCaseImpl {
4
3
  constructor(listEntriesUseCase){
@@ -16,8 +15,7 @@ class ListDeletedEntriesUseCaseImpl {
16
15
  });
17
16
  }
18
17
  }
19
- const ListDeletedEntriesUseCase_ListDeletedEntriesUseCase = createImplementation({
20
- abstraction: ListDeletedEntriesUseCase,
18
+ const ListDeletedEntriesUseCase_ListDeletedEntriesUseCase = ListDeletedEntriesUseCase.createImplementation({
21
19
  implementation: ListDeletedEntriesUseCaseImpl,
22
20
  dependencies: [
23
21
  ListEntriesUseCase
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListDeletedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListDeletedEntriesUseCase - Lists deleted entries for manage API.\n * Delegates to base ListEntriesUseCase with latest: true and wbyDeleted: true filters.\n */\nclass ListDeletedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add latest: true and wbyDeleted: true filters\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted: true\n }\n });\n }\n}\n\nexport const ListDeletedEntriesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListDeletedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListDeletedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListDeletedEntriesUseCase","createImplementation","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";;AASA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,YAAY;YAChB;QACJ;IACJ;AACJ;AAEO,MAAME,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBR;IAChB,cAAc;QAACS;KAAmB;AACtC"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.ts"],"sourcesContent":["import { ListDeletedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListDeletedEntriesUseCase - Lists deleted entries for manage API.\n * Delegates to base ListEntriesUseCase with latest: true and wbyDeleted: true filters.\n */\nclass ListDeletedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add latest: true and wbyDeleted: true filters\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted: true\n }\n });\n }\n}\n\nexport const ListDeletedEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListDeletedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListDeletedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListDeletedEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAQA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,YAAY;YAChB;QACJ;IACJ;AACJ;AAEO,MAAME,sDAA4BC,0BAAAA,oBAAuC,CAAC;IAC7E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
@@ -1,6 +1,6 @@
1
1
  import { ListEntriesRepository as RepositoryAbstraction } from "./abstractions.js";
2
2
  import type { CmsEntryListParams, CmsEntryValues, CmsModel } from "../../../types/index.js";
3
- import { StorageOperations } from "../../../features/shared/abstractions.js";
3
+ import { ListEntriesStorageOperation } from "../../../features/shared/storageOperations/entry/ListEntriesStorageOperation.js";
4
4
  import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
5
5
  /**
6
6
  * ListEntriesRepository - Fetches entries from storage and transforms them.
@@ -9,9 +9,11 @@ import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../le
9
9
  declare class ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {
10
10
  private searchableFieldsProvider;
11
11
  private entryFromStorageTransform;
12
- private storageOperations;
13
- constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, storageOperations: StorageOperations.Interface);
12
+ private listEntriesStorage;
13
+ constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, listEntriesStorage: ListEntriesStorageOperation.Interface);
14
14
  execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryListParams): RepositoryAbstraction.Return<T>;
15
15
  }
16
- export declare const ListEntriesRepository: import("@webiny/di").Implementation<typeof ListEntriesRepositoryImpl>;
16
+ export declare const ListEntriesRepository: typeof ListEntriesRepositoryImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListEntriesRepository>;
18
+ };
17
19
  export {};
@@ -1,13 +1,13 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { ListEntriesRepository } from "./abstractions.js";
3
3
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
4
- import { StorageOperations } from "../../shared/abstractions.js";
4
+ import { ListEntriesStorageOperation } from "../../shared/storageOperations/entry/ListEntriesStorageOperation.js";
5
5
  import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
6
6
  class ListEntriesRepositoryImpl {
7
- constructor(searchableFieldsProvider, entryFromStorageTransform, storageOperations){
7
+ constructor(searchableFieldsProvider, entryFromStorageTransform, listEntriesStorage){
8
8
  this.searchableFieldsProvider = searchableFieldsProvider;
9
9
  this.entryFromStorageTransform = entryFromStorageTransform;
10
- this.storageOperations = storageOperations;
10
+ this.listEntriesStorage = listEntriesStorage;
11
11
  }
12
12
  async execute(model, params) {
13
13
  try {
@@ -31,7 +31,7 @@ class ListEntriesRepositoryImpl {
31
31
  };
32
32
  let result;
33
33
  try {
34
- result = await this.storageOperations.entries.list(model, listParams);
34
+ result = await this.listEntriesStorage.execute(model, listParams);
35
35
  } catch (ex) {
36
36
  return Result.fail(ex);
37
37
  }
@@ -50,13 +50,12 @@ class ListEntriesRepositoryImpl {
50
50
  }
51
51
  }
52
52
  }
53
- const ListEntriesRepository_ListEntriesRepository = createImplementation({
54
- abstraction: ListEntriesRepository,
53
+ const ListEntriesRepository_ListEntriesRepository = ListEntriesRepository.createImplementation({
55
54
  implementation: ListEntriesRepositoryImpl,
56
55
  dependencies: [
57
56
  SearchableFieldsProvider,
58
57
  EntryFromStorageTransform,
59
- StorageOperations
58
+ ListEntriesStorageOperation
60
59
  ]
61
60
  });
62
61
  export { ListEntriesRepository_ListEntriesRepository as ListEntriesRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { ListEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryStorageOperationsListParams,\n CmsEntryStorageOperationsListResponse,\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"~/types/index.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { EntryFromStorageTransform, SearchableFieldsProvider } from \"~/legacy/abstractions.js\";\n\n/**\n * ListEntriesRepository - Fetches entries from storage and transforms them.\n * Returns entries with pagination metadata.\n */\nclass ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private searchableFieldsProvider: SearchableFieldsProvider.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private storageOperations: StorageOperations.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): RepositoryAbstraction.Return<T> {\n try {\n const limit = params.limit && params.limit > 0 ? params.limit : 50;\n const sort = params.sort ?? [\"createdOn_DESC\"];\n const where: NonNullable<CmsEntryListParams[\"where\"]> = params.where ?? {};\n\n if (where.location) {\n where.wbyAco_location = where.location;\n delete where.location;\n }\n\n const listParams: CmsEntryStorageOperationsListParams = {\n ...params,\n sort,\n limit,\n where,\n fields: this.searchableFieldsProvider({ fields: model.fields })\n };\n\n let result: CmsEntryStorageOperationsListResponse<CmsStorageEntry<T>> | undefined;\n try {\n result = await this.storageOperations.entries.list<T>(model, listParams);\n } catch (ex) {\n return Result.fail(ex);\n }\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.items.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n const meta: CmsEntryMeta = {\n hasMoreItems: result.hasMoreItems,\n totalCount: result.totalCount,\n cursor: result.hasMoreItems ? result.cursor : null\n };\n\n return Result.ok({ entries: items, meta });\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const ListEntriesRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: ListEntriesRepositoryImpl,\n dependencies: [SearchableFieldsProvider, EntryFromStorageTransform, StorageOperations]\n});\n"],"names":["ListEntriesRepositoryImpl","searchableFieldsProvider","entryFromStorageTransform","storageOperations","model","params","limit","sort","where","listParams","result","ex","Result","items","Promise","entry","meta","error","EntryPersistenceError","ListEntriesRepository","createImplementation","RepositoryAbstraction","SearchableFieldsProvider","EntryFromStorageTransform","StorageOperations"],"mappings":";;;;;AAmBA,MAAMA;IACF,YACYC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,iBAA8C,CACxD;aAHUF,wBAAwB,GAAxBA;aACAC,yBAAyB,GAAzBA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA0B,EACK;QAC/B,IAAI;YACA,MAAMC,QAAQD,OAAO,KAAK,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,GAAG;YAChE,MAAME,OAAOF,OAAO,IAAI,IAAI;gBAAC;aAAiB;YAC9C,MAAMG,QAAkDH,OAAO,KAAK,IAAI,CAAC;YAEzE,IAAIG,MAAM,QAAQ,EAAE;gBAChBA,MAAM,eAAe,GAAGA,MAAM,QAAQ;gBACtC,OAAOA,MAAM,QAAQ;YACzB;YAEA,MAAMC,aAAkD;gBACpD,GAAGJ,MAAM;gBACTE;gBACAD;gBACAE;gBACA,QAAQ,IAAI,CAAC,wBAAwB,CAAC;oBAAE,QAAQJ,MAAM,MAAM;gBAAC;YACjE;YAEA,IAAIM;YACJ,IAAI;gBACAA,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAIN,OAAOK;YACjE,EAAE,OAAOE,IAAI;gBACT,OAAOC,OAAO,IAAI,CAACD;YACvB;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BJ,OAAO,KAAK,CAAC,GAAG,CAAC,OAAMK,QACZ,IAAI,CAAC,yBAAyB,CAACX,OAAOW;YAIrD,MAAMC,OAAqB;gBACvB,cAAcN,OAAO,YAAY;gBACjC,YAAYA,OAAO,UAAU;gBAC7B,QAAQA,OAAO,YAAY,GAAGA,OAAO,MAAM,GAAG;YAClD;YAEA,OAAOE,OAAO,EAAE,CAAC;gBAAE,SAASC;gBAAOG;YAAK;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAAC,IAAIM,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBrB;IAChB,cAAc;QAACsB;QAA0BC;QAA2BC;KAAkB;AAC1F"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryStorageOperationsListParams,\n CmsEntryStorageOperationsListResponse,\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"~/types/index.js\";\nimport { ListEntriesStorageOperation } from \"~/features/shared/storageOperations/entry/ListEntriesStorageOperation.js\";\nimport { EntryFromStorageTransform, SearchableFieldsProvider } from \"~/legacy/abstractions.js\";\n\n/**\n * ListEntriesRepository - Fetches entries from storage and transforms them.\n * Returns entries with pagination metadata.\n */\nclass ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private searchableFieldsProvider: SearchableFieldsProvider.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private listEntriesStorage: ListEntriesStorageOperation.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): RepositoryAbstraction.Return<T> {\n try {\n const limit = params.limit && params.limit > 0 ? params.limit : 50;\n const sort = params.sort ?? [\"createdOn_DESC\"];\n const where: NonNullable<CmsEntryListParams[\"where\"]> = params.where ?? {};\n\n if (where.location) {\n where.wbyAco_location = where.location;\n delete where.location;\n }\n\n const listParams: CmsEntryStorageOperationsListParams = {\n ...params,\n sort,\n limit,\n where,\n fields: this.searchableFieldsProvider({ fields: model.fields })\n };\n\n let result: CmsEntryStorageOperationsListResponse<CmsStorageEntry<T>> | undefined;\n try {\n result = await this.listEntriesStorage.execute<T>(model, listParams);\n } catch (ex) {\n return Result.fail(ex);\n }\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.items.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n const meta: CmsEntryMeta = {\n hasMoreItems: result.hasMoreItems,\n totalCount: result.totalCount,\n cursor: result.hasMoreItems ? result.cursor : null\n };\n\n return Result.ok({ entries: items, meta });\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const ListEntriesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListEntriesRepositoryImpl,\n dependencies: [SearchableFieldsProvider, EntryFromStorageTransform, ListEntriesStorageOperation]\n});\n"],"names":["ListEntriesRepositoryImpl","searchableFieldsProvider","entryFromStorageTransform","listEntriesStorage","model","params","limit","sort","where","listParams","result","ex","Result","items","Promise","entry","meta","error","EntryPersistenceError","ListEntriesRepository","RepositoryAbstraction","SearchableFieldsProvider","EntryFromStorageTransform","ListEntriesStorageOperation"],"mappings":";;;;;AAmBA,MAAMA;IACF,YACYC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,kBAAyD,CACnE;aAHUF,wBAAwB,GAAxBA;aACAC,yBAAyB,GAAzBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA0B,EACK;QAC/B,IAAI;YACA,MAAMC,QAAQD,OAAO,KAAK,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,GAAG;YAChE,MAAME,OAAOF,OAAO,IAAI,IAAI;gBAAC;aAAiB;YAC9C,MAAMG,QAAkDH,OAAO,KAAK,IAAI,CAAC;YAEzE,IAAIG,MAAM,QAAQ,EAAE;gBAChBA,MAAM,eAAe,GAAGA,MAAM,QAAQ;gBACtC,OAAOA,MAAM,QAAQ;YACzB;YAEA,MAAMC,aAAkD;gBACpD,GAAGJ,MAAM;gBACTE;gBACAD;gBACAE;gBACA,QAAQ,IAAI,CAAC,wBAAwB,CAAC;oBAAE,QAAQJ,MAAM,MAAM;gBAAC;YACjE;YAEA,IAAIM;YACJ,IAAI;gBACAA,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAIN,OAAOK;YAC7D,EAAE,OAAOE,IAAI;gBACT,OAAOC,OAAO,IAAI,CAACD;YACvB;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BJ,OAAO,KAAK,CAAC,GAAG,CAAC,OAAMK,QACZ,IAAI,CAAC,yBAAyB,CAACX,OAAOW;YAIrD,MAAMC,OAAqB;gBACvB,cAAcN,OAAO,YAAY;gBACjC,YAAYA,OAAO,UAAU;gBAC7B,QAAQA,OAAO,YAAY,GAAGA,OAAO,MAAM,GAAG;YAClD;YAEA,OAAOE,OAAO,EAAE,CAAC;gBAAE,SAASC;gBAAOG;YAAK;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAAC,IAAIM,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBpB;IAChB,cAAc;QAACqB;QAA0BC;QAA2BC;KAA4B;AACpG"}
@@ -18,5 +18,7 @@ declare class ListEntriesUseCaseImpl implements UseCaseAbstraction.Interface {
18
18
  constructor(repository: ListEntriesRepository.Interface, accessControl: AccessControl.Interface, identityContext: IdentityContext.Interface);
19
19
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
20
20
  }
21
- export declare const ListEntriesUseCase: import("@webiny/di").Implementation<typeof ListEntriesUseCaseImpl>;
21
+ export declare const ListEntriesUseCase: typeof ListEntriesUseCaseImpl & {
22
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListEntriesUseCase>;
23
+ };
22
24
  export {};
@@ -1,4 +1,4 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
3
  import { ListEntriesRepository, ListEntriesUseCase } from "./abstractions.js";
4
4
  import { AccessControl } from "../../shared/abstractions.js";
@@ -29,8 +29,7 @@ class ListEntriesUseCaseImpl {
29
29
  return Result.ok(result.value);
30
30
  }
31
31
  }
32
- const ListEntriesUseCase_ListEntriesUseCase = createImplementation({
33
- abstraction: ListEntriesUseCase,
32
+ const ListEntriesUseCase_ListEntriesUseCase = ListEntriesUseCase.createImplementation({
34
33
  implementation: ListEntriesUseCaseImpl,
35
34
  dependencies: [
36
35
  ListEntriesRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ListEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * ListEntriesUseCase - Base use case for orchestrating entry listing with access control.\n *\n * Responsibilities:\n * - Apply access control\n * - Filter by owner if user can only access own entries\n * - Delegate to repository for data fetching\n */\nclass ListEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: ListEntriesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { where: initialWhere, ...rest } = params || {};\n const where = { ...initialWhere };\n\n // Possibly only get records which are owned by current user\n if (await this.accessControl.canAccessOnlyOwnedEntries({ model })) {\n where.createdBy = this.identityContext.getIdentity().id;\n }\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, {\n ...rest,\n where\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListEntriesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListEntriesUseCaseImpl,\n dependencies: [ListEntriesRepository, AccessControl, IdentityContext]\n});\n"],"names":["ListEntriesUseCaseImpl","repository","accessControl","identityContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","rest","where","result","ListEntriesUseCase","createImplementation","UseCaseAbstraction","ListEntriesRepository","AccessControl","IdentityContext"],"mappings":";;;;;AAiBA,MAAMA;IACF,YACYC,UAA2C,EAC3CC,aAAsC,EACtCC,eAA0C,CACpD;aAHUF,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAE5B,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,OAAOK,YAAY,EAAE,GAAGC,MAAM,GAAGL,UAAU,CAAC;QACpD,MAAMM,QAAQ;YAAE,GAAGF,YAAY;QAAC;QAGhC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAEL;QAAM,IAC3DO,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,EAAE;QAI3D,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIR,OAAO;YACnD,GAAGM,IAAI;YACPC;QACJ;QAEA,IAAIC,OAAO,MAAM,IACb,OAAOL,OAAO,IAAI,CAACK,OAAO,KAAK;QAGnC,OAAOL,OAAO,EAAE,CAACK,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBf;IAChB,cAAc;QAACgB;QAAuBC;QAAeC;KAAgB;AACzE"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ListEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * ListEntriesUseCase - Base use case for orchestrating entry listing with access control.\n *\n * Responsibilities:\n * - Apply access control\n * - Filter by owner if user can only access own entries\n * - Delegate to repository for data fetching\n */\nclass ListEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: ListEntriesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { where: initialWhere, ...rest } = params || {};\n const where = { ...initialWhere };\n\n // Possibly only get records which are owned by current user\n if (await this.accessControl.canAccessOnlyOwnedEntries({ model })) {\n where.createdBy = this.identityContext.getIdentity().id;\n }\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, {\n ...rest,\n where\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListEntriesUseCaseImpl,\n dependencies: [ListEntriesRepository, AccessControl, IdentityContext]\n});\n"],"names":["ListEntriesUseCaseImpl","repository","accessControl","identityContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","rest","where","result","ListEntriesUseCase","UseCaseAbstraction","ListEntriesRepository","AccessControl","IdentityContext"],"mappings":";;;;;AAgBA,MAAMA;IACF,YACYC,UAA2C,EAC3CC,aAAsC,EACtCC,eAA0C,CACpD;aAHUF,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAE5B,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,OAAOK,YAAY,EAAE,GAAGC,MAAM,GAAGL,UAAU,CAAC;QACpD,MAAMM,QAAQ;YAAE,GAAGF,YAAY;QAAC;QAGhC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAEL;QAAM,IAC3DO,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,EAAE;QAI3D,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIR,OAAO;YACnD,GAAGM,IAAI;YACPC;QACJ;QAEA,IAAIC,OAAO,MAAM,IACb,OAAOL,OAAO,IAAI,CAACK,OAAO,KAAK;QAGnC,OAAOL,OAAO,EAAE,CAACK,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBd;IAChB,cAAc;QAACe;QAAuBC;QAAeC;KAAgB;AACzE"}
@@ -9,5 +9,7 @@ declare class ListLatestEntriesUseCaseImpl implements UseCaseAbstraction.Interfa
9
9
  constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
10
10
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
11
11
  }
12
- export declare const ListLatestEntriesUseCase: import("@webiny/di").Implementation<typeof ListLatestEntriesUseCaseImpl>;
12
+ export declare const ListLatestEntriesUseCase: typeof ListLatestEntriesUseCaseImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListLatestEntriesUseCase>;
14
+ };
13
15
  export {};
@@ -1,4 +1,3 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
1
  import { ListEntriesUseCase, ListLatestEntriesUseCase } from "./abstractions.js";
3
2
  class ListLatestEntriesUseCaseImpl {
4
3
  constructor(listEntriesUseCase){
@@ -19,8 +18,7 @@ class ListLatestEntriesUseCaseImpl {
19
18
  });
20
19
  }
21
20
  }
22
- const ListLatestEntriesUseCase_ListLatestEntriesUseCase = createImplementation({
23
- abstraction: ListLatestEntriesUseCase,
21
+ const ListLatestEntriesUseCase_ListLatestEntriesUseCase = ListLatestEntriesUseCase.createImplementation({
24
22
  implementation: ListLatestEntriesUseCaseImpl,
25
23
  dependencies: [
26
24
  ListEntriesUseCase
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListLatestEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListLatestEntriesUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * Lists latest entries for manage API (non-deleted).\n */\nclass ListLatestEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n return await this.listEntriesUseCase.execute<T>(model, {\n sort: [\"createdOn_DESC\"],\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListLatestEntriesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListLatestEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListLatestEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListLatestEntriesUseCase","createImplementation","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";;AAQA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAEtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,MAAM;gBAAC;aAAiB;YACxB,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBR;IAChB,cAAc;QAACS;KAAmB;AACtC"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListLatestEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListLatestEntriesUseCase.ts"],"sourcesContent":["import { ListLatestEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * Lists latest entries for manage API (non-deleted).\n */\nclass ListLatestEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n return await this.listEntriesUseCase.execute<T>(model, {\n sort: [\"createdOn_DESC\"],\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListLatestEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListLatestEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListLatestEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListLatestEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAOA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAEtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,MAAM;gBAAC;aAAiB;YACxB,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
@@ -10,5 +10,7 @@ declare class ListPublishedEntriesUseCaseImpl implements UseCaseAbstraction.Inte
10
10
  constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
11
11
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
12
12
  }
13
- export declare const ListPublishedEntriesUseCase: import("@webiny/di").Implementation<typeof ListPublishedEntriesUseCaseImpl>;
13
+ export declare const ListPublishedEntriesUseCase: typeof ListPublishedEntriesUseCaseImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListPublishedEntriesUseCase>;
15
+ };
14
16
  export {};
@@ -1,4 +1,3 @@
1
- import { createImplementation } from "@webiny/feature/api";
2
1
  import { ListEntriesUseCase, ListPublishedEntriesUseCase } from "./abstractions.js";
3
2
  class ListPublishedEntriesUseCaseImpl {
4
3
  constructor(listEntriesUseCase){
@@ -16,8 +15,7 @@ class ListPublishedEntriesUseCaseImpl {
16
15
  });
17
16
  }
18
17
  }
19
- const ListPublishedEntriesUseCase_ListPublishedEntriesUseCase = createImplementation({
20
- abstraction: ListPublishedEntriesUseCase,
18
+ const ListPublishedEntriesUseCase_ListPublishedEntriesUseCase = ListPublishedEntriesUseCase.createImplementation({
21
19
  implementation: ListPublishedEntriesUseCaseImpl,
22
20
  dependencies: [
23
21
  ListEntriesUseCase
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListPublishedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListPublishedEntriesUseCase - Lists published entries for read API.\n * Delegates to base ListEntriesUseCase with published: true filter.\n */\nclass ListPublishedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add published: true filter\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n published: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListPublishedEntriesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListPublishedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListPublishedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListPublishedEntriesUseCase","createImplementation","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";;AASA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,WAAW;gBACX,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,0DAA8BC,qBAAqB;IAC5D,aAAaC;IACb,gBAAgBR;IAChB,cAAc;QAACS;KAAmB;AACtC"}
1
+ {"version":3,"file":"features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.ts"],"sourcesContent":["import { ListPublishedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListPublishedEntriesUseCase - Lists published entries for read API.\n * Delegates to base ListEntriesUseCase with published: true filter.\n */\nclass ListPublishedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add published: true filter\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n published: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListPublishedEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListPublishedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListPublishedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListPublishedEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAQA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,WAAW;gBACX,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,0DAA8BC,4BAAAA,oBAAuC,CAAC;IAC/E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
@@ -1,6 +1,6 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { MoveEntryRepository as RepositoryAbstraction } from "./abstractions.js";
3
- import { StorageOperations } from "../../../features/shared/abstractions.js";
3
+ import { MoveEntryStorageOperation } from "../../../features/shared/storageOperations/entry/MoveEntryStorageOperation.js";
4
4
  import type { CmsModel } from "../../../types/index.js";
5
5
  /**
6
6
  * MoveEntryRepository - Handles storage operations for moving entries.
@@ -10,9 +10,11 @@ import type { CmsModel } from "../../../types/index.js";
10
10
  * - Handle storage errors
11
11
  */
12
12
  declare class MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {
13
- private storageOperations;
14
- constructor(storageOperations: StorageOperations.Interface);
13
+ private moveEntryStorage;
14
+ constructor(moveEntryStorage: MoveEntryStorageOperation.Interface);
15
15
  execute(model: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryAbstraction.Error>>;
16
16
  }
17
- export declare const MoveEntryRepository: import("@webiny/di").Implementation<typeof MoveEntryRepositoryImpl>;
17
+ export declare const MoveEntryRepository: typeof MoveEntryRepositoryImpl & {
18
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryRepository>;
19
+ };
18
20
  export {};
@@ -1,25 +1,24 @@
1
- import { Result, createImplementation } from "@webiny/feature/api";
1
+ import { Result } from "@webiny/feature/api";
2
2
  import { MoveEntryRepository } from "./abstractions.js";
3
- import { StorageOperations } from "../../shared/abstractions.js";
3
+ import { MoveEntryStorageOperation } from "../../shared/storageOperations/entry/MoveEntryStorageOperation.js";
4
4
  import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
5
5
  class MoveEntryRepositoryImpl {
6
- constructor(storageOperations){
7
- this.storageOperations = storageOperations;
6
+ constructor(moveEntryStorage){
7
+ this.moveEntryStorage = moveEntryStorage;
8
8
  }
9
9
  async execute(model, id, folderId) {
10
10
  try {
11
- await this.storageOperations.entries.move(model, id, folderId);
11
+ await this.moveEntryStorage.execute(model, id, folderId);
12
12
  return Result.ok();
13
13
  } catch (error) {
14
14
  return Result.fail(new EntryPersistenceError(error));
15
15
  }
16
16
  }
17
17
  }
18
- const MoveEntryRepository_MoveEntryRepository = createImplementation({
19
- abstraction: MoveEntryRepository,
18
+ const MoveEntryRepository_MoveEntryRepository = MoveEntryRepository.createImplementation({
20
19
  implementation: MoveEntryRepositoryImpl,
21
20
  dependencies: [
22
- StorageOperations
21
+ MoveEntryStorageOperation
23
22
  ]
24
23
  });
25
24
  export { MoveEntryRepository_MoveEntryRepository as MoveEntryRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { MoveEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryRepository - Handles storage operations for moving entries.\n *\n * Responsibilities:\n * - Call storage operation to move entry to different folder\n * - Handle storage errors\n */\nclass MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private storageOperations: StorageOperations.Interface) {}\n\n async execute(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.storageOperations.entries.move(model, id, folderId);\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: MoveEntryRepositoryImpl,\n dependencies: [StorageOperations]\n});\n"],"names":["MoveEntryRepositoryImpl","storageOperations","model","id","folderId","Result","error","EntryPersistenceError","MoveEntryRepository","createImplementation","RepositoryAbstraction","StorageOperations"],"mappings":";;;;AAcA,MAAMA;IACF,YAA2BC,iBAA8C,CAAE;aAAhDA,iBAAiB,GAAjBA;IAAiD;IAE5E,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACkC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAACF,OAAOC,IAAIC;YACrD,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,0CAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBV;IAChB,cAAc;QAACW;KAAkB;AACrC"}
1
+ {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { MoveEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { MoveEntryStorageOperation } from \"~/features/shared/storageOperations/entry/MoveEntryStorageOperation.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryRepository - Handles storage operations for moving entries.\n *\n * Responsibilities:\n * - Call storage operation to move entry to different folder\n * - Handle storage errors\n */\nclass MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private moveEntryStorage: MoveEntryStorageOperation.Interface) {}\n\n async execute(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.moveEntryStorage.execute(model, id, folderId);\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: MoveEntryRepositoryImpl,\n dependencies: [MoveEntryStorageOperation]\n});\n"],"names":["MoveEntryRepositoryImpl","moveEntryStorage","model","id","folderId","Result","error","EntryPersistenceError","MoveEntryRepository","RepositoryAbstraction","MoveEntryStorageOperation"],"mappings":";;;;AAaA,MAAMA;IACF,YAA2BC,gBAAqD,CAAE;aAAvDA,gBAAgB,GAAhBA;IAAwD;IAEnF,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACkC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACF,OAAOC,IAAIC;YAC/C,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAA0C,CAAC;IAC1E,gBAAgBT;IAChB,cAAc;QAACU;KAA0B;AAC7C"}
@@ -23,5 +23,7 @@ declare class MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface {
23
23
  constructor(repository: MoveEntryRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, eventPublisher: EventPublisher.Interface);
24
24
  execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, folderId: string): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
25
25
  }
26
- export declare const MoveEntryUseCase: import("@webiny/di").Implementation<typeof MoveEntryUseCaseImpl>;
26
+ export declare const MoveEntryUseCase: typeof MoveEntryUseCaseImpl & {
27
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryUseCase>;
28
+ };
27
29
  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 { MoveEntryRepository, MoveEntryUseCase } from "./abstractions.js";
4
4
  import { AccessControl } from "../../shared/abstractions.js";
@@ -61,8 +61,7 @@ class MoveEntryUseCaseImpl {
61
61
  }
62
62
  }
63
63
  }
64
- const MoveEntryUseCase_MoveEntryUseCase = createImplementation({
65
- abstraction: MoveEntryUseCase,
64
+ const MoveEntryUseCase_MoveEntryUseCase = MoveEntryUseCase.createImplementation({
66
65
  implementation: MoveEntryUseCaseImpl,
67
66
  dependencies: [
68
67
  MoveEntryRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryUseCase.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { MoveEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryBeforeMoveEvent, EntryAfterMoveEvent, EntryMoveErrorEvent } from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryUseCase - Orchestrates moving an entry to a different folder.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to move\n * - Check if entry is already in target folder (early return)\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: MoveEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to move\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const entry = result.value;\n\n // Check access control on the specific entry\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 // Early return if entry is already in the requested folder\n if (entry.location?.folderId === folderId) {\n return Result.ok(entry);\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n // Delegate to repository\n const moveResult = await this.repository.execute(model, id, folderId);\n\n if (moveResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: moveResult.error\n })\n );\n return Result.fail(moveResult.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const MoveEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MoveEntryUseCaseImpl,\n dependencies: [MoveEntryRepository, AccessControl, GetRevisionByIdUseCase, EventPublisher]\n});\n"],"names":["MoveEntryUseCaseImpl","repository","accessControl","getRevisionById","eventPublisher","model","id","folderId","canAccess","Result","EntryNotAuthorizedError","result","EntryNotFoundError","entry","canAccessEntry","EntryBeforeMoveEvent","moveResult","EntryMoveErrorEvent","EntryAfterMoveEvent","error","MoveEntryUseCase","createImplementation","UseCaseAbstraction","MoveEntryRepository","AccessControl","GetRevisionByIdUseCase","EventPublisher"],"mappings":";;;;;;;AAsBA,MAAMA;IACF,YACYC,UAAyC,EACzCC,aAAsC,EACtCC,eAAiD,EACjDC,cAAwC,CAClD;aAJUH,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACsC;QAEtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,MAAMM,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIN,OAAOC;QAE5D,IAAIK,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBN;QAG9C,MAAMO,QAAQF,OAAO,KAAK;QAG1B,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DT;YACAQ;YACA,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,IAAIQ,MAAM,QAAQ,EAAE,aAAaN,UAC7B,OAAOE,OAAO,EAAE,CAACI;QAGrB,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,qBAAqB;gBACrBF;gBACAR;gBACAE;YACJ;YAIJ,MAAMS,aAAa,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACX,OAAOC,IAAIC;YAE5D,IAAIS,WAAW,MAAM,IAAI;gBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,oBAAoB;oBACpBJ;oBACAR;oBACAE;oBACA,OAAOS,WAAW,KAAK;gBAC3B;gBAEJ,OAAOP,OAAO,IAAI,CAACO,WAAW,KAAK;YACvC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,oBAAoB;gBACpBL;gBACAR;gBACAE;YACJ;YAGJ,OAAOE,OAAO,EAAE,CAACI;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,oBAAoB;gBACpBJ;gBACAR;gBACAE;gBACA,OAAOY;YACX;YAEJ,OAAOV,OAAO,IAAI,CAACU;QACvB;IACJ;AACJ;AAEO,MAAMC,oCAAmBC,qBAAqB;IACjD,aAAaC;IACb,gBAAgBtB;IAChB,cAAc;QAACuB;QAAqBC;QAAeC;QAAwBC;KAAe;AAC9F"}
1
+ {"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryUseCase.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { MoveEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryBeforeMoveEvent, EntryAfterMoveEvent, EntryMoveErrorEvent } from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryUseCase - Orchestrates moving an entry to a different folder.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to move\n * - Check if entry is already in target folder (early return)\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: MoveEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to move\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const entry = result.value;\n\n // Check access control on the specific entry\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 // Early return if entry is already in the requested folder\n if (entry.location?.folderId === folderId) {\n return Result.ok(entry);\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n // Delegate to repository\n const moveResult = await this.repository.execute(model, id, folderId);\n\n if (moveResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: moveResult.error\n })\n );\n return Result.fail(moveResult.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const MoveEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: MoveEntryUseCaseImpl,\n dependencies: [MoveEntryRepository, AccessControl, GetRevisionByIdUseCase, EventPublisher]\n});\n"],"names":["MoveEntryUseCaseImpl","repository","accessControl","getRevisionById","eventPublisher","model","id","folderId","canAccess","Result","EntryNotAuthorizedError","result","EntryNotFoundError","entry","canAccessEntry","EntryBeforeMoveEvent","moveResult","EntryMoveErrorEvent","EntryAfterMoveEvent","error","MoveEntryUseCase","UseCaseAbstraction","MoveEntryRepository","AccessControl","GetRevisionByIdUseCase","EventPublisher"],"mappings":";;;;;;;AAqBA,MAAMA;IACF,YACYC,UAAyC,EACzCC,aAAsC,EACtCC,eAAiD,EACjDC,cAAwC,CAClD;aAJUH,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACsC;QAEtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,MAAMM,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIN,OAAOC;QAE5D,IAAIK,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBN;QAG9C,MAAMO,QAAQF,OAAO,KAAK;QAG1B,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DT;YACAQ;YACA,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,IAAIQ,MAAM,QAAQ,EAAE,aAAaN,UAC7B,OAAOE,OAAO,EAAE,CAACI;QAGrB,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,qBAAqB;gBACrBF;gBACAR;gBACAE;YACJ;YAIJ,MAAMS,aAAa,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACX,OAAOC,IAAIC;YAE5D,IAAIS,WAAW,MAAM,IAAI;gBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,oBAAoB;oBACpBJ;oBACAR;oBACAE;oBACA,OAAOS,WAAW,KAAK;gBAC3B;gBAEJ,OAAOP,OAAO,IAAI,CAACO,WAAW,KAAK;YACvC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,oBAAoB;gBACpBL;gBACAR;gBACAE;YACJ;YAGJ,OAAOE,OAAO,EAAE,CAACI;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,oBAAoB;gBACpBJ;gBACAR;gBACAE;gBACA,OAAOY;YACX;YAEJ,OAAOV,OAAO,IAAI,CAACU;QACvB;IACJ;AACJ;AAEO,MAAMC,oCAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgBrB;IAChB,cAAc;QAACsB;QAAqBC;QAAeC;QAAwBC;KAAe;AAC9F"}