@webiny/api-headless-cms 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (1056) hide show
  1. package/constants.d.ts +2 -1
  2. package/constants.js +4 -0
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +2 -5
  5. package/context.js +16 -7
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +18 -28
  8. package/crud/AccessControl/AccessControl.js.map +1 -1
  9. package/crud/AccessControl/README.md +1 -1
  10. package/crud/contentEntry/entryDataFactories/createEntryData.js +27 -12
  11. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +13 -6
  13. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  14. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +4 -1
  15. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  16. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +4 -1
  17. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  18. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +2 -1
  19. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  20. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +4 -3
  21. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  22. package/crud/contentEntry/entryDataFactories/system.d.ts +10 -0
  23. package/crud/contentEntry/entryDataFactories/system.js +14 -0
  24. package/crud/contentEntry/entryDataFactories/system.js.map +1 -0
  25. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  26. package/crud/contentEntry/entryDataValidation.js +19 -16
  27. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  28. package/crud/contentEntry/references/buildPaths.d.ts +1 -1
  29. package/crud/contentEntry/references/buildPaths.js +3 -3
  30. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  31. package/crud/contentEntry/searchableFields.d.ts +2 -3
  32. package/crud/contentEntry/searchableFields.js +15 -19
  33. package/crud/contentEntry/searchableFields.js.map +1 -1
  34. package/crud/contentEntry.crud.js +16 -11
  35. package/crud/contentEntry.crud.js.map +1 -1
  36. package/crud/contentModel/fields/descriptionField.js +1 -1
  37. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  38. package/crud/contentModel/fields/imageField.js +1 -1
  39. package/crud/contentModel/fields/imageField.js.map +1 -1
  40. package/crud/contentModel/fields/titleField.js +1 -1
  41. package/crud/contentModel/fields/titleField.js.map +1 -1
  42. package/crud/contentModel/validation.d.ts +224 -902
  43. package/crud/contentModel/validation.js +64 -36
  44. package/crud/contentModel/validation.js.map +1 -1
  45. package/crud/contentModel.crud.js +2 -1
  46. package/crud/contentModel.crud.js.map +1 -1
  47. package/domain/contentEntry/EntryId.d.ts +1 -0
  48. package/domain/contentEntry/EntryId.js +2 -0
  49. package/domain/contentEntry/EntryId.js.map +1 -1
  50. package/domain/contentEntry/errors.d.ts +2 -2
  51. package/domain/contentEntry/errors.js.map +1 -1
  52. package/domain/contentModel/errors.d.ts +1 -1
  53. package/domain/contentModel/errors.js.map +1 -1
  54. package/domain/contentModel/schemas.d.ts +198 -616
  55. package/domain/contentModel/schemas.js +55 -37
  56. package/domain/contentModel/schemas.js.map +1 -1
  57. package/domain/contentModel/validation/fields/descriptionField.js +1 -1
  58. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  59. package/domain/contentModel/validation/fields/imageField.js +1 -1
  60. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  61. package/domain/contentModel/validation/fields/titleField.js +1 -1
  62. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  63. package/domain/contentModel/validation/modelFields.js +15 -20
  64. package/domain/contentModel/validation/modelFields.js.map +1 -1
  65. package/domain/contentModelGroup/validation.d.ts +34 -82
  66. package/domain/contentModelGroup/validation.js +2 -2
  67. package/domain/contentModelGroup/validation.js.map +1 -1
  68. package/export/graphql/index.js +1 -1
  69. package/export/graphql/index.js.map +1 -1
  70. package/export/types.js.map +1 -1
  71. package/exports/api/cms/entry.d.ts +3 -0
  72. package/exports/api/cms/entry.js +6 -0
  73. package/exports/api/cms/entry.js.map +1 -1
  74. package/exports/api/cms/graphql.d.ts +1 -0
  75. package/exports/api/cms/graphql.js +3 -0
  76. package/exports/api/cms/graphql.js.map +1 -0
  77. package/exports/api/cms/model.d.ts +5 -1
  78. package/exports/api/cms/model.js +3 -1
  79. package/exports/api/cms/model.js.map +1 -1
  80. package/exports/api/cms/storage.d.ts +3 -0
  81. package/exports/api/cms/storage.js +5 -0
  82. package/exports/api/cms/storage.js.map +1 -0
  83. package/exports/api/cms/validation.d.ts +4 -0
  84. package/exports/api/cms/validation.js +6 -0
  85. package/exports/api/cms/validation.js.map +1 -0
  86. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +3 -7
  87. package/extensions/index.d.ts +2 -6
  88. package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
  89. package/features/contentEntry/ContentEntriesFeature.js +6 -0
  90. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  91. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
  92. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +2 -2
  93. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  94. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
  95. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
  96. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
  97. package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
  98. package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
  99. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
  100. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -0
  101. package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
  102. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
  103. package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
  104. package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
  105. package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
  106. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  107. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  108. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  109. package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
  110. package/features/contentEntry/CreateEntry/abstractions.js +1 -0
  111. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  112. package/features/contentEntry/CreateEntry/events.d.ts +4 -2
  113. package/features/contentEntry/CreateEntry/events.js +5 -1
  114. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  115. package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
  116. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  117. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  118. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  119. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
  120. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
  121. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  122. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +4 -2
  123. package/features/contentEntry/CreateEntryRevisionFrom/events.js +5 -1
  124. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  125. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
  126. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  127. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  128. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  129. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  130. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  131. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  132. package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
  133. package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
  134. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  135. package/features/contentEntry/DeleteEntry/events.d.ts +4 -2
  136. package/features/contentEntry/DeleteEntry/events.js +5 -1
  137. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  138. package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
  139. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  140. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  141. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  142. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
  143. package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
  144. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  145. package/features/contentEntry/DeleteEntryRevision/events.d.ts +4 -2
  146. package/features/contentEntry/DeleteEntryRevision/events.js +5 -1
  147. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  148. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
  149. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  150. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  151. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  152. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
  153. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
  154. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  155. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +4 -2
  156. package/features/contentEntry/DeleteMultipleEntries/events.js +5 -1
  157. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  158. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
  159. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
  160. package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
  161. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  162. package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
  163. package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
  164. package/features/contentEntry/GetEntry/abstractions.js +1 -0
  165. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  166. package/features/contentEntry/GetEntry/feature.d.ts +4 -1
  167. package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
  168. package/features/contentEntry/GetEntryById/abstractions.js +1 -0
  169. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  170. package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
  171. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
  172. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
  173. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  174. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
  175. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
  176. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
  177. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  178. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
  179. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
  180. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
  181. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  182. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
  183. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
  184. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
  185. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  186. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
  187. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
  188. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
  189. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  190. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
  191. package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
  192. package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
  193. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  194. package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
  195. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
  196. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
  197. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  198. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
  199. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
  200. package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
  201. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  202. package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
  203. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
  204. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +9 -15
  205. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  206. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
  207. package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
  208. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  209. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  210. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  211. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  212. package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
  213. package/features/contentEntry/ListEntries/abstractions.js +4 -0
  214. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  215. package/features/contentEntry/ListEntries/feature.d.ts +4 -1
  216. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  217. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  218. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  219. package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
  220. package/features/contentEntry/MoveEntry/abstractions.js +1 -0
  221. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  222. package/features/contentEntry/MoveEntry/events.d.ts +4 -2
  223. package/features/contentEntry/MoveEntry/events.js +5 -1
  224. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  225. package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
  226. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  227. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  228. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  229. package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
  230. package/features/contentEntry/PublishEntry/abstractions.js +1 -0
  231. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  232. package/features/contentEntry/PublishEntry/events.d.ts +4 -2
  233. package/features/contentEntry/PublishEntry/events.js +5 -1
  234. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  235. package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
  236. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  237. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  238. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  239. package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
  240. package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
  241. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  242. package/features/contentEntry/RepublishEntry/events.d.ts +4 -2
  243. package/features/contentEntry/RepublishEntry/events.js +5 -1
  244. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  245. package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
  246. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  247. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  248. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  249. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
  250. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
  251. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  252. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +4 -2
  253. package/features/contentEntry/RestoreEntryFromBin/events.js +5 -1
  254. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  255. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
  256. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  257. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  258. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  259. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
  260. package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
  261. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  262. package/features/contentEntry/UnpublishEntry/events.d.ts +4 -2
  263. package/features/contentEntry/UnpublishEntry/events.js +5 -1
  264. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  265. package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
  266. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  267. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  268. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  269. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
  270. package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
  271. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  272. package/features/contentEntry/UpdateEntry/events.d.ts +4 -2
  273. package/features/contentEntry/UpdateEntry/events.js +5 -1
  274. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  275. package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
  276. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  277. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +90 -0
  278. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  279. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  280. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +10 -0
  281. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  282. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  283. package/features/contentEntry/UpdateRevisionDescription/events.js +33 -0
  284. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  285. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  286. package/features/contentEntry/UpdateRevisionDescription/feature.js +20 -0
  287. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  288. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  289. package/features/contentEntry/UpdateRevisionDescription/index.js +4 -0
  290. package/features/contentEntry/UpdateRevisionDescription/index.js.map +1 -0
  291. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
  292. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
  293. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  294. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
  295. package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
  296. package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
  297. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  298. package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
  299. package/features/contentModel/ContentModelFeature.d.ts +4 -1
  300. package/features/contentModel/ContentModelFeature.js +2 -0
  301. package/features/contentModel/ContentModelFeature.js.map +1 -1
  302. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +12 -12
  303. package/features/contentModel/CreateModel/CreateModelRepository.js +17 -12
  304. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  305. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  306. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  307. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  308. package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
  309. package/features/contentModel/CreateModel/abstractions.js +1 -0
  310. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  311. package/features/contentModel/CreateModel/events.d.ts +4 -2
  312. package/features/contentModel/CreateModel/events.js +5 -1
  313. package/features/contentModel/CreateModel/events.js.map +1 -1
  314. package/features/contentModel/CreateModel/feature.d.ts +4 -1
  315. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +12 -13
  316. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +25 -15
  317. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  318. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  319. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  320. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  321. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
  322. package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
  323. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  324. package/features/contentModel/CreateModelFrom/events.d.ts +4 -2
  325. package/features/contentModel/CreateModelFrom/events.js +5 -1
  326. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  327. package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
  328. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  329. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  330. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  331. package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
  332. package/features/contentModel/DeleteModel/abstractions.js +1 -0
  333. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  334. package/features/contentModel/DeleteModel/events.d.ts +4 -2
  335. package/features/contentModel/DeleteModel/events.js +5 -1
  336. package/features/contentModel/DeleteModel/events.js.map +1 -1
  337. package/features/contentModel/DeleteModel/feature.d.ts +4 -1
  338. package/features/contentModel/GetModel/abstractions.d.ts +1 -0
  339. package/features/contentModel/GetModel/abstractions.js +1 -0
  340. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  341. package/features/contentModel/GetModel/feature.d.ts +4 -1
  342. package/features/contentModel/ListModels/abstractions.d.ts +1 -0
  343. package/features/contentModel/ListModels/abstractions.js +1 -0
  344. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  345. package/features/contentModel/ListModels/feature.d.ts +4 -1
  346. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.d.ts +15 -0
  347. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +27 -0
  348. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -0
  349. package/features/contentModel/ModelFieldCompression/abstractions.d.ts +17 -0
  350. package/features/contentModel/ModelFieldCompression/abstractions.js +4 -0
  351. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -0
  352. package/features/contentModel/ModelFieldCompression/feature.d.ts +4 -0
  353. package/features/contentModel/ModelFieldCompression/feature.js +10 -0
  354. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -0
  355. package/features/contentModel/ModelFieldCompression/index.d.ts +1 -0
  356. package/features/contentModel/ModelFieldCompression/index.js +3 -0
  357. package/features/contentModel/ModelFieldCompression/index.js.map +1 -0
  358. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  359. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  360. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  361. package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
  362. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +9 -9
  363. package/features/contentModel/UpdateModel/UpdateModelRepository.js +21 -12
  364. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  365. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  366. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +6 -3
  367. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  368. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
  369. package/features/contentModel/UpdateModel/abstractions.js +1 -0
  370. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  371. package/features/contentModel/UpdateModel/events.d.ts +4 -2
  372. package/features/contentModel/UpdateModel/events.js +5 -1
  373. package/features/contentModel/UpdateModel/events.js.map +1 -1
  374. package/features/contentModel/UpdateModel/feature.d.ts +4 -1
  375. package/features/contentModel/shared/ModelsFetcher.d.ts +8 -6
  376. package/features/contentModel/shared/ModelsFetcher.js +14 -4
  377. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  378. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
  379. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  380. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  381. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  382. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  383. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  384. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  385. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
  386. package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
  387. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  388. package/features/contentModelGroup/CreateGroup/events.d.ts +4 -2
  389. package/features/contentModelGroup/CreateGroup/events.js +5 -1
  390. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  391. package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
  392. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  393. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  394. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  395. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
  396. package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
  397. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  398. package/features/contentModelGroup/DeleteGroup/events.d.ts +4 -2
  399. package/features/contentModelGroup/DeleteGroup/events.js +5 -1
  400. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  401. package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
  402. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  403. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  404. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  405. package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
  406. package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
  407. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  408. package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
  409. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  410. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  411. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  412. package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
  413. package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
  414. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  415. package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
  416. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  417. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  418. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  419. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
  420. package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
  421. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  422. package/features/contentModelGroup/UpdateGroup/events.d.ts +4 -2
  423. package/features/contentModelGroup/UpdateGroup/events.js +5 -1
  424. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  425. package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
  426. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  427. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  428. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  429. package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
  430. package/features/contentModelGroup/shared/abstractions.js +1 -0
  431. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  432. package/features/graphql/feature.d.ts +4 -0
  433. package/features/graphql/feature.js +34 -0
  434. package/features/graphql/feature.js.map +1 -0
  435. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  436. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  437. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  438. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  439. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  440. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  441. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  442. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  443. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  444. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  445. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  446. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  447. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  448. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  449. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  450. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  451. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  452. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  453. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  454. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  455. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  456. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  457. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  458. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  459. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  460. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  461. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  462. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  463. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  464. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  465. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  466. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  467. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  468. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  469. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  470. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  471. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  472. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  473. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  474. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  475. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  476. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  477. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  478. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  479. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  480. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  481. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  482. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  483. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  484. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  485. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  486. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  487. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +4 -4
  488. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  489. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  490. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  491. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  492. package/features/graphql/index.d.ts +4 -0
  493. package/features/graphql/index.js +6 -0
  494. package/features/graphql/index.js.map +1 -0
  495. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  496. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  497. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  498. package/features/installer/CmsInstaller.d.ts +1 -1
  499. package/features/installer/CmsInstaller.js +1 -1
  500. package/features/installer/CmsInstaller.js.map +1 -1
  501. package/features/installer/feature.d.ts +4 -1
  502. package/features/modelBuilder/abstractions.d.ts +8 -4
  503. package/features/modelBuilder/abstractions.js +5 -2
  504. package/features/modelBuilder/abstractions.js.map +1 -1
  505. package/features/modelBuilder/feature.d.ts +4 -1
  506. package/features/modelBuilder/feature.js +6 -0
  507. package/features/modelBuilder/feature.js.map +1 -1
  508. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
  509. package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
  510. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
  511. package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -2
  512. package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
  513. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  514. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +220 -0
  515. package/features/modelBuilder/fields/DataFieldBuilder.js +211 -0
  516. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
  517. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
  518. package/features/modelBuilder/fields/DateTimeFieldType.js +22 -2
  519. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  520. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +3 -3
  521. package/features/modelBuilder/fields/DynamicZoneFieldType.js +12 -5
  522. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  523. package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -46
  524. package/features/modelBuilder/fields/FieldBuilder.js +3 -152
  525. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  526. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
  527. package/features/modelBuilder/fields/FieldBuilderRegistry.js +11 -1
  528. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  529. package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
  530. package/features/modelBuilder/fields/FileFieldType.js +2 -2
  531. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  532. package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
  533. package/features/modelBuilder/fields/JsonFieldType.js +2 -2
  534. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  535. package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
  536. package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
  537. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
  538. package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
  539. package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
  540. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  541. package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
  542. package/features/modelBuilder/fields/NumberFieldType.js +2 -2
  543. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  544. package/features/modelBuilder/fields/ObjectFieldType.d.ts +7 -6
  545. package/features/modelBuilder/fields/ObjectFieldType.js +21 -6
  546. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  547. package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
  548. package/features/modelBuilder/fields/RefFieldType.js +2 -2
  549. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  550. package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
  551. package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
  552. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  553. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
  554. package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
  555. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  556. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
  557. package/features/modelBuilder/fields/TextFieldType.js +2 -2
  558. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  559. package/features/modelBuilder/fields/UiAlertFieldType.d.ts +19 -0
  560. package/features/modelBuilder/fields/UiAlertFieldType.js +36 -0
  561. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -0
  562. package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +17 -0
  563. package/features/modelBuilder/fields/UiSeparatorFieldType.js +31 -0
  564. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -0
  565. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
  566. package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
  567. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
  568. package/features/modelBuilder/fields/abstractions.d.ts +6 -3
  569. package/features/modelBuilder/fields/abstractions.js +1 -1
  570. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  571. package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +23 -1
  572. package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
  573. package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
  574. package/features/modelBuilder/index.d.ts +3 -0
  575. package/features/modelBuilder/index.js +3 -0
  576. package/features/modelBuilder/index.js.map +1 -1
  577. package/features/modelBuilder/models/BaseModelBuilder.d.ts +9 -4
  578. package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
  579. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  580. package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
  581. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  582. package/features/modelBuilder/models/PublicModelBuilder.js +16 -4
  583. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  584. package/features/shared/abstractions.d.ts +9 -2
  585. package/features/shared/abstractions.js +1 -0
  586. package/features/shared/abstractions.js.map +1 -1
  587. package/features/sortMapper/abstractions.d.ts +1 -0
  588. package/features/sortMapper/abstractions.js +1 -0
  589. package/features/sortMapper/abstractions.js.map +1 -1
  590. package/features/sortMapper/feature.d.ts +4 -1
  591. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  592. package/features/storage/StorageTransformRegistry.js +27 -0
  593. package/features/storage/StorageTransformRegistry.js.map +1 -0
  594. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  595. package/features/storage/abstractions/StorageTransform.js +4 -0
  596. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  597. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  598. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  599. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  600. package/features/storage/feature.d.ts +4 -0
  601. package/features/storage/feature.js +24 -0
  602. package/features/storage/feature.js.map +1 -0
  603. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  604. package/features/storage/fields/DateStorageTransform.js +110 -0
  605. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  606. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  607. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  608. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  609. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  610. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  611. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  612. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  613. package/features/storage/fields/JsonStorageTransform.js +31 -0
  614. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  615. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  616. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  617. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  618. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  619. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  620. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  621. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  622. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  623. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  624. package/features/storage/index.d.ts +3 -0
  625. package/features/storage/index.js +5 -0
  626. package/features/storage/index.js.map +1 -0
  627. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  628. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  629. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  630. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  631. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  632. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  633. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  634. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  635. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  636. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  637. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  638. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  639. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  640. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  641. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  642. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  643. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  644. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  645. package/features/validation/feature.d.ts +4 -0
  646. package/features/validation/feature.js +48 -0
  647. package/features/validation/feature.js.map +1 -0
  648. package/features/validation/index.d.ts +5 -0
  649. package/features/validation/index.js +7 -0
  650. package/features/validation/index.js.map +1 -0
  651. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  652. package/features/validation/validators/DateGteValidator.js +26 -0
  653. package/features/validation/validators/DateGteValidator.js.map +1 -0
  654. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  655. package/features/validation/validators/DateLteValidator.js +26 -0
  656. package/features/validation/validators/DateLteValidator.js.map +1 -0
  657. package/features/validation/validators/GteValidator.d.ts +10 -0
  658. package/features/validation/validators/GteValidator.js +21 -0
  659. package/features/validation/validators/GteValidator.js.map +1 -0
  660. package/features/validation/validators/InValidator.d.ts +10 -0
  661. package/features/validation/validators/InValidator.js +21 -0
  662. package/features/validation/validators/InValidator.js.map +1 -0
  663. package/features/validation/validators/LteValidator.d.ts +10 -0
  664. package/features/validation/validators/LteValidator.js +21 -0
  665. package/features/validation/validators/LteValidator.js.map +1 -0
  666. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  667. package/features/validation/validators/MaxLengthValidator.js +21 -0
  668. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  669. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  670. package/features/validation/validators/MinLengthValidator.js +21 -0
  671. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  672. package/features/validation/validators/PatternValidator.d.ts +13 -0
  673. package/features/validation/validators/PatternValidator.js +38 -0
  674. package/features/validation/validators/PatternValidator.js.map +1 -0
  675. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  676. package/features/validation/validators/RequiredValidator.js +16 -0
  677. package/features/validation/validators/RequiredValidator.js.map +1 -0
  678. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  679. package/features/validation/validators/TimeGteValidator.js +21 -0
  680. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  681. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  682. package/features/validation/validators/TimeLteValidator.js +21 -0
  683. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  684. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  685. package/features/validation/validators/UniqueValidator.js +47 -0
  686. package/features/validation/validators/UniqueValidator.js.map +1 -0
  687. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  688. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  689. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  690. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  691. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  692. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  693. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  694. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  695. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  696. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  697. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  698. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  699. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  700. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  701. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  702. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  703. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  704. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  705. package/features/whereMapper/abstractions.d.ts +1 -0
  706. package/features/whereMapper/abstractions.js +1 -0
  707. package/features/whereMapper/abstractions.js.map +1 -1
  708. package/features/whereMapper/feature.d.ts +4 -1
  709. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +2 -2
  710. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  711. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
  712. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  713. package/graphql/getSchema/generateCacheKey.js +15 -7
  714. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  715. package/graphql/index.js +2 -1
  716. package/graphql/index.js.map +1 -1
  717. package/graphql/schema/baseSchema.d.ts +2 -1
  718. package/graphql/schema/baseSchema.js +28 -24
  719. package/graphql/schema/baseSchema.js.map +1 -1
  720. package/graphql/schema/cms/createEntryResolver.d.ts +10 -0
  721. package/graphql/schema/cms/createEntryResolver.js +65 -0
  722. package/graphql/schema/cms/createEntryResolver.js.map +1 -0
  723. package/graphql/schema/cms/deleteEntryResolver.d.ts +10 -0
  724. package/graphql/schema/cms/deleteEntryResolver.js +65 -0
  725. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -0
  726. package/graphql/schema/cms/getEntryResolver.d.ts +11 -0
  727. package/graphql/schema/cms/getEntryResolver.js +67 -0
  728. package/graphql/schema/cms/getEntryResolver.js.map +1 -0
  729. package/graphql/schema/cms/helpers/buildFieldsSelection.d.ts +23 -0
  730. package/graphql/schema/cms/helpers/buildFieldsSelection.js +79 -0
  731. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -0
  732. package/graphql/schema/cms/helpers/getErrorMessage.d.ts +4 -0
  733. package/graphql/schema/cms/helpers/getErrorMessage.js +14 -0
  734. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -0
  735. package/graphql/schema/cms/helpers/getModel.d.ts +6 -0
  736. package/graphql/schema/cms/helpers/getModel.js +12 -0
  737. package/graphql/schema/cms/helpers/getModel.js.map +1 -0
  738. package/graphql/schema/cms/helpers/index.d.ts +5 -0
  739. package/graphql/schema/cms/helpers/index.js +7 -0
  740. package/graphql/schema/cms/helpers/index.js.map +1 -0
  741. package/graphql/schema/cms/helpers/transformSortToArray.d.ts +18 -0
  742. package/graphql/schema/cms/helpers/transformSortToArray.js +38 -0
  743. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -0
  744. package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
  745. package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
  746. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
  747. package/graphql/schema/cms/helpers.d.ts +5 -0
  748. package/graphql/schema/cms/helpers.js +7 -0
  749. package/graphql/schema/cms/helpers.js.map +1 -0
  750. package/graphql/schema/cms/index.d.ts +2 -0
  751. package/graphql/schema/cms/index.js +26 -0
  752. package/graphql/schema/cms/index.js.map +1 -0
  753. package/graphql/schema/cms/listEntriesResolver.d.ts +15 -0
  754. package/graphql/schema/cms/listEntriesResolver.js +115 -0
  755. package/graphql/schema/cms/listEntriesResolver.js.map +1 -0
  756. package/graphql/schema/cms/publishEntryResolver.d.ts +10 -0
  757. package/graphql/schema/cms/publishEntryResolver.js +65 -0
  758. package/graphql/schema/cms/publishEntryResolver.js.map +1 -0
  759. package/graphql/schema/cms/resolvers/createEntry.d.ts +8 -0
  760. package/graphql/schema/cms/resolvers/createEntry.js +17 -0
  761. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -0
  762. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +8 -0
  763. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +17 -0
  764. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -0
  765. package/graphql/schema/cms/resolvers/getEntry.d.ts +8 -0
  766. package/graphql/schema/cms/resolvers/getEntry.js +17 -0
  767. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -0
  768. package/graphql/schema/cms/resolvers/index.d.ts +9 -0
  769. package/graphql/schema/cms/resolvers/index.js +11 -0
  770. package/graphql/schema/cms/resolvers/index.js.map +1 -0
  771. package/graphql/schema/cms/resolvers/listEntries.d.ts +8 -0
  772. package/graphql/schema/cms/resolvers/listEntries.js +17 -0
  773. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -0
  774. package/graphql/schema/cms/resolvers/mutationCms.d.ts +8 -0
  775. package/graphql/schema/cms/resolvers/mutationCms.js +24 -0
  776. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -0
  777. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +8 -0
  778. package/graphql/schema/cms/resolvers/publishEntryRevision.js +17 -0
  779. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -0
  780. package/graphql/schema/cms/resolvers/queryCms.d.ts +8 -0
  781. package/graphql/schema/cms/resolvers/queryCms.js +23 -0
  782. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -0
  783. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +8 -0
  784. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +17 -0
  785. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -0
  786. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +8 -0
  787. package/graphql/schema/cms/resolvers/updateEntryRevision.js +17 -0
  788. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -0
  789. package/graphql/schema/cms/typeDefs/index.d.ts +3 -0
  790. package/graphql/schema/cms/typeDefs/index.js +5 -0
  791. package/graphql/schema/cms/typeDefs/index.js.map +1 -0
  792. package/graphql/schema/cms/typeDefs/mutation.d.ts +8 -0
  793. package/graphql/schema/cms/typeDefs/mutation.js +42 -0
  794. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -0
  795. package/graphql/schema/cms/typeDefs/query.d.ts +8 -0
  796. package/graphql/schema/cms/typeDefs/query.js +36 -0
  797. package/graphql/schema/cms/typeDefs/query.js.map +1 -0
  798. package/graphql/schema/cms/typeDefs/responses.d.ts +8 -0
  799. package/graphql/schema/cms/typeDefs/responses.js +35 -0
  800. package/graphql/schema/cms/typeDefs/responses.js.map +1 -0
  801. package/graphql/schema/cms/unpublishEntryResolver.d.ts +10 -0
  802. package/graphql/schema/cms/unpublishEntryResolver.js +65 -0
  803. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -0
  804. package/graphql/schema/cms/updateEntryResolver.d.ts +11 -0
  805. package/graphql/schema/cms/updateEntryResolver.js +67 -0
  806. package/graphql/schema/cms/updateEntryResolver.js.map +1 -0
  807. package/graphql/schema/contentEntries.js +1 -1
  808. package/graphql/schema/contentEntries.js.map +1 -1
  809. package/graphql/schema/contentModels.js +31 -9
  810. package/graphql/schema/contentModels.js.map +1 -1
  811. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  812. package/graphql/schema/createFieldResolvers.js +5 -4
  813. package/graphql/schema/createFieldResolvers.js.map +1 -1
  814. package/graphql/schema/createManageResolvers.d.ts +3 -2
  815. package/graphql/schema/createManageResolvers.js +5 -3
  816. package/graphql/schema/createManageResolvers.js.map +1 -1
  817. package/graphql/schema/createManageSDL.d.ts +4 -4
  818. package/graphql/schema/createManageSDL.js +16 -11
  819. package/graphql/schema/createManageSDL.js.map +1 -1
  820. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  821. package/graphql/schema/createPreviewResolvers.js +4 -4
  822. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  823. package/graphql/schema/createReadResolvers.d.ts +3 -2
  824. package/graphql/schema/createReadResolvers.js +4 -4
  825. package/graphql/schema/createReadResolvers.js.map +1 -1
  826. package/graphql/schema/createReadSDL.d.ts +4 -4
  827. package/graphql/schema/createReadSDL.js +7 -7
  828. package/graphql/schema/createReadSDL.js.map +1 -1
  829. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  830. package/graphql/schema/createSingularResolvers.js +3 -3
  831. package/graphql/schema/createSingularResolvers.js.map +1 -1
  832. package/graphql/schema/createSingularSDL.d.ts +3 -2
  833. package/graphql/schema/createSingularSDL.js +5 -4
  834. package/graphql/schema/createSingularSDL.js.map +1 -1
  835. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +9 -7
  836. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  837. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  838. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +13 -0
  839. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  840. package/graphql/schema/schemaPlugins.js +14 -17
  841. package/graphql/schema/schemaPlugins.js.map +1 -1
  842. package/index.d.ts +3 -5
  843. package/index.js +4 -7
  844. package/index.js.map +1 -1
  845. package/package.json +36 -32
  846. package/plugins/CmsModelPlugin.js +19 -4
  847. package/plugins/CmsModelPlugin.js.map +1 -1
  848. package/plugins/index.d.ts +0 -2
  849. package/plugins/index.js +0 -2
  850. package/plugins/index.js.map +1 -1
  851. package/types/context.d.ts +5 -5
  852. package/types/context.js.map +1 -1
  853. package/types/fields/objectField.d.ts +2 -0
  854. package/types/fields/objectField.js.map +1 -1
  855. package/types/model.d.ts +39 -3
  856. package/types/model.js.map +1 -1
  857. package/types/modelField.d.ts +47 -15
  858. package/types/modelField.js.map +1 -1
  859. package/types/plugins.d.ts +1 -305
  860. package/types/plugins.js.map +1 -1
  861. package/types/types.d.ts +28 -61
  862. package/types/types.js +0 -4
  863. package/types/types.js.map +1 -1
  864. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  865. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  866. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  867. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  868. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  869. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  870. package/utils/converters/ConverterCollection.d.ts +2 -0
  871. package/utils/converters/ConverterCollection.js +3 -2
  872. package/utils/converters/ConverterCollection.js.map +1 -1
  873. package/utils/converters/types.js.map +1 -1
  874. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  875. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  876. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  877. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  878. package/utils/converters/valueKeyStorageConverter.js +7 -3
  879. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  880. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  881. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  882. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  883. package/utils/createModelField.js +10 -8
  884. package/utils/createModelField.js.map +1 -1
  885. package/utils/createTypeFromFields.d.ts +3 -2
  886. package/utils/createTypeFromFields.js +3 -3
  887. package/utils/createTypeFromFields.js.map +1 -1
  888. package/utils/entryStorage.d.ts +8 -15
  889. package/utils/entryStorage.js +31 -59
  890. package/utils/entryStorage.js.map +1 -1
  891. package/utils/getBaseFieldType.js +3 -0
  892. package/utils/getBaseFieldType.js.map +1 -1
  893. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  894. package/utils/getSchemaFromFieldPlugins.js +5 -9
  895. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  896. package/utils/renderFields.d.ts +4 -3
  897. package/utils/renderFields.js +14 -9
  898. package/utils/renderFields.js.map +1 -1
  899. package/utils/renderGetFilterFields.d.ts +3 -2
  900. package/utils/renderGetFilterFields.js +2 -2
  901. package/utils/renderGetFilterFields.js.map +1 -1
  902. package/utils/renderInputFields.d.ts +4 -3
  903. package/utils/renderInputFields.js +5 -11
  904. package/utils/renderInputFields.js.map +1 -1
  905. package/utils/renderListFilterFields.d.ts +3 -2
  906. package/utils/renderListFilterFields.js +5 -3
  907. package/utils/renderListFilterFields.js.map +1 -1
  908. package/utils/renderSortEnum.d.ts +4 -4
  909. package/utils/renderSortEnum.js +11 -11
  910. package/utils/renderSortEnum.js.map +1 -1
  911. package/utils/toSlug.js +1 -1
  912. package/utils/toSlug.js.map +1 -1
  913. package/crud/contentEntry/entryDataFactories/state.d.ts +0 -10
  914. package/crud/contentEntry/entryDataFactories/state.js +0 -16
  915. package/crud/contentEntry/entryDataFactories/state.js.map +0 -1
  916. package/crud/contentModel/validateModel.d.ts +0 -9
  917. package/crud/contentModel/validateModel.js +0 -21
  918. package/crud/contentModel/validateModel.js.map +0 -1
  919. package/crud/contentModel/validateModelFields.d.ts +0 -9
  920. package/crud/contentModel/validateModelFields.js +0 -267
  921. package/crud/contentModel/validateModelFields.js.map +0 -1
  922. package/features/modelBuilder/fields/validators.js +0 -3
  923. package/features/modelBuilder/fields/validators.js.map +0 -1
  924. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  925. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  926. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  927. package/graphqlFields/boolean.d.ts +0 -2
  928. package/graphqlFields/boolean.js +0 -52
  929. package/graphqlFields/boolean.js.map +0 -1
  930. package/graphqlFields/datetime.d.ts +0 -2
  931. package/graphqlFields/datetime.js +0 -71
  932. package/graphqlFields/datetime.js.map +0 -1
  933. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  934. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  935. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  936. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  937. package/graphqlFields/dynamicZone/index.js +0 -3
  938. package/graphqlFields/dynamicZone/index.js.map +0 -1
  939. package/graphqlFields/file.d.ts +0 -2
  940. package/graphqlFields/file.js +0 -37
  941. package/graphqlFields/file.js.map +0 -1
  942. package/graphqlFields/helpers.js +0 -20
  943. package/graphqlFields/helpers.js.map +0 -1
  944. package/graphqlFields/index.d.ts +0 -2
  945. package/graphqlFields/index.js +0 -15
  946. package/graphqlFields/index.js.map +0 -1
  947. package/graphqlFields/json.d.ts +0 -2
  948. package/graphqlFields/json.js +0 -42
  949. package/graphqlFields/json.js.map +0 -1
  950. package/graphqlFields/longText.d.ts +0 -2
  951. package/graphqlFields/longText.js +0 -57
  952. package/graphqlFields/longText.js.map +0 -1
  953. package/graphqlFields/number.d.ts +0 -2
  954. package/graphqlFields/number.js +0 -63
  955. package/graphqlFields/number.js.map +0 -1
  956. package/graphqlFields/object.d.ts +0 -2
  957. package/graphqlFields/object.js +0 -245
  958. package/graphqlFields/object.js.map +0 -1
  959. package/graphqlFields/ref.d.ts +0 -2
  960. package/graphqlFields/ref.js +0 -286
  961. package/graphqlFields/ref.js.map +0 -1
  962. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  963. package/graphqlFields/richText.d.ts +0 -2
  964. package/graphqlFields/richText.js +0 -48
  965. package/graphqlFields/richText.js.map +0 -1
  966. package/graphqlFields/searchableJson.d.ts +0 -2
  967. package/graphqlFields/searchableJson.js +0 -53
  968. package/graphqlFields/searchableJson.js.map +0 -1
  969. package/graphqlFields/text.d.ts +0 -2
  970. package/graphqlFields/text.js +0 -59
  971. package/graphqlFields/text.js.map +0 -1
  972. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  973. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  974. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  975. package/plugins/StorageTransformPlugin.d.ts +0 -35
  976. package/plugins/StorageTransformPlugin.js +0 -26
  977. package/plugins/StorageTransformPlugin.js.map +0 -1
  978. package/storage/date.d.ts +0 -3
  979. package/storage/date.js +0 -110
  980. package/storage/date.js.map +0 -1
  981. package/storage/default.d.ts +0 -2
  982. package/storage/default.js +0 -19
  983. package/storage/default.js.map +0 -1
  984. package/storage/dynamicZone.d.ts +0 -2
  985. package/storage/dynamicZone.js +0 -149
  986. package/storage/dynamicZone.js.map +0 -1
  987. package/storage/index.d.ts +0 -1
  988. package/storage/index.js +0 -13
  989. package/storage/index.js.map +0 -1
  990. package/storage/json.d.ts +0 -2
  991. package/storage/json.js +0 -49
  992. package/storage/json.js.map +0 -1
  993. package/storage/object.d.ts +0 -2
  994. package/storage/object.js +0 -104
  995. package/storage/object.js.map +0 -1
  996. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +0 -1
  997. package/validators/dateGte.d.ts +0 -2
  998. package/validators/dateGte.js +0 -25
  999. package/validators/dateGte.js.map +0 -1
  1000. package/validators/dateLte.d.ts +0 -2
  1001. package/validators/dateLte.js +0 -25
  1002. package/validators/dateLte.js.map +0 -1
  1003. package/validators/gte.d.ts +0 -2
  1004. package/validators/gte.js +0 -22
  1005. package/validators/gte.js.map +0 -1
  1006. package/validators/in.d.ts +0 -2
  1007. package/validators/in.js +0 -22
  1008. package/validators/in.js.map +0 -1
  1009. package/validators/index.d.ts +0 -1
  1010. package/validators/index.js +0 -16
  1011. package/validators/index.js.map +0 -1
  1012. package/validators/lte.d.ts +0 -2
  1013. package/validators/lte.js +0 -22
  1014. package/validators/lte.js.map +0 -1
  1015. package/validators/maxLength.d.ts +0 -2
  1016. package/validators/maxLength.js +0 -22
  1017. package/validators/maxLength.js.map +0 -1
  1018. package/validators/minLength.d.ts +0 -2
  1019. package/validators/minLength.js +0 -22
  1020. package/validators/minLength.js.map +0 -1
  1021. package/validators/pattern.d.ts +0 -2
  1022. package/validators/pattern.js +0 -36
  1023. package/validators/pattern.js.map +0 -1
  1024. package/validators/patternPlugins/email.d.ts +0 -2
  1025. package/validators/patternPlugins/email.js +0 -13
  1026. package/validators/patternPlugins/email.js.map +0 -1
  1027. package/validators/patternPlugins/index.d.ts +0 -2
  1028. package/validators/patternPlugins/index.js +0 -11
  1029. package/validators/patternPlugins/index.js.map +0 -1
  1030. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  1031. package/validators/patternPlugins/lowerCase.js +0 -13
  1032. package/validators/patternPlugins/lowerCase.js.map +0 -1
  1033. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  1034. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  1035. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  1036. package/validators/patternPlugins/upperCase.d.ts +0 -2
  1037. package/validators/patternPlugins/upperCase.js +0 -13
  1038. package/validators/patternPlugins/upperCase.js.map +0 -1
  1039. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  1040. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  1041. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  1042. package/validators/patternPlugins/url.d.ts +0 -2
  1043. package/validators/patternPlugins/url.js +0 -13
  1044. package/validators/patternPlugins/url.js.map +0 -1
  1045. package/validators/required.d.ts +0 -2
  1046. package/validators/required.js +0 -17
  1047. package/validators/required.js.map +0 -1
  1048. package/validators/timeGte.d.ts +0 -2
  1049. package/validators/timeGte.js +0 -20
  1050. package/validators/timeGte.js.map +0 -1
  1051. package/validators/timeLte.d.ts +0 -2
  1052. package/validators/timeLte.js +0 -20
  1053. package/validators/timeLte.js.map +0 -1
  1054. package/validators/unique.d.ts +0 -6
  1055. package/validators/unique.js +0 -57
  1056. package/validators/unique.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","GetUniqueFieldValuesUseCase","UseCaseAbstraction","GetUniqueFieldValuesRepository","AccessControl","CmsContext","EntryNotAuthorizedError","FieldNotSearchableError","InvalidWhereConditionError","getSearchableFields","GetUniqueFieldValuesUseCaseImpl","constructor","repository","accessControl","cmsContext","execute","model","params","ensureCanAccessEntry","error","fail","where","initialWhere","fieldId","canAccessOnlyOwned","canAccessOnlyOwnedEntries","identity","security","getIdentity","createdBy","id","latest","published","searchableFields","fields","plugins","input","includes","result","isFail","ok","value","abstraction","implementation","dependencies"],"sources":["GetUniqueFieldValuesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesUseCase as UseCaseAbstraction,\n GetUniqueFieldValuesRepository,\n GetUniqueFieldValuesParams\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 { CmsModel, CmsEntryUniqueValue } 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 // Check access control - throws if not authorized\n try {\n await this.accessControl.ensureCanAccessEntry({ model });\n } catch (error) {\n if (error instanceof EntryNotAuthorizedError) {\n return Result.fail(error);\n }\n throw error;\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 plugins: this.cmsContext.plugins,\n input: []\n });\n\n if (!searchableFields.includes(fieldId)) {\n return Result.fail(new FieldNotSearchableError(fieldId));\n }\n\n // Execute repository call\n const result = await this.repository.execute(model, { where, fieldId });\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","Result","GetUniqueFieldValuesRepository","GetUniqueFieldValuesUseCase","UseCaseAbstraction","AccessControl","CmsContext","EntryNotAuthorizedError","FieldNotSearchableError","InvalidWhereConditionError","getSearchableFields","GetUniqueFieldValuesUseCaseImpl","constructor","repository","accessControl","cmsContext","execute","model","params","canAccess","canAccessEntry","fail","modelId","where","initialWhere","fieldId","canAccessOnlyOwned","canAccessOnlyOwnedEntries","identity","security","getIdentity","createdBy","id","latest","published","searchableFields","fields","context","input","includes","result","isFail","error","ok","value","abstraction","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,oBAAoB,EAAEC,MAAM,QAAQ,qBAAqB;AAClE,SAEIC,8BAA8B,EAC9BC,2BAA2B,IAAIC,kBAAkB;AAErD,SAASC,aAAa,EAAEC,UAAU;AAClC,SAASC,uBAAuB;AAChC,SAASC,uBAAuB,EAAEC,0BAA0B;AAC5D,SAASC,mBAAmB;AAG5B,MAAMC,+BAA+B,CAAyC;EACnEC,WAAWA,CACNC,UAAoD,EACpDC,aAAsC,EACtCC,UAAgC,EAC1C;IAAA,KAHUF,UAAoD,GAApDA,UAAoD;IAAA,KACpDC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,UAAgC,GAAhCA,UAAgC;EACzC;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,MAAkC,EAC8B;IAChE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,aAAa,CAACM,cAAc,CAAC;MAAEH;IAAM,CAAC,CAAC;IACpE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAOlB,MAAM,CAACoB,IAAI,CACd,IAAId,uBAAuB,CAAC,0BAA0BU,KAAK,CAACK,OAAO,YAAY,CACnF,CAAC;IACL;IAEA,MAAM;MAAEC,KAAK,EAAEC,YAAY;MAAEC;IAAQ,CAAC,GAAGP,MAAM;IAE/C,MAAMK,KAAK,GAAG;MACV,GAAGC;IACP,CAAC;;IAED;IACA,MAAME,kBAAkB,GAAG,MAAM,IAAI,CAACZ,aAAa,CAACa,yBAAyB,CAAC;MAAEV;IAAM,CAAC,CAAC;IACxF,IAAIS,kBAAkB,EAAE;MACpB,MAAME,QAAQ,GAAG,IAAI,CAACb,UAAU,CAACc,QAAQ,CAACC,WAAW,CAAC,CAAC;MACvDP,KAAK,CAACQ,SAAS,GAAGH,QAAQ,CAACI,EAAE;IACjC;;IAEA;IACA,IAAIT,KAAK,CAACU,MAAM,IAAIV,KAAK,CAACW,SAAS,EAAE;MACjC,OAAOjC,MAAM,CAACoB,IAAI,CACd,IAAIZ,0BAA0B,CAC1B,yDAAyD,EACzDc,KACJ,CACJ,CAAC;IACL;IAEA,IAAI,CAACA,KAAK,CAACU,MAAM,IAAI,CAACV,KAAK,CAACW,SAAS,EAAE;MACnC,OAAOjC,MAAM,CAACoB,IAAI,CACd,IAAIZ,0BAA0B,CAC1B,oEAAoE,EACpEc,KACJ,CACJ,CAAC;IACL;;IAEA;IACA,MAAMY,gBAAgB,GAAGzB,mBAAmB,CAAC;MACzC0B,MAAM,EAAEnB,KAAK,CAACmB,MAAM;MACpBC,OAAO,EAAE,IAAI,CAACtB,UAAU;MACxBuB,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAI,CAACH,gBAAgB,CAACI,QAAQ,CAAC,UAAUd,OAAO,EAAE,CAAC,EAAE;MACjD,OAAOxB,MAAM,CAACoB,IAAI,CAAC,IAAIb,uBAAuB,CAACiB,OAAO,CAAC,CAAC;IAC5D;;IAEA;IACA,MAAMe,MAAM,GAAG,MAAM,IAAI,CAAC3B,UAAU,CAACG,OAAO,CAACC,KAAK,EAAE;MAChDM,KAAK;MACLE;IACJ,CAAC,CAAC;IACF,IAAIe,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOxC,MAAM,CAACoB,IAAI,CAACmB,MAAM,CAACE,KAAK,CAAC;IACpC;IAEA,OAAOzC,MAAM,CAAC0C,EAAE,CAACH,MAAM,CAACI,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMzC,2BAA2B,GAAGH,oBAAoB,CAAC;EAC5D6C,WAAW,EAAEzC,kBAAkB;EAC/B0C,cAAc,EAAEnC,+BAA+B;EAC/CoC,YAAY,EAAE,CAAC7C,8BAA8B,EAAEG,aAAa,EAAEC,UAAU;AAC5E,CAAC,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const GetUniqueFieldValuesFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const GetUniqueFieldValuesFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -32,7 +32,12 @@ class ListEntriesRepositoryImpl {
32
32
  fields: model.fields
33
33
  })
34
34
  };
35
- const result = await this.storageOperations.entries.list(model, listParams);
35
+ let result;
36
+ try {
37
+ result = await this.storageOperations.entries.list(model, listParams);
38
+ } catch (ex) {
39
+ return Result.fail(ex);
40
+ }
36
41
 
37
42
  // Transform storage entries to domain entries
38
43
  const items = await Promise.all(result.items.map(async entry => {
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","Result","ListEntriesRepository","RepositoryAbstraction","EntryPersistenceError","StorageOperations","EntryFromStorageTransform","SearchableFieldsProvider","ListEntriesRepositoryImpl","constructor","searchableFieldsProvider","entryFromStorageTransform","storageOperations","execute","model","params","limit","sort","where","location","wbyAco_location","listParams","fields","result","entries","list","items","Promise","all","map","entry","meta","hasMoreItems","totalCount","cursor","ok","error","fail","abstraction","implementation","dependencies"],"sources":["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 CmsEntryValues,\n CmsModel\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 const result = await this.storageOperations.entries.list<T>(model, listParams);\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"],"mappings":"AAAA,SAASA,oBAAoB,EAAEC,MAAM,QAAQ,qBAAqB;AAClE,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,qBAAqB;AAQ9B,SAASC,iBAAiB;AAC1B,SAASC,yBAAyB,EAAEC,wBAAwB;;AAE5D;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,CAA4C;EAChEC,WAAWA,CACNC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,iBAA8C,EACxD;IAAA,KAHUF,wBAA4D,GAA5DA,wBAA4D;IAAA,KAC5DC,yBAA8D,GAA9DA,yBAA8D;IAAA,KAC9DC,iBAA8C,GAA9CA,iBAA8C;EACvD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,MAA0B,EACK;IAC/B,IAAI;MACA,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAK,IAAID,MAAM,CAACC,KAAK,GAAG,CAAC,GAAGD,MAAM,CAACC,KAAK,GAAG,EAAE;MAClE,MAAMC,IAAI,GAAGF,MAAM,CAACE,IAAI,IAAI,CAAC,gBAAgB,CAAC;MAC9C,MAAMC,KAA+C,GAAGH,MAAM,CAACG,KAAK,IAAI,CAAC,CAAC;MAE1E,IAAIA,KAAK,CAACC,QAAQ,EAAE;QAChBD,KAAK,CAACE,eAAe,GAAGF,KAAK,CAACC,QAAQ;QACtC,OAAOD,KAAK,CAACC,QAAQ;MACzB;MAEA,MAAME,UAA+C,GAAG;QACpD,GAAGN,MAAM;QACTE,IAAI;QACJD,KAAK;QACLE,KAAK;QACLI,MAAM,EAAE,IAAI,CAACZ,wBAAwB,CAAC;UAAEY,MAAM,EAAER,KAAK,CAACQ;QAAO,CAAC;MAClE,CAAC;MAED,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACX,iBAAiB,CAACY,OAAO,CAACC,IAAI,CAAIX,KAAK,EAAEO,UAAU,CAAC;;MAE9E;MACA,MAAMK,KAAK,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC3BL,MAAM,CAACG,KAAK,CAACG,GAAG,CAAC,MAAMC,KAAK,IAAI;QAC5B,OAAO,IAAI,CAACnB,yBAAyB,CAACG,KAAK,EAAEgB,KAAK,CAAC;MACvD,CAAC,CACL,CAAC;MAED,MAAMC,IAAkB,GAAG;QACvBC,YAAY,EAAET,MAAM,CAACS,YAAY;QACjCC,UAAU,EAAEV,MAAM,CAACU,UAAU;QAC7BC,MAAM,EAAEX,MAAM,CAACS,YAAY,GAAGT,MAAM,CAACW,MAAM,GAAG;MAClD,CAAC;MAED,OAAOjC,MAAM,CAACkC,EAAE,CAAC;QAAEX,OAAO,EAAEE,KAAK;QAAEK;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOK,KAAK,EAAE;MACZ,OAAOnC,MAAM,CAACoC,IAAI,CAAC,IAAIjC,qBAAqB,CAACgC,KAAc,CAAC,CAAC;IACjE;EACJ;AACJ;AAEA,OAAO,MAAMlC,qBAAqB,GAAGF,oBAAoB,CAAC;EACtDsC,WAAW,EAAEnC,qBAAqB;EAClCoC,cAAc,EAAE/B,yBAAyB;EACzCgC,YAAY,EAAE,CAACjC,wBAAwB,EAAED,yBAAyB,EAAED,iBAAiB;AACzF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","Result","ListEntriesRepository","RepositoryAbstraction","EntryPersistenceError","StorageOperations","EntryFromStorageTransform","SearchableFieldsProvider","ListEntriesRepositoryImpl","constructor","searchableFieldsProvider","entryFromStorageTransform","storageOperations","execute","model","params","limit","sort","where","location","wbyAco_location","listParams","fields","result","entries","list","ex","fail","items","Promise","all","map","entry","meta","hasMoreItems","totalCount","cursor","ok","error","abstraction","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,oBAAoB,EAAEC,MAAM,QAAQ,qBAAqB;AAClE,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,qBAAqB;AAU9B,SAASC,iBAAiB;AAC1B,SAASC,yBAAyB,EAAEC,wBAAwB;;AAE5D;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,CAA4C;EAChEC,WAAWA,CACNC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,iBAA8C,EACxD;IAAA,KAHUF,wBAA4D,GAA5DA,wBAA4D;IAAA,KAC5DC,yBAA8D,GAA9DA,yBAA8D;IAAA,KAC9DC,iBAA8C,GAA9CA,iBAA8C;EACvD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,MAA0B,EACK;IAC/B,IAAI;MACA,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAK,IAAID,MAAM,CAACC,KAAK,GAAG,CAAC,GAAGD,MAAM,CAACC,KAAK,GAAG,EAAE;MAClE,MAAMC,IAAI,GAAGF,MAAM,CAACE,IAAI,IAAI,CAAC,gBAAgB,CAAC;MAC9C,MAAMC,KAA+C,GAAGH,MAAM,CAACG,KAAK,IAAI,CAAC,CAAC;MAE1E,IAAIA,KAAK,CAACC,QAAQ,EAAE;QAChBD,KAAK,CAACE,eAAe,GAAGF,KAAK,CAACC,QAAQ;QACtC,OAAOD,KAAK,CAACC,QAAQ;MACzB;MAEA,MAAME,UAA+C,GAAG;QACpD,GAAGN,MAAM;QACTE,IAAI;QACJD,KAAK;QACLE,KAAK;QACLI,MAAM,EAAE,IAAI,CAACZ,wBAAwB,CAAC;UAAEY,MAAM,EAAER,KAAK,CAACQ;QAAO,CAAC;MAClE,CAAC;MAED,IAAIC,MAA6E;MACjF,IAAI;QACAA,MAAM,GAAG,MAAM,IAAI,CAACX,iBAAiB,CAACY,OAAO,CAACC,IAAI,CAAIX,KAAK,EAAEO,UAAU,CAAC;MAC5E,CAAC,CAAC,OAAOK,EAAE,EAAE;QACT,OAAOzB,MAAM,CAAC0B,IAAI,CAACD,EAAE,CAAC;MAC1B;;MAEA;MACA,MAAME,KAAK,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC3BP,MAAM,CAACK,KAAK,CAACG,GAAG,CAAC,MAAMC,KAAK,IAAI;QAC5B,OAAO,IAAI,CAACrB,yBAAyB,CAACG,KAAK,EAAEkB,KAAK,CAAC;MACvD,CAAC,CACL,CAAC;MAED,MAAMC,IAAkB,GAAG;QACvBC,YAAY,EAAEX,MAAM,CAACW,YAAY;QACjCC,UAAU,EAAEZ,MAAM,CAACY,UAAU;QAC7BC,MAAM,EAAEb,MAAM,CAACW,YAAY,GAAGX,MAAM,CAACa,MAAM,GAAG;MAClD,CAAC;MAED,OAAOnC,MAAM,CAACoC,EAAE,CAAC;QAAEb,OAAO,EAAEI,KAAK;QAAEK;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOK,KAAK,EAAE;MACZ,OAAOrC,MAAM,CAAC0B,IAAI,CAAC,IAAIvB,qBAAqB,CAACkC,KAAc,CAAC,CAAC;IACjE;EACJ;AACJ;AAEA,OAAO,MAAMpC,qBAAqB,GAAGF,oBAAoB,CAAC;EACtDuC,WAAW,EAAEpC,qBAAqB;EAClCqC,cAAc,EAAEhC,yBAAyB;EACzCiC,YAAY,EAAE,CAAClC,wBAAwB,EAAED,yBAAyB,EAAED,iBAAiB;AACzF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
2
  import { ListEntriesUseCase as UseCaseAbstraction } from "./abstractions.js";
3
3
  import { ListEntriesRepository } from "./abstractions.js";
4
4
  import { AccessControl } from "../../../features/shared/abstractions.js";
@@ -1,6 +1,6 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { createImplementation } from "@webiny/feature/api";
3
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
4
  import { ListEntriesUseCase as UseCaseAbstraction } from "./abstractions.js";
5
5
  import { ListEntriesRepository } from "./abstractions.js";
6
6
  import { AccessControl } from "../../shared/abstractions.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","IdentityContext","ListEntriesUseCase","UseCaseAbstraction","ListEntriesRepository","AccessControl","EntryNotAuthorizedError","ListEntriesUseCaseImpl","constructor","repository","accessControl","identityContext","execute","model","params","canAccess","canAccessEntry","fail","fromModel","where","initialWhere","rest","canAccessOnlyOwnedEntries","createdBy","getIdentity","id","result","isFail","error","ok","value","abstraction","implementation","dependencies"],"sources":["ListEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\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"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,kBAAkB,IAAIC,kBAAkB;AACjD,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AAEtB,SAASC,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,CAAyC;EAC1DC,WAAWA,CACNC,UAA2C,EAC3CC,aAAsC,EACtCC,eAA0C,EACpD;IAAA,KAHUF,UAA2C,GAA3CA,UAA2C;IAAA,KAC3CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,eAA0C,GAA1CA,eAA0C;EACnD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACC;IAC5B;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,aAAa,CAACM,cAAc,CAAC;MAAEH;IAAM,CAAC,CAAC;IACpE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAOhB,MAAM,CAACkB,IAAI,CAACX,uBAAuB,CAACY,SAAS,CAACL,KAAK,CAAC,CAAC;IAChE;IAEA,MAAM;MAAEM,KAAK,EAAEC,YAAY;MAAE,GAAGC;IAAK,CAAC,GAAGP,MAAM,IAAI,CAAC,CAAC;IACrD,MAAMK,KAAK,GAAG;MAAE,GAAGC;IAAa,CAAC;;IAEjC;IACA,IAAI,MAAM,IAAI,CAACV,aAAa,CAACY,yBAAyB,CAAC;MAAET;IAAM,CAAC,CAAC,EAAE;MAC/DM,KAAK,CAACI,SAAS,GAAG,IAAI,CAACZ,eAAe,CAACa,WAAW,CAAC,CAAC,CAACC,EAAE;IAC3D;;IAEA;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACjB,UAAU,CAACG,OAAO,CAAIC,KAAK,EAAE;MACnD,GAAGQ,IAAI;MACPF;IACJ,CAAC,CAAC;IAEF,IAAIO,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO5B,MAAM,CAACkB,IAAI,CAACS,MAAM,CAACE,KAAK,CAAC;IACpC;IAEA,OAAO7B,MAAM,CAAC8B,EAAE,CAACH,MAAM,CAACI,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAM5B,kBAAkB,GAAGF,oBAAoB,CAAC;EACnD+B,WAAW,EAAE5B,kBAAkB;EAC/B6B,cAAc,EAAEzB,sBAAsB;EACtC0B,YAAY,EAAE,CAAC7B,qBAAqB,EAAEC,aAAa,EAAEJ,eAAe;AACxE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Result","createImplementation","IdentityContext","ListEntriesUseCase","UseCaseAbstraction","ListEntriesRepository","AccessControl","EntryNotAuthorizedError","ListEntriesUseCaseImpl","constructor","repository","accessControl","identityContext","execute","model","params","canAccess","canAccessEntry","fail","fromModel","where","initialWhere","rest","canAccessOnlyOwnedEntries","createdBy","getIdentity","id","result","isFail","error","ok","value","abstraction","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,kBAAkB,IAAIC,kBAAkB;AACjD,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AAEtB,SAASC,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,CAAyC;EAC1DC,WAAWA,CACNC,UAA2C,EAC3CC,aAAsC,EACtCC,eAA0C,EACpD;IAAA,KAHUF,UAA2C,GAA3CA,UAA2C;IAAA,KAC3CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,eAA0C,GAA1CA,eAA0C;EACnD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACC;IAC5B;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,aAAa,CAACM,cAAc,CAAC;MAAEH;IAAM,CAAC,CAAC;IACpE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAOhB,MAAM,CAACkB,IAAI,CAACX,uBAAuB,CAACY,SAAS,CAACL,KAAK,CAAC,CAAC;IAChE;IAEA,MAAM;MAAEM,KAAK,EAAEC,YAAY;MAAE,GAAGC;IAAK,CAAC,GAAGP,MAAM,IAAI,CAAC,CAAC;IACrD,MAAMK,KAAK,GAAG;MAAE,GAAGC;IAAa,CAAC;;IAEjC;IACA,IAAI,MAAM,IAAI,CAACV,aAAa,CAACY,yBAAyB,CAAC;MAAET;IAAM,CAAC,CAAC,EAAE;MAC/DM,KAAK,CAACI,SAAS,GAAG,IAAI,CAACZ,eAAe,CAACa,WAAW,CAAC,CAAC,CAACC,EAAE;IAC3D;;IAEA;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACjB,UAAU,CAACG,OAAO,CAAIC,KAAK,EAAE;MACnD,GAAGQ,IAAI;MACPF;IACJ,CAAC,CAAC;IAEF,IAAIO,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO5B,MAAM,CAACkB,IAAI,CAACS,MAAM,CAACE,KAAK,CAAC;IACpC;IAEA,OAAO7B,MAAM,CAAC8B,EAAE,CAACH,MAAM,CAACI,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAM5B,kBAAkB,GAAGF,oBAAoB,CAAC;EACnD+B,WAAW,EAAE5B,kBAAkB;EAC/B6B,cAAc,EAAEzB,sBAAsB;EACtC0B,YAAY,EAAE,CAAC7B,qBAAqB,EAAEC,aAAa,EAAEJ,eAAe;AACxE,CAAC,CAAC","ignoreList":[]}
@@ -17,6 +17,7 @@ export interface IListEntriesUseCaseErrors {
17
17
  storage: EntryPersistenceError;
18
18
  }
19
19
  type UseCaseError = IListEntriesUseCaseErrors[keyof IListEntriesUseCaseErrors];
20
+ /** List content entries with filtering and pagination. */
20
21
  export declare const ListEntriesUseCase: import("@webiny/di").Abstraction<IListEntriesUseCase>;
21
22
  export declare namespace ListEntriesUseCase {
22
23
  type Interface = IListEntriesUseCase;
@@ -30,6 +31,7 @@ export declare namespace ListEntriesUseCase {
30
31
  export interface IListLatestEntriesUseCase {
31
32
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): Promise<Result<IListEntriesResult<T>, UseCaseError>>;
32
33
  }
34
+ /** List the latest revisions of content entries. */
33
35
  export declare const ListLatestEntriesUseCase: import("@webiny/di").Abstraction<IListLatestEntriesUseCase>;
34
36
  export declare namespace ListLatestEntriesUseCase {
35
37
  type Interface = IListLatestEntriesUseCase;
@@ -43,6 +45,7 @@ export declare namespace ListLatestEntriesUseCase {
43
45
  export interface IListPublishedEntriesUseCase {
44
46
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): Promise<Result<IListEntriesResult<T>, UseCaseError>>;
45
47
  }
48
+ /** List published content entries. */
46
49
  export declare const ListPublishedEntriesUseCase: import("@webiny/di").Abstraction<IListPublishedEntriesUseCase>;
47
50
  export declare namespace ListPublishedEntriesUseCase {
48
51
  type Interface = IListPublishedEntriesUseCase;
@@ -56,6 +59,7 @@ export declare namespace ListPublishedEntriesUseCase {
56
59
  export interface IListDeletedEntriesUseCase {
57
60
  execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): Promise<Result<IListEntriesResult<T>, UseCaseError>>;
58
61
  }
62
+ /** List deleted content entries. */
59
63
  export declare const ListDeletedEntriesUseCase: import("@webiny/di").Abstraction<IListDeletedEntriesUseCase>;
60
64
  export declare namespace ListDeletedEntriesUseCase {
61
65
  type Interface = IListDeletedEntriesUseCase;
@@ -5,24 +5,28 @@ import { createAbstraction } from "@webiny/feature/api";
5
5
  * Used by specific variants (Latest, Published, Deleted).
6
6
  */
7
7
 
8
+ /** List content entries with filtering and pagination. */
8
9
  export const ListEntriesUseCase = createAbstraction("ListEntriesUseCase");
9
10
 
10
11
  /**
11
12
  * ListLatestEntries Use Case - Lists latest entries (manage API).
12
13
  */
13
14
 
15
+ /** List the latest revisions of content entries. */
14
16
  export const ListLatestEntriesUseCase = createAbstraction("ListLatestEntriesUseCase");
15
17
 
16
18
  /**
17
19
  * ListPublishedEntries Use Case - Lists published entries (read API).
18
20
  */
19
21
 
22
+ /** List published content entries. */
20
23
  export const ListPublishedEntriesUseCase = createAbstraction("ListPublishedEntriesUseCase");
21
24
 
22
25
  /**
23
26
  * ListDeletedEntries Use Case - Lists deleted entries (manage API).
24
27
  */
25
28
 
29
+ /** List deleted content entries. */
26
30
  export const ListDeletedEntriesUseCase = createAbstraction("ListDeletedEntriesUseCase");
27
31
 
28
32
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListDeletedEntriesUseCase","ListEntriesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\nexport interface IListEntriesResult<T extends CmsEntryValues = CmsEntryValues> {\n entries: CmsEntry<T>[];\n meta: CmsEntryMeta;\n}\n\n/**\n * Base ListEntries Use Case - Internal base use case for listing entries.\n * Used by specific variants (Latest, Published, Deleted).\n */\nexport interface IListEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\nexport interface IListEntriesUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IListEntriesUseCaseErrors[keyof IListEntriesUseCaseErrors];\n\nexport const ListEntriesUseCase = createAbstraction<IListEntriesUseCase>(\"ListEntriesUseCase\");\n\nexport namespace ListEntriesUseCase {\n export type Interface = IListEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListLatestEntries Use Case - Lists latest entries (manage API).\n */\nexport interface IListLatestEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\nexport const ListLatestEntriesUseCase = createAbstraction<IListLatestEntriesUseCase>(\n \"ListLatestEntriesUseCase\"\n);\n\nexport namespace ListLatestEntriesUseCase {\n export type Interface = IListLatestEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListPublishedEntries Use Case - Lists published entries (read API).\n */\nexport interface IListPublishedEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\nexport const ListPublishedEntriesUseCase = createAbstraction<IListPublishedEntriesUseCase>(\n \"ListPublishedEntriesUseCase\"\n);\n\nexport namespace ListPublishedEntriesUseCase {\n export type Interface = IListPublishedEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListDeletedEntries Use Case - Lists deleted entries (manage API).\n */\nexport interface IListDeletedEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\nexport const ListDeletedEntriesUseCase = createAbstraction<IListDeletedEntriesUseCase>(\n \"ListDeletedEntriesUseCase\"\n);\n\nexport namespace ListDeletedEntriesUseCase {\n export type Interface = IListDeletedEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListEntriesRepository - Fetches entries from storage with filtering and pagination.\n */\nexport interface IListEntriesRepository {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, RepositoryError>>;\n}\n\nexport interface IListEntriesRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IListEntriesRepositoryErrors[keyof IListEntriesRepositoryErrors];\n\nexport const ListEntriesRepository =\n createAbstraction<IListEntriesRepository>(\"ListEntriesRepository\");\n\nexport namespace ListEntriesRepository {\n export type Interface = IListEntriesRepository;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, RepositoryError>\n >;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAkB/D;AACA;AACA;AACA;;AAeA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAY9F;AACA;AACA;;AAQA,OAAO,MAAME,wBAAwB,GAAGF,iBAAiB,CACrD,0BACJ,CAAC;;AAYD;AACA;AACA;;AAQA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CACxD,6BACJ,CAAC;;AAYD;AACA;AACA;;AAQA,OAAO,MAAMI,yBAAyB,GAAGJ,iBAAiB,CACtD,2BACJ,CAAC;;AAYD;AACA;AACA;;AAcA,OAAO,MAAMK,qBAAqB,GAC9BL,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ListEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListDeletedEntriesUseCase","ListEntriesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\nexport interface IListEntriesResult<T extends CmsEntryValues = CmsEntryValues> {\n entries: CmsEntry<T>[];\n meta: CmsEntryMeta;\n}\n\n/**\n * Base ListEntries Use Case - Internal base use case for listing entries.\n * Used by specific variants (Latest, Published, Deleted).\n */\nexport interface IListEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\nexport interface IListEntriesUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IListEntriesUseCaseErrors[keyof IListEntriesUseCaseErrors];\n\n/** List content entries with filtering and pagination. */\nexport const ListEntriesUseCase = createAbstraction<IListEntriesUseCase>(\"ListEntriesUseCase\");\n\nexport namespace ListEntriesUseCase {\n export type Interface = IListEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListLatestEntries Use Case - Lists latest entries (manage API).\n */\nexport interface IListLatestEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\n/** List the latest revisions of content entries. */\nexport const ListLatestEntriesUseCase = createAbstraction<IListLatestEntriesUseCase>(\n \"ListLatestEntriesUseCase\"\n);\n\nexport namespace ListLatestEntriesUseCase {\n export type Interface = IListLatestEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListPublishedEntries Use Case - Lists published entries (read API).\n */\nexport interface IListPublishedEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\n/** List published content entries. */\nexport const ListPublishedEntriesUseCase = createAbstraction<IListPublishedEntriesUseCase>(\n \"ListPublishedEntriesUseCase\"\n);\n\nexport namespace ListPublishedEntriesUseCase {\n export type Interface = IListPublishedEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListDeletedEntries Use Case - Lists deleted entries (manage API).\n */\nexport interface IListDeletedEntriesUseCase {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, UseCaseError>>;\n}\n\n/** List deleted content entries. */\nexport const ListDeletedEntriesUseCase = createAbstraction<IListDeletedEntriesUseCase>(\n \"ListDeletedEntriesUseCase\"\n);\n\nexport namespace ListDeletedEntriesUseCase {\n export type Interface = IListDeletedEntriesUseCase;\n export type Params = CmsEntryListParams;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * ListEntriesRepository - Fetches entries from storage with filtering and pagination.\n */\nexport interface IListEntriesRepository {\n execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<Result<IListEntriesResult<T>, RepositoryError>>;\n}\n\nexport interface IListEntriesRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IListEntriesRepositoryErrors[keyof IListEntriesRepositoryErrors];\n\nexport const ListEntriesRepository =\n createAbstraction<IListEntriesRepository>(\"ListEntriesRepository\");\n\nexport namespace ListEntriesRepository {\n export type Interface = IListEntriesRepository;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<IListEntriesResult<T>, RepositoryError>\n >;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAkB/D;AACA;AACA;AACA;;AAeA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAY9F;AACA;AACA;;AAQA;AACA,OAAO,MAAME,wBAAwB,GAAGF,iBAAiB,CACrD,0BACJ,CAAC;;AAYD;AACA;AACA;;AAQA;AACA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CACxD,6BACJ,CAAC;;AAYD;AACA;AACA;;AAQA;AACA,OAAO,MAAMI,yBAAyB,GAAGJ,iBAAiB,CACtD,2BACJ,CAAC;;AAYD;AACA;AACA;;AAcA,OAAO,MAAMK,qBAAqB,GAC9BL,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const ListEntriesFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ListEntriesFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { MoveEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
4
4
  import { MoveEntryRepository } from "./abstractions.js";
5
5
  import { AccessControl } from "../../../features/shared/abstractions.js";
@@ -1,6 +1,6 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { createImplementation } from "@webiny/feature/api";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { MoveEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
5
5
  import { MoveEntryRepository } from "./abstractions.js";
6
6
  import { AccessControl } from "../../shared/abstractions.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","EventPublisher","MoveEntryUseCase","UseCaseAbstraction","MoveEntryRepository","AccessControl","GetRevisionByIdUseCase","EntryBeforeMoveEvent","EntryAfterMoveEvent","EntryMoveErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","MoveEntryUseCaseImpl","constructor","repository","accessControl","getRevisionById","eventPublisher","execute","model","id","folderId","canAccess","canAccessEntry","rwd","fail","fromModel","result","isFail","entry","value","location","ok","publish","moveResult","error","abstraction","implementation","dependencies"],"sources":["MoveEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Result","createImplementation","EventPublisher","MoveEntryUseCase","UseCaseAbstraction","MoveEntryRepository","AccessControl","GetRevisionByIdUseCase","EntryBeforeMoveEvent","EntryAfterMoveEvent","EntryMoveErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","MoveEntryUseCaseImpl","constructor","repository","accessControl","getRevisionById","eventPublisher","execute","model","id","folderId","canAccess","canAccessEntry","rwd","fail","fromModel","result","isFail","entry","value","location","ok","publish","moveResult","error","abstraction","implementation","dependencies"],"sources":["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"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ export interface IMoveEntryUseCaseErrors {
13
13
  storage: EntryPersistenceError;
14
14
  }
15
15
  type UseCaseError = IMoveEntryUseCaseErrors[keyof IMoveEntryUseCaseErrors];
16
+ /** Move a content entry to a different folder. */
16
17
  export declare const MoveEntryUseCase: import("@webiny/di").Abstraction<IMoveEntryUseCase>;
17
18
  export declare namespace MoveEntryUseCase {
18
19
  type Interface = IMoveEntryUseCase;
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * MoveEntry Use Case - Moves an entry to a different folder.
5
5
  */
6
6
 
7
+ /** Move a content entry to a different folder. */
7
8
  export const MoveEntryUseCase = createAbstraction("MoveEntryUseCase");
8
9
 
9
10
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","MoveEntryUseCase","MoveEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntry Use Case - Moves an entry to a different folder.\n */\nexport interface IMoveEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface IMoveEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IMoveEntryUseCaseErrors[keyof IMoveEntryUseCaseErrors];\n\nexport const MoveEntryUseCase = createAbstraction<IMoveEntryUseCase>(\"MoveEntryUseCase\");\n\nexport namespace MoveEntryUseCase {\n export type Interface = IMoveEntryUseCase;\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * Payload for before move event\n */\nexport interface EntryBeforeMoveEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n}\n\n/**\n * Payload for after move event\n */\nexport interface EntryAfterMoveEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n}\n\n/**\n * Payload for move error event\n */\nexport interface EntryMoveErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n error: Error;\n}\n\n/**\n * MoveEntryRepository - Handles storage operations for moving entries.\n */\nexport interface IMoveEntryRepository {\n execute(model: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IMoveEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IMoveEntryRepositoryErrors[keyof IMoveEntryRepositoryErrors];\n\nexport const MoveEntryRepository = createAbstraction<IMoveEntryRepository>(\"MoveEntryRepository\");\n\nexport namespace MoveEntryRepository {\n export type Interface = IMoveEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAiBA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC;;AAUxF;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAWA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","MoveEntryUseCase","MoveEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntry Use Case - Moves an entry to a different folder.\n */\nexport interface IMoveEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface IMoveEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IMoveEntryUseCaseErrors[keyof IMoveEntryUseCaseErrors];\n\n/** Move a content entry to a different folder. */\nexport const MoveEntryUseCase = createAbstraction<IMoveEntryUseCase>(\"MoveEntryUseCase\");\n\nexport namespace MoveEntryUseCase {\n export type Interface = IMoveEntryUseCase;\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * Payload for before move event\n */\nexport interface EntryBeforeMoveEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n}\n\n/**\n * Payload for after move event\n */\nexport interface EntryAfterMoveEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n}\n\n/**\n * Payload for move error event\n */\nexport interface EntryMoveErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n folderId: string;\n error: Error;\n}\n\n/**\n * MoveEntryRepository - Handles storage operations for moving entries.\n */\nexport interface IMoveEntryRepository {\n execute(model: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IMoveEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IMoveEntryRepositoryErrors[keyof IMoveEntryRepositoryErrors];\n\nexport const MoveEntryRepository = createAbstraction<IMoveEntryRepository>(\"MoveEntryRepository\");\n\nexport namespace MoveEntryRepository {\n export type Interface = IMoveEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC;;AAUxF;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAWA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { EntryAfterMoveEventPayload, EntryBeforeMoveEventPayload, EntryMoveErrorEventPayload } from "./abstractions.js";
4
4
  /**
5
5
  * Before move entry event
@@ -8,6 +8,7 @@ export declare class EntryBeforeMoveEvent extends DomainEvent<EntryBeforeMoveEve
8
8
  eventType: "Cms/Entry/BeforeMove";
9
9
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryBeforeMoveEvent>>;
10
10
  }
11
+ /** Hook into entry lifecycle before an entry is moved. */
11
12
  export declare const EntryBeforeMoveEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryBeforeMoveEvent>>;
12
13
  export declare namespace EntryBeforeMoveEventHandler {
13
14
  type Interface = IEventHandler<EntryBeforeMoveEvent>;
@@ -20,6 +21,7 @@ export declare class EntryAfterMoveEvent extends DomainEvent<EntryAfterMoveEvent
20
21
  eventType: "Cms/Entry/AfterMove";
21
22
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryAfterMoveEvent>>;
22
23
  }
24
+ /** Hook into entry lifecycle after an entry is moved. */
23
25
  export declare const EntryAfterMoveEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryAfterMoveEvent>>;
24
26
  export declare namespace EntryAfterMoveEventHandler {
25
27
  type Interface = IEventHandler<EntryAfterMoveEvent>;
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  /**
4
4
  * Before move entry event
5
5
  */
@@ -9,6 +9,8 @@ export class EntryBeforeMoveEvent extends DomainEvent {
9
9
  return EntryBeforeMoveEventHandler;
10
10
  }
11
11
  }
12
+
13
+ /** Hook into entry lifecycle before an entry is moved. */
12
14
  export const EntryBeforeMoveEventHandler = createAbstraction("EntryBeforeMoveEventHandler");
13
15
  /**
14
16
  * After move entry event
@@ -19,6 +21,8 @@ export class EntryAfterMoveEvent extends DomainEvent {
19
21
  return EntryAfterMoveEventHandler;
20
22
  }
21
23
  }
24
+
25
+ /** Hook into entry lifecycle after an entry is moved. */
22
26
  export const EntryAfterMoveEventHandler = createAbstraction("EntryAfterMoveEventHandler");
23
27
  /**
24
28
  * Move entry error event
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeMoveEvent","eventType","getHandlerAbstraction","EntryBeforeMoveEventHandler","EntryAfterMoveEvent","EntryAfterMoveEventHandler","EntryMoveErrorEvent","EntryMoveErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type {\n EntryAfterMoveEventPayload,\n EntryBeforeMoveEventPayload,\n EntryMoveErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before move entry event\n */\nexport class EntryBeforeMoveEvent extends DomainEvent<EntryBeforeMoveEventPayload> {\n eventType = \"Cms/Entry/BeforeMove\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforeMoveEventHandler;\n }\n}\n\nexport const EntryBeforeMoveEventHandler = createAbstraction<IEventHandler<EntryBeforeMoveEvent>>(\n \"EntryBeforeMoveEventHandler\"\n);\n\nexport namespace EntryBeforeMoveEventHandler {\n export type Interface = IEventHandler<EntryBeforeMoveEvent>;\n export type Event = EntryBeforeMoveEvent;\n}\n\n/**\n * After move entry event\n */\nexport class EntryAfterMoveEvent extends DomainEvent<EntryAfterMoveEventPayload> {\n eventType = \"Cms/Entry/AfterMove\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterMoveEventHandler;\n }\n}\n\nexport const EntryAfterMoveEventHandler = createAbstraction<IEventHandler<EntryAfterMoveEvent>>(\n \"EntryAfterMoveEventHandler\"\n);\n\nexport namespace EntryAfterMoveEventHandler {\n export type Interface = IEventHandler<EntryAfterMoveEvent>;\n export type Event = EntryAfterMoveEvent;\n}\n\n/**\n * Move entry error event\n */\nexport class EntryMoveErrorEvent extends DomainEvent<EntryMoveErrorEventPayload> {\n eventType = \"Cms/Entry/MoveError\" as const;\n\n getHandlerAbstraction() {\n return EntryMoveErrorEventHandler;\n }\n}\n\nexport const EntryMoveErrorEventHandler = createAbstraction<IEventHandler<EntryMoveErrorEvent>>(\n \"EntryMoveErrorEventHandler\"\n);\n\nexport namespace EntryMoveErrorEventHandler {\n export type Interface = IEventHandler<EntryMoveErrorEvent>;\n export type Event = EntryMoveErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAOtE;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,SAASD,WAAW,CAA8B;EAC/EE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CACxD,6BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMM,mBAAmB,SAASL,WAAW,CAA6B;EAC7EE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CACvD,4BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,mBAAmB,SAASP,WAAW,CAA6B;EAC7EE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGT,iBAAiB,CACvD,4BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeMoveEvent","eventType","getHandlerAbstraction","EntryBeforeMoveEventHandler","EntryAfterMoveEvent","EntryAfterMoveEventHandler","EntryMoveErrorEvent","EntryMoveErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type {\n EntryAfterMoveEventPayload,\n EntryBeforeMoveEventPayload,\n EntryMoveErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before move entry event\n */\nexport class EntryBeforeMoveEvent extends DomainEvent<EntryBeforeMoveEventPayload> {\n eventType = \"Cms/Entry/BeforeMove\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforeMoveEventHandler;\n }\n}\n\n/** Hook into entry lifecycle before an entry is moved. */\nexport const EntryBeforeMoveEventHandler = createAbstraction<IEventHandler<EntryBeforeMoveEvent>>(\n \"EntryBeforeMoveEventHandler\"\n);\n\nexport namespace EntryBeforeMoveEventHandler {\n export type Interface = IEventHandler<EntryBeforeMoveEvent>;\n export type Event = EntryBeforeMoveEvent;\n}\n\n/**\n * After move entry event\n */\nexport class EntryAfterMoveEvent extends DomainEvent<EntryAfterMoveEventPayload> {\n eventType = \"Cms/Entry/AfterMove\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterMoveEventHandler;\n }\n}\n\n/** Hook into entry lifecycle after an entry is moved. */\nexport const EntryAfterMoveEventHandler = createAbstraction<IEventHandler<EntryAfterMoveEvent>>(\n \"EntryAfterMoveEventHandler\"\n);\n\nexport namespace EntryAfterMoveEventHandler {\n export type Interface = IEventHandler<EntryAfterMoveEvent>;\n export type Event = EntryAfterMoveEvent;\n}\n\n/**\n * Move entry error event\n */\nexport class EntryMoveErrorEvent extends DomainEvent<EntryMoveErrorEventPayload> {\n eventType = \"Cms/Entry/MoveError\" as const;\n\n getHandlerAbstraction() {\n return EntryMoveErrorEventHandler;\n }\n}\n\nexport const EntryMoveErrorEventHandler = createAbstraction<IEventHandler<EntryMoveErrorEvent>>(\n \"EntryMoveErrorEventHandler\"\n);\n\nexport namespace EntryMoveErrorEventHandler {\n export type Interface = IEventHandler<EntryMoveErrorEvent>;\n export type Event = EntryMoveErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAO/E;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,SAASD,WAAW,CAA8B;EAC/EE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;;AAEA;AACA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CACxD,6BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMM,mBAAmB,SAASL,WAAW,CAA6B;EAC7EE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;;AAEA;AACA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CACvD,4BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,mBAAmB,SAASP,WAAW,CAA6B;EAC7EE,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGT,iBAAiB,CACvD,4BACJ,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const MoveEntryFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const MoveEntryFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,6 +1,6 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { PublishEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
5
5
  import { PublishEntryRepository } from "./abstractions.js";
6
6
  import { AccessControl } from "../../../features/shared/abstractions.js";
@@ -1,7 +1,7 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { createImplementation } from "@webiny/feature/api";
3
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
4
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
5
5
  import { PublishEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
6
6
  import { PublishEntryRepository } from "./abstractions.js";
7
7
  import { AccessControl } from "../../shared/abstractions.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","IdentityContext","EventPublisher","PublishEntryUseCase","UseCaseAbstraction","PublishEntryRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EntryBeforePublishEvent","EntryAfterPublishEvent","EntryPublishErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","createPublishEntryData","CmsContext","PublishEntryUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","identityContext","eventPublisher","cmsContext","execute","model","id","canAccess","canAccessEntry","pw","fail","fromModel","result","isFail","originalEntry","value","entry","latestResult","entryId","error","latestEntry","context","getIdentity","publish","original","repositoryResult","publishedEntry","ok","abstraction","implementation","dependencies"],"sources":["PublishEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { PublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { PublishEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforePublishEvent,\n EntryAfterPublishEvent,\n EntryPublishErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { createPublishEntryData } from \"~/crud/contentEntry/entryDataFactories/index.js\";\nimport { CmsContext } from \"~/features/shared/abstractions.js\";\n\n/**\n * PublishEntryUseCase - Orchestrates publishing an entry.\n *\n * Responsibilities:\n * - Apply access control (publish permission)\n * - Get the entry to publish\n * - Get the latest revision for entry-level metadata\n * - Prepare entry data with publish metadata\n * - Validate entry data\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass PublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: PublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control (publish permission)\n const canAccess = await this.accessControl.canAccessEntry({ model, pw: \"p\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to publish\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = result.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n pw: \"p\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the latest revision for entry-level metadata\n const latestResult = await this.getLatestRevision.execute<T>(model, {\n id: originalEntry.entryId\n });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestEntry = latestResult.value;\n\n // Prepare entry data for publishing (includes validation)\n const { entry } = await createPublishEntryData<T>({\n context: this.cmsContext,\n model,\n originalEntry,\n latestEntry,\n getIdentity: () => this.identityContext.getIdentity()\n });\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforePublishEvent({\n entry,\n original: originalEntry,\n model\n })\n );\n\n // Delegate to repository\n const repositoryResult = await this.repository.execute(model, entry);\n\n if (repositoryResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryPublishErrorEvent({\n entry,\n original: originalEntry,\n model,\n error: repositoryResult.error\n })\n );\n return Result.fail(repositoryResult.error);\n }\n\n const publishedEntry = repositoryResult.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterPublishEvent({\n entry: publishedEntry,\n original: originalEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryPublishErrorEvent({\n entry,\n original: originalEntry,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const PublishEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: PublishEntryUseCaseImpl,\n dependencies: [\n PublishEntryRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher,\n CmsContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Result","createImplementation","IdentityContext","EventPublisher","PublishEntryUseCase","UseCaseAbstraction","PublishEntryRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EntryBeforePublishEvent","EntryAfterPublishEvent","EntryPublishErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","createPublishEntryData","CmsContext","PublishEntryUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","identityContext","eventPublisher","cmsContext","execute","model","id","canAccess","canAccessEntry","pw","fail","fromModel","result","isFail","originalEntry","value","entry","latestResult","entryId","error","latestEntry","context","getIdentity","publish","original","repositoryResult","publishedEntry","ok","abstraction","implementation","dependencies"],"sources":["PublishEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PublishEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { PublishEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforePublishEvent,\n EntryAfterPublishEvent,\n EntryPublishErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { createPublishEntryData } from \"~/crud/contentEntry/entryDataFactories/index.js\";\nimport { CmsContext } from \"~/features/shared/abstractions.js\";\n\n/**\n * PublishEntryUseCase - Orchestrates publishing an entry.\n *\n * Responsibilities:\n * - Apply access control (publish permission)\n * - Get the entry to publish\n * - Get the latest revision for entry-level metadata\n * - Prepare entry data with publish metadata\n * - Validate entry data\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass PublishEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: PublishEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control (publish permission)\n const canAccess = await this.accessControl.canAccessEntry({ model, pw: \"p\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to publish\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = result.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n pw: \"p\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the latest revision for entry-level metadata\n const latestResult = await this.getLatestRevision.execute<T>(model, {\n id: originalEntry.entryId\n });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestEntry = latestResult.value;\n\n // Prepare entry data for publishing (includes validation)\n const { entry } = await createPublishEntryData<T>({\n context: this.cmsContext,\n model,\n originalEntry,\n latestEntry,\n getIdentity: () => this.identityContext.getIdentity()\n });\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforePublishEvent({\n entry,\n original: originalEntry,\n model\n })\n );\n\n // Delegate to repository\n const repositoryResult = await this.repository.execute(model, entry);\n\n if (repositoryResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryPublishErrorEvent({\n entry,\n original: originalEntry,\n model,\n error: repositoryResult.error\n })\n );\n return Result.fail(repositoryResult.error);\n }\n\n const publishedEntry = repositoryResult.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterPublishEvent({\n entry: publishedEntry,\n original: originalEntry,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryPublishErrorEvent({\n entry,\n original: originalEntry,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const PublishEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: PublishEntryUseCaseImpl,\n dependencies: [\n PublishEntryRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher,\n CmsContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ export interface IPublishEntryUseCaseErrors {
14
14
  storage: EntryPersistenceError;
15
15
  }
16
16
  type UseCaseError = IPublishEntryUseCaseErrors[keyof IPublishEntryUseCaseErrors];
17
+ /** Publish a content entry. */
17
18
  export declare const PublishEntryUseCase: import("@webiny/di").Abstraction<IPublishEntryUseCase>;
18
19
  export declare namespace PublishEntryUseCase {
19
20
  type Interface = IPublishEntryUseCase;
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * PublishEntry Use Case - Publishes an entry revision.
5
5
  */
6
6
 
7
+ /** Publish a content entry. */
7
8
  export const PublishEntryUseCase = createAbstraction("PublishEntryUseCase");
8
9
 
9
10
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","PublishEntryUseCase","PublishEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * PublishEntry Use Case - Publishes an entry revision.\n */\nexport interface IPublishEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface IPublishEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n validation: EntryValidationError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IPublishEntryUseCaseErrors[keyof IPublishEntryUseCaseErrors];\n\nexport const PublishEntryUseCase = createAbstraction<IPublishEntryUseCase>(\"PublishEntryUseCase\");\n\nexport namespace PublishEntryUseCase {\n export type Interface = IPublishEntryUseCase;\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * Payload for before publish event\n */\nexport interface EntryBeforePublishEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for after publish event\n */\nexport interface EntryAfterPublishEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for publish error event\n */\nexport interface EntryPublishErrorEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * PublishEntryRepository - Handles storage operations for publishing entries.\n */\nexport interface IPublishEntryRepository {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryError>>;\n}\n\nexport interface IPublishEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IPublishEntryRepositoryErrors[keyof IPublishEntryRepositoryErrors];\n\nexport const PublishEntryRepository =\n createAbstraction<IPublishEntryRepository>(\"PublishEntryRepository\");\n\nexport namespace PublishEntryRepository {\n export type Interface = IPublishEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAS/D;AACA;AACA;;AAiBA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;;AAUjG;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAcA,OAAO,MAAME,sBAAsB,GAC/BF,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","PublishEntryUseCase","PublishEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * PublishEntry Use Case - Publishes an entry revision.\n */\nexport interface IPublishEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface IPublishEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n validation: EntryValidationError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IPublishEntryUseCaseErrors[keyof IPublishEntryUseCaseErrors];\n\n/** Publish a content entry. */\nexport const PublishEntryUseCase = createAbstraction<IPublishEntryUseCase>(\"PublishEntryUseCase\");\n\nexport namespace PublishEntryUseCase {\n export type Interface = IPublishEntryUseCase;\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * Payload for before publish event\n */\nexport interface EntryBeforePublishEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for after publish event\n */\nexport interface EntryAfterPublishEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for publish error event\n */\nexport interface EntryPublishErrorEventPayload {\n entry: CmsEntry;\n original: CmsEntry;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * PublishEntryRepository - Handles storage operations for publishing entries.\n */\nexport interface IPublishEntryRepository {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryError>>;\n}\n\nexport interface IPublishEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IPublishEntryRepositoryErrors[keyof IPublishEntryRepositoryErrors];\n\nexport const PublishEntryRepository =\n createAbstraction<IPublishEntryRepository>(\"PublishEntryRepository\");\n\nexport namespace PublishEntryRepository {\n export type Interface = IPublishEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAS/D;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;;AAUjG;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAcA,OAAO,MAAME,sBAAsB,GAC/BF,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { EntryAfterPublishEventPayload, EntryBeforePublishEventPayload, EntryPublishErrorEventPayload } from "./abstractions.js";
4
4
  /**
5
5
  * Before publish entry event
@@ -8,6 +8,7 @@ export declare class EntryBeforePublishEvent extends DomainEvent<EntryBeforePubl
8
8
  eventType: "Cms/Entry/BeforePublish";
9
9
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryBeforePublishEvent>>;
10
10
  }
11
+ /** Hook into entry lifecycle before an entry is published. */
11
12
  export declare const EntryBeforePublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryBeforePublishEvent>>;
12
13
  export declare namespace EntryBeforePublishEventHandler {
13
14
  type Interface = IEventHandler<EntryBeforePublishEvent>;
@@ -20,6 +21,7 @@ export declare class EntryAfterPublishEvent extends DomainEvent<EntryAfterPublis
20
21
  eventType: "Cms/Entry/AfterPublish";
21
22
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryAfterPublishEvent>>;
22
23
  }
24
+ /** Hook into entry lifecycle after an entry is published. */
23
25
  export declare const EntryAfterPublishEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryAfterPublishEvent>>;
24
26
  export declare namespace EntryAfterPublishEventHandler {
25
27
  type Interface = IEventHandler<EntryAfterPublishEvent>;
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  /**
4
4
  * Before publish entry event
5
5
  */
@@ -9,6 +9,8 @@ export class EntryBeforePublishEvent extends DomainEvent {
9
9
  return EntryBeforePublishEventHandler;
10
10
  }
11
11
  }
12
+
13
+ /** Hook into entry lifecycle before an entry is published. */
12
14
  export const EntryBeforePublishEventHandler = createAbstraction("EntryBeforePublishEventHandler");
13
15
  /**
14
16
  * After publish entry event
@@ -19,6 +21,8 @@ export class EntryAfterPublishEvent extends DomainEvent {
19
21
  return EntryAfterPublishEventHandler;
20
22
  }
21
23
  }
24
+
25
+ /** Hook into entry lifecycle after an entry is published. */
22
26
  export const EntryAfterPublishEventHandler = createAbstraction("EntryAfterPublishEventHandler");
23
27
  /**
24
28
  * Publish entry error event
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","EntryBeforePublishEvent","eventType","getHandlerAbstraction","EntryBeforePublishEventHandler","EntryAfterPublishEvent","EntryAfterPublishEventHandler","EntryPublishErrorEvent","EntryPublishErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type {\n EntryAfterPublishEventPayload,\n EntryBeforePublishEventPayload,\n EntryPublishErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before publish entry event\n */\nexport class EntryBeforePublishEvent extends DomainEvent<EntryBeforePublishEventPayload> {\n eventType = \"Cms/Entry/BeforePublish\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforePublishEventHandler;\n }\n}\n\nexport const EntryBeforePublishEventHandler = createAbstraction<\n IEventHandler<EntryBeforePublishEvent>\n>(\"EntryBeforePublishEventHandler\");\n\nexport namespace EntryBeforePublishEventHandler {\n export type Interface = IEventHandler<EntryBeforePublishEvent>;\n export type Event = EntryBeforePublishEvent;\n}\n\n/**\n * After publish entry event\n */\nexport class EntryAfterPublishEvent extends DomainEvent<EntryAfterPublishEventPayload> {\n eventType = \"Cms/Entry/AfterPublish\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterPublishEventHandler;\n }\n}\n\nexport const EntryAfterPublishEventHandler = createAbstraction<\n IEventHandler<EntryAfterPublishEvent>\n>(\"EntryAfterPublishEventHandler\");\n\nexport namespace EntryAfterPublishEventHandler {\n export type Interface = IEventHandler<EntryAfterPublishEvent>;\n export type Event = EntryAfterPublishEvent;\n}\n\n/**\n * Publish entry error event\n */\nexport class EntryPublishErrorEvent extends DomainEvent<EntryPublishErrorEventPayload> {\n eventType = \"Cms/Entry/PublishError\" as const;\n\n getHandlerAbstraction() {\n return EntryPublishErrorEventHandler;\n }\n}\n\nexport const EntryPublishErrorEventHandler = createAbstraction<\n IEventHandler<EntryPublishErrorEvent>\n>(\"EntryPublishErrorEventHandler\");\n\nexport namespace EntryPublishErrorEventHandler {\n export type Interface = IEventHandler<EntryPublishErrorEvent>;\n export type Event = EntryPublishErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAOtE;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,SAASD,WAAW,CAAiC;EACrFE,SAAS,GAAG,yBAAyB;EAErCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,8BAA8B;EACzC;AACJ;AAEA,OAAO,MAAMA,8BAA8B,GAAGL,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC;AACA;AACA;AACA,OAAO,MAAMM,sBAAsB,SAASL,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,6BAA6B;EACxC;AACJ;AAEA,OAAO,MAAMA,6BAA6B,GAAGP,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMQ,sBAAsB,SAASP,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,6BAA6B;EACxC;AACJ;AAEA,OAAO,MAAMA,6BAA6B,GAAGT,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","EntryBeforePublishEvent","eventType","getHandlerAbstraction","EntryBeforePublishEventHandler","EntryAfterPublishEvent","EntryAfterPublishEventHandler","EntryPublishErrorEvent","EntryPublishErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type {\n EntryAfterPublishEventPayload,\n EntryBeforePublishEventPayload,\n EntryPublishErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before publish entry event\n */\nexport class EntryBeforePublishEvent extends DomainEvent<EntryBeforePublishEventPayload> {\n eventType = \"Cms/Entry/BeforePublish\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforePublishEventHandler;\n }\n}\n\n/** Hook into entry lifecycle before an entry is published. */\nexport const EntryBeforePublishEventHandler = createAbstraction<\n IEventHandler<EntryBeforePublishEvent>\n>(\"EntryBeforePublishEventHandler\");\n\nexport namespace EntryBeforePublishEventHandler {\n export type Interface = IEventHandler<EntryBeforePublishEvent>;\n export type Event = EntryBeforePublishEvent;\n}\n\n/**\n * After publish entry event\n */\nexport class EntryAfterPublishEvent extends DomainEvent<EntryAfterPublishEventPayload> {\n eventType = \"Cms/Entry/AfterPublish\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterPublishEventHandler;\n }\n}\n\n/** Hook into entry lifecycle after an entry is published. */\nexport const EntryAfterPublishEventHandler = createAbstraction<\n IEventHandler<EntryAfterPublishEvent>\n>(\"EntryAfterPublishEventHandler\");\n\nexport namespace EntryAfterPublishEventHandler {\n export type Interface = IEventHandler<EntryAfterPublishEvent>;\n export type Event = EntryAfterPublishEvent;\n}\n\n/**\n * Publish entry error event\n */\nexport class EntryPublishErrorEvent extends DomainEvent<EntryPublishErrorEventPayload> {\n eventType = \"Cms/Entry/PublishError\" as const;\n\n getHandlerAbstraction() {\n return EntryPublishErrorEventHandler;\n }\n}\n\nexport const EntryPublishErrorEventHandler = createAbstraction<\n IEventHandler<EntryPublishErrorEvent>\n>(\"EntryPublishErrorEventHandler\");\n\nexport namespace EntryPublishErrorEventHandler {\n export type Interface = IEventHandler<EntryPublishErrorEvent>;\n export type Event = EntryPublishErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAO/E;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,SAASD,WAAW,CAAiC;EACrFE,SAAS,GAAG,yBAAyB;EAErCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,8BAA8B;EACzC;AACJ;;AAEA;AACA,OAAO,MAAMA,8BAA8B,GAAGL,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC;AACA;AACA;AACA,OAAO,MAAMM,sBAAsB,SAASL,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGP,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMQ,sBAAsB,SAASP,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,6BAA6B;EACxC;AACJ;AAEA,OAAO,MAAMA,6BAA6B,GAAGT,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}