@webiny/api-headless-cms 6.4.11 → 6.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/HeadlessCmsContextualSchema.d.ts +16 -0
  2. package/HeadlessCmsContextualSchema.js +32 -0
  3. package/HeadlessCmsContextualSchema.js.map +1 -0
  4. package/HeadlessCmsEndpointConfig.d.ts +10 -0
  5. package/HeadlessCmsEndpointConfig.js +5 -0
  6. package/HeadlessCmsEndpointConfig.js.map +1 -0
  7. package/HeadlessCmsFeature.d.ts +10 -0
  8. package/HeadlessCmsFeature.js +195 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +26 -0
  11. package/createCmsRoute.js +59 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +29 -15
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  16. package/crud/contentEntry/references/validateEntries.d.ts +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +17 -7
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry.crud.js +22 -20
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/defaultFields.js +3 -2
  22. package/crud/contentModel/defaultFields.js.map +1 -1
  23. package/crud/contentModel.crud.js +8 -6
  24. package/crud/contentModel.crud.js.map +1 -1
  25. package/crud/contentModelGroup.crud.js +7 -5
  26. package/crud/contentModelGroup.crud.js.map +1 -1
  27. package/domain/contentModel/schemas.d.ts +2 -0
  28. package/domain/contentModel/schemas.js +4 -2
  29. package/domain/contentModel/schemas.js.map +1 -1
  30. package/domain/contentModel/validation/modelFields.js +21 -15
  31. package/domain/contentModel/validation/modelFields.js.map +1 -1
  32. package/export/abstractions.d.ts +9 -0
  33. package/export/abstractions.js +6 -0
  34. package/export/abstractions.js.map +1 -0
  35. package/export/crud/exporting.js +8 -2
  36. package/export/crud/exporting.js.map +1 -1
  37. package/export/crud/importing.js +13 -4
  38. package/export/crud/importing.js.map +1 -1
  39. package/export/crud/imports/importGroups.js +23 -23
  40. package/export/crud/imports/importGroups.js.map +1 -1
  41. package/export/crud/imports/importModels.js +25 -22
  42. package/export/crud/imports/importModels.js.map +1 -1
  43. package/export/graphql/index.d.ts +2 -3
  44. package/export/graphql/index.js +6 -10
  45. package/export/graphql/index.js.map +1 -1
  46. package/exports/api/cms/model.d.ts +4 -1
  47. package/exports/api/cms/model.js +2 -0
  48. package/exports/api/cms/storage.d.ts +0 -1
  49. package/exports/api/cms/storage.js +0 -1
  50. package/features/ai/DescribeContentModelTool.d.ts +55 -0
  51. package/features/ai/DescribeContentModelTool.js +60 -0
  52. package/features/ai/DescribeContentModelTool.js.map +1 -0
  53. package/features/ai/ListContentModelsTool.d.ts +41 -0
  54. package/features/ai/ListContentModelsTool.js +44 -0
  55. package/features/ai/ListContentModelsTool.js.map +1 -0
  56. package/features/ai/QueryEntriesTool.d.ts +75 -0
  57. package/features/ai/QueryEntriesTool.js +90 -0
  58. package/features/ai/QueryEntriesTool.js.map +1 -0
  59. package/features/ai/feature.d.ts +8 -0
  60. package/features/ai/feature.js +15 -0
  61. package/features/ai/feature.js.map +1 -0
  62. package/features/ai/index.d.ts +4 -0
  63. package/features/ai/index.js +4 -0
  64. package/features/contentEntry/ContentEntriesFeature.js +0 -2
  65. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  66. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
  67. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
  68. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  69. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  70. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  71. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  72. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
  73. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
  74. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  75. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  76. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  77. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  78. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
  79. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
  80. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  81. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  82. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  83. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  84. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
  85. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
  86. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  87. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  88. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  89. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  90. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  91. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  92. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  93. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
  94. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
  95. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  96. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  97. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  98. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  99. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
  100. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
  101. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  102. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  103. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  104. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  105. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
  106. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
  107. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  108. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  109. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  110. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  111. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  112. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  113. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  114. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  115. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  116. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  117. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
  118. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
  119. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  120. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  121. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  122. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  123. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  124. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  125. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  126. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
  127. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
  128. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  129. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  130. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  131. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  132. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  133. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  134. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  135. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  136. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  137. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  138. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  139. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  140. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  141. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
  142. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
  143. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  144. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  145. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  146. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  147. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
  148. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
  149. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  150. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  151. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  152. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  153. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
  154. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
  155. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  156. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  157. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  158. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  159. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
  160. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
  161. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  162. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  163. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  164. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  165. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
  166. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
  167. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  168. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  169. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  170. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  171. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  172. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  173. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
  174. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
  175. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  176. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  177. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  178. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  179. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  180. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  181. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  182. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
  183. package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
  184. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  185. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  186. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  187. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  188. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  189. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  190. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  191. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  192. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  193. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  194. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
  195. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
  196. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  197. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  198. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  199. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  200. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
  201. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
  202. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  203. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  204. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  205. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  206. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
  207. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
  208. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  209. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  210. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  211. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  212. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
  213. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
  214. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  215. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  216. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  217. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  218. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
  219. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
  220. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  221. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  222. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  223. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  224. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
  225. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
  226. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  227. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  228. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  229. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  230. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  231. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  232. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  233. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  234. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  235. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  236. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  237. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  238. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  239. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  240. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  241. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  242. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  243. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  244. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  245. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  246. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  247. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  248. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  249. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  250. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  251. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  252. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  253. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  254. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
  255. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
  256. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
  257. package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
  258. package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
  259. package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
  260. package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
  261. package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
  262. package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
  263. package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
  264. package/features/contentModel/ComponentMapGenerator/index.js +2 -0
  265. package/features/contentModel/ContentModelFeature.js +6 -0
  266. package/features/contentModel/ContentModelFeature.js.map +1 -1
  267. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
  268. package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
  269. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  270. package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
  271. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  272. package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
  273. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  274. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
  275. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
  276. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  277. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
  278. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  279. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
  280. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  281. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
  282. package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
  283. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  284. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  285. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  286. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  287. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
  288. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
  289. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
  290. package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
  291. package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
  292. package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
  293. package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
  294. package/features/contentModel/RefModelsGenerator/feature.js +11 -0
  295. package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
  296. package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
  297. package/features/contentModel/RefModelsGenerator/index.js +2 -0
  298. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
  299. package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
  300. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  301. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  302. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  303. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
  304. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  305. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  306. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
  307. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  308. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  309. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  310. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  311. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  312. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  313. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  314. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  315. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  316. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  317. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  318. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  319. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  320. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  321. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  322. package/features/contentModel/shared/abstractions.d.ts +10 -0
  323. package/features/contentModel/shared/abstractions.js +2 -1
  324. package/features/contentModel/shared/abstractions.js.map +1 -1
  325. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
  326. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
  327. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  328. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
  329. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
  330. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  331. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
  332. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  333. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
  334. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
  335. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  336. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  337. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  338. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  339. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  340. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  341. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  342. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  343. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  344. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  345. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  346. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  347. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  348. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  349. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  350. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  351. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
  352. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
  353. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  354. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  355. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
  356. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  357. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
  358. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  359. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  360. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  361. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  362. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  363. package/features/contentModelGroup/shared/abstractions.js +2 -1
  364. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  365. package/features/graphql/feature.js +2 -0
  366. package/features/graphql/feature.js.map +1 -1
  367. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  368. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  369. package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
  370. package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
  371. package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
  372. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
  373. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  374. package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
  375. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  376. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  377. package/features/graphql/fields/base/RefToGraphQL.js +10 -18
  378. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  379. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  380. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  381. package/features/modelBuilder/abstractions.d.ts +10 -0
  382. package/features/modelBuilder/abstractions.js.map +1 -1
  383. package/features/modelBuilder/feature.js +2 -0
  384. package/features/modelBuilder/feature.js.map +1 -1
  385. package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
  386. package/features/modelBuilder/fields/AssetFieldType.js +46 -0
  387. package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
  388. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
  389. package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
  390. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  391. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
  392. package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
  393. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  394. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  395. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  396. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  397. package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
  398. package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
  399. package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
  400. package/features/modelBuilder/index.d.ts +1 -1
  401. package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
  402. package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
  403. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  404. package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
  405. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  406. package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
  407. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  408. package/features/shared/abstractions.d.ts +11 -15
  409. package/features/shared/abstractions.js +3 -3
  410. package/features/shared/abstractions.js.map +1 -1
  411. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  418. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  419. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  420. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  421. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  422. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  423. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  424. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  425. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  426. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  427. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  428. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  429. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  430. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  431. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  432. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  433. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  434. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  435. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  436. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  437. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  438. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  439. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  440. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  441. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  442. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  443. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  444. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  445. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  446. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  447. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  448. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  449. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  450. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  451. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  452. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  453. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  454. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  455. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  456. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  457. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  458. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  459. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  460. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  461. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  462. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  463. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  464. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  465. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  466. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  467. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  468. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  469. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  470. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  471. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  472. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  473. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  474. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  475. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  476. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  477. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  478. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  479. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  480. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  481. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  482. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  483. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  484. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  485. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  486. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  487. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  488. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  489. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  490. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  491. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  492. package/features/shared/storageOperations/index.d.ts +32 -0
  493. package/features/shared/storageOperations/index.js +32 -0
  494. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  495. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  496. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  497. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  498. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  499. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  500. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  501. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  502. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  503. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  504. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  505. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  506. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  507. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  508. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  509. package/features/sortMapper/SortMapper.js +2 -5
  510. package/features/sortMapper/SortMapper.js.map +1 -1
  511. package/features/whereMapper/WhereMapper.js +7 -5
  512. package/features/whereMapper/WhereMapper.js.map +1 -1
  513. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
  514. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  515. package/fieldConverters/abstractions.d.ts +14 -0
  516. package/fieldConverters/abstractions.js +13 -0
  517. package/fieldConverters/abstractions.js.map +1 -0
  518. package/fieldConverters/index.d.ts +1 -1
  519. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  520. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  521. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  522. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  523. package/graphql/CmsSchemaExecutor.js +5 -0
  524. package/graphql/CmsSchemaExecutor.js.map +1 -0
  525. package/graphql/buildSchemaPlugins.d.ts +2 -1
  526. package/graphql/buildSchemaPlugins.js +1 -3
  527. package/graphql/buildSchemaPlugins.js.map +1 -1
  528. package/graphql/checkEndpointAccess.js +5 -2
  529. package/graphql/checkEndpointAccess.js.map +1 -1
  530. package/graphql/createExecutableSchema.d.ts +1 -1
  531. package/graphql/createExecutableSchema.js +1 -1
  532. package/graphql/createExecutableSchema.js.map +1 -1
  533. package/graphql/generateSchema.d.ts +2 -1
  534. package/graphql/generateSchema.js +14 -5
  535. package/graphql/generateSchema.js.map +1 -1
  536. package/graphql/getSchema.js +7 -2
  537. package/graphql/getSchema.js.map +1 -1
  538. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  539. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  540. package/graphql/schema/baseContentSchema.d.ts +1 -6
  541. package/graphql/schema/baseContentSchema.js +5 -8
  542. package/graphql/schema/baseContentSchema.js.map +1 -1
  543. package/graphql/schema/baseSchema.d.ts +2 -2
  544. package/graphql/schema/baseSchema.js +6 -41
  545. package/graphql/schema/baseSchema.js.map +1 -1
  546. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  547. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  548. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  549. package/graphql/schema/cms/createEntryResolver.js +2 -2
  550. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  551. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  552. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  553. package/graphql/schema/cms/getEntryResolver.js +5 -4
  554. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  555. package/graphql/schema/cms/getModelResolver.d.ts +35 -0
  556. package/graphql/schema/cms/getModelResolver.js +49 -0
  557. package/graphql/schema/cms/getModelResolver.js.map +1 -0
  558. package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
  559. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  560. package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
  561. package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
  562. package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
  563. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  564. package/graphql/schema/cms/helpers/getModel.js +5 -3
  565. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  566. package/graphql/schema/cms/helpers/index.d.ts +1 -0
  567. package/graphql/schema/cms/helpers/index.js +1 -0
  568. package/graphql/schema/cms/helpers.d.ts +1 -0
  569. package/graphql/schema/cms/helpers.js +1 -0
  570. package/graphql/schema/cms/listEntriesResolver.js +5 -4
  571. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  572. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  573. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  574. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  575. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  576. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  577. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  578. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  579. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  580. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  581. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  582. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  583. package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
  584. package/graphql/schema/cms/resolvers/getModel.js +18 -0
  585. package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
  586. package/graphql/schema/cms/resolvers/index.d.ts +1 -0
  587. package/graphql/schema/cms/resolvers/index.js +1 -0
  588. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  589. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  590. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  591. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  592. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  593. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  594. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  595. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  596. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  597. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  598. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  599. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  600. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  601. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  602. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  603. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  604. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  605. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  606. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  607. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  608. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  609. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  610. package/graphql/schema/cms/typeDefs/query.js +2 -1
  611. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  612. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  613. package/graphql/schema/cms/typeDefs/responses.js +6 -1
  614. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  615. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  616. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  617. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  618. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  619. package/graphql/schema/contentEntries.js +43 -32
  620. package/graphql/schema/contentEntries.js.map +1 -1
  621. package/graphql/schema/contentModelGroups.js +39 -18
  622. package/graphql/schema/contentModelGroups.js.map +1 -1
  623. package/graphql/schema/contentModels.js +68 -16
  624. package/graphql/schema/contentModels.js.map +1 -1
  625. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  626. package/graphql/schema/createFieldResolvers.js.map +1 -1
  627. package/graphql/schema/createManageResolvers.js +4 -2
  628. package/graphql/schema/createManageResolvers.js.map +1 -1
  629. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  630. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  631. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  632. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  633. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  634. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  635. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  636. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  637. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  638. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  639. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  640. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  641. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  642. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  643. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  644. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  645. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  646. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  647. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  648. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  649. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  650. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  651. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  652. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  653. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  654. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  655. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  656. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  657. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  658. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  659. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  660. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  661. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  662. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  663. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  664. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  665. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  666. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  667. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  668. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  669. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  670. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  671. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  672. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  673. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  674. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  675. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  676. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  677. package/graphql/schema/schemaPlugins.d.ts +2 -1
  678. package/graphql/schema/schemaPlugins.js +2 -4
  679. package/graphql/schema/schemaPlugins.js.map +1 -1
  680. package/index.d.ts +7 -6
  681. package/index.js +4 -22
  682. package/legacy/abstractions.js.map +1 -1
  683. package/package.json +23 -29
  684. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  685. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  686. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  687. package/plugins/CmsModelPlugin.js +2 -1
  688. package/plugins/CmsModelPlugin.js.map +1 -1
  689. package/plugins/index.d.ts +0 -1
  690. package/plugins/index.js +0 -1
  691. package/types/fields/dynamicZoneField.d.ts +1 -0
  692. package/types/model.d.ts +6 -0
  693. package/types/modelField.d.ts +2 -0
  694. package/types/types.d.ts +10 -183
  695. package/types/types.js.map +1 -1
  696. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  697. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  698. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  699. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  700. package/utils/contentModelToJsonSchema/index.js +1 -0
  701. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  702. package/utils/contentModelToJsonSchema/types.js +0 -0
  703. package/utils/converters/ConverterCollection.d.ts +2 -2
  704. package/utils/converters/ConverterCollection.js +1 -3
  705. package/utils/converters/ConverterCollection.js.map +1 -1
  706. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  707. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  708. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  709. package/utils/converters/valueKeyStorageConverter.js +4 -2
  710. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  711. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  712. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  713. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  714. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  715. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  716. package/utils/index.d.ts +1 -0
  717. package/utils/index.js +1 -0
  718. package/utils/isHeadlessCmsReady.d.ts +1 -1
  719. package/utils/isHeadlessCmsReady.js +3 -2
  720. package/utils/isHeadlessCmsReady.js.map +1 -1
  721. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  722. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  723. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  724. package/abstractions/entryHooks/index.d.ts +0 -1
  725. package/abstractions/entryHooks/index.js +0 -1
  726. package/abstractions/index.d.ts +0 -1
  727. package/abstractions/index.js +0 -1
  728. package/context.d.ts +0 -3
  729. package/context.js +0 -131
  730. package/context.js.map +0 -1
  731. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  732. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  733. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  734. package/extensions/entryHooks/index.d.ts +0 -1
  735. package/extensions/entryHooks/index.js +0 -1
  736. package/extensions/index.d.ts +0 -5
  737. package/extensions/index.js +0 -7
  738. package/extensions/index.js.map +0 -1
  739. package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
  740. package/features/runtimeTenant/RuntimeTenant.js +0 -22
  741. package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
  742. package/features/runtimeTenant/abstractions.d.ts +0 -11
  743. package/features/runtimeTenant/abstractions.js +0 -5
  744. package/features/runtimeTenant/abstractions.js.map +0 -1
  745. package/features/runtimeTenant/index.d.ts +0 -2
  746. package/features/runtimeTenant/index.js +0 -2
  747. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  748. package/graphql/graphQLHandlerFactory.js +0 -22
  749. package/graphql/graphQLHandlerFactory.js.map +0 -1
  750. package/graphql/handleRequest.d.ts +0 -11
  751. package/graphql/handleRequest.js +0 -62
  752. package/graphql/handleRequest.js.map +0 -1
  753. package/graphql/index.d.ts +0 -4
  754. package/graphql/index.js +0 -11
  755. package/graphql/index.js.map +0 -1
  756. package/graphql/schema/cms/index.d.ts +0 -2
  757. package/graphql/schema/cms/index.js +0 -24
  758. package/graphql/schema/cms/index.js.map +0 -1
  759. package/index.js.map +0 -1
  760. package/parameters/context.d.ts +0 -2
  761. package/parameters/context.js +0 -7
  762. package/parameters/context.js.map +0 -1
  763. package/parameters/header.d.ts +0 -2
  764. package/parameters/header.js +0 -13
  765. package/parameters/header.js.map +0 -1
  766. package/parameters/index.d.ts +0 -3
  767. package/parameters/index.js +0 -3
  768. package/parameters/path.d.ts +0 -2
  769. package/parameters/path.js +0 -12
  770. package/parameters/path.js.map +0 -1
  771. package/plugins/CmsParametersPlugin.d.ts +0 -18
  772. package/plugins/CmsParametersPlugin.js +0 -16
  773. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ import type { IGraphQLContextualSchema } from "@webiny/api-graphql";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/abstractions.js";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
+ import type { IHeadlessCmsEndpointConfig } from "./HeadlessCmsEndpointConfig.js";
5
+ import type { GraphQLSchema } from "graphql";
6
+ declare class HeadlessCmsContextualSchemaImpl implements IGraphQLContextualSchema {
7
+ private tenantContext;
8
+ private identityContext;
9
+ private config;
10
+ constructor(tenantContext: TenantContext.Interface, identityContext: IdentityContext.Interface, config: IHeadlessCmsEndpointConfig);
11
+ build(ctx: Record<string, any>): Promise<GraphQLSchema>;
12
+ }
13
+ export declare const HeadlessCmsContextualSchema: typeof HeadlessCmsContextualSchemaImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<IGraphQLContextualSchema>;
15
+ };
16
+ export {};
@@ -0,0 +1,32 @@
1
+ import { GraphQLContextualSchema } from "@webiny/api-graphql";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/abstractions.js";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
+ import { getSchema } from "./graphql/getSchema.js";
5
+ import { HeadlessCmsEndpointConfig } from "./HeadlessCmsEndpointConfig.js";
6
+ class HeadlessCmsContextualSchemaImpl {
7
+ constructor(tenantContext, identityContext, config){
8
+ this.tenantContext = tenantContext;
9
+ this.identityContext = identityContext;
10
+ this.config = config;
11
+ }
12
+ async build(ctx) {
13
+ const cmsCtx = ctx;
14
+ const getTenant = ()=>this.tenantContext.getTenant();
15
+ return this.identityContext.withoutAuthorization(()=>getSchema({
16
+ context: cmsCtx,
17
+ getTenant,
18
+ type: this.config.type
19
+ }));
20
+ }
21
+ }
22
+ const HeadlessCmsContextualSchema = GraphQLContextualSchema.createImplementation({
23
+ implementation: HeadlessCmsContextualSchemaImpl,
24
+ dependencies: [
25
+ TenantContext,
26
+ IdentityContext,
27
+ HeadlessCmsEndpointConfig
28
+ ]
29
+ });
30
+ export { HeadlessCmsContextualSchema };
31
+
32
+ //# sourceMappingURL=HeadlessCmsContextualSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadlessCmsContextualSchema.js","sources":["../src/HeadlessCmsContextualSchema.ts"],"sourcesContent":["import { GraphQLContextualSchema } from \"@webiny/api-graphql\";\nimport type { IGraphQLContextualSchema } from \"@webiny/api-graphql\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { getSchema } from \"~/graphql/getSchema.js\";\nimport { HeadlessCmsEndpointConfig } from \"~/HeadlessCmsEndpointConfig.js\";\nimport type { IHeadlessCmsEndpointConfig } from \"~/HeadlessCmsEndpointConfig.js\";\nimport type { CmsContext } from \"~/types/index.js\";\nimport type { GraphQLSchema } from \"graphql\";\n\nclass HeadlessCmsContextualSchemaImpl implements IGraphQLContextualSchema {\n constructor(\n private tenantContext: TenantContext.Interface,\n private identityContext: IdentityContext.Interface,\n private config: IHeadlessCmsEndpointConfig\n ) {}\n\n async build(ctx: Record<string, any>): Promise<GraphQLSchema> {\n const cmsCtx = ctx as CmsContext;\n const getTenant = () => this.tenantContext.getTenant();\n\n return this.identityContext.withoutAuthorization(() => {\n return getSchema({ context: cmsCtx, getTenant, type: this.config.type });\n });\n }\n}\n\nexport const HeadlessCmsContextualSchema = GraphQLContextualSchema.createImplementation({\n implementation: HeadlessCmsContextualSchemaImpl,\n dependencies: [TenantContext, IdentityContext, HeadlessCmsEndpointConfig]\n});\n"],"names":["HeadlessCmsContextualSchemaImpl","tenantContext","identityContext","config","ctx","cmsCtx","getTenant","getSchema","HeadlessCmsContextualSchema","GraphQLContextualSchema","TenantContext","IdentityContext","HeadlessCmsEndpointConfig"],"mappings":";;;;;AAUA,MAAMA;IACF,YACYC,aAAsC,EACtCC,eAA0C,EAC1CC,MAAkC,CAC5C;aAHUF,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,MAAMC,GAAwB,EAA0B;QAC1D,MAAMC,SAASD;QACf,MAAME,YAAY,IAAM,IAAI,CAAC,aAAa,CAAC,SAAS;QAEpD,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IACtCC,UAAU;gBAAE,SAASF;gBAAQC;gBAAW,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI;YAAC;IAE9E;AACJ;AAEO,MAAME,8BAA8BC,wBAAwB,oBAAoB,CAAC;IACpF,gBAAgBT;IAChB,cAAc;QAACU;QAAeC;QAAiBC;KAA0B;AAC7E"}
@@ -0,0 +1,10 @@
1
+ import { Abstraction } from "@webiny/di";
2
+ import type { ApiEndpoint } from "./types/index.js";
3
+ /**
4
+ * The CMS endpoint type ("manage" | "read" | "preview") for the current handler, set in
5
+ * HeadlessCmsFeature.register() and read by the schema builders / contextual schema.
6
+ */
7
+ export interface IHeadlessCmsEndpointConfig {
8
+ type: ApiEndpoint;
9
+ }
10
+ export declare const HeadlessCmsEndpointConfig: Abstraction<IHeadlessCmsEndpointConfig>;
@@ -0,0 +1,5 @@
1
+ import { Abstraction } from "@webiny/di";
2
+ const HeadlessCmsEndpointConfig = new Abstraction("HeadlessCmsEndpointConfig");
3
+ export { HeadlessCmsEndpointConfig };
4
+
5
+ //# sourceMappingURL=HeadlessCmsEndpointConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadlessCmsEndpointConfig.js","sources":["../src/HeadlessCmsEndpointConfig.ts"],"sourcesContent":["import { Abstraction } from \"@webiny/di\";\nimport type { ApiEndpoint } from \"~/types/index.js\";\n\n/**\n * The CMS endpoint type (\"manage\" | \"read\" | \"preview\") for the current handler, set in\n * HeadlessCmsFeature.register() and read by the schema builders / contextual schema.\n */\nexport interface IHeadlessCmsEndpointConfig {\n type: ApiEndpoint;\n}\n\nexport const HeadlessCmsEndpointConfig = new Abstraction<IHeadlessCmsEndpointConfig>(\n \"HeadlessCmsEndpointConfig\"\n);\n"],"names":["HeadlessCmsEndpointConfig","Abstraction"],"mappings":";AAWO,MAAMA,4BAA4B,IAAIC,YACzC"}
@@ -0,0 +1,10 @@
1
+ import type { ApiEndpoint } from "./types/index.js";
2
+ export interface HeadlessCmsConfig {
3
+ type: ApiEndpoint;
4
+ /** Extra plugins (e.g. CmsGraphQLSchemaPlugin) to register in ctx.plugins at runtime. */
5
+ extraPlugins?: any[];
6
+ }
7
+ export declare const HeadlessCmsFeature: {
8
+ name: string;
9
+ register(container: import("@webiny/di").Container, context: HeadlessCmsConfig): void;
10
+ };
@@ -0,0 +1,195 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
3
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/abstractions.js";
4
+ import { HeadlessCmsEndpointConfig } from "./HeadlessCmsEndpointConfig.js";
5
+ import { createCmsRoute } from "./createCmsRoute.js";
6
+ import { createRequestBody, processRequestBody } from "@webiny/api-graphql";
7
+ import { BenchmarkAbstraction } from "@webiny/api";
8
+ import { Benchmark } from "@webiny/api/Benchmark.js";
9
+ import { PluginsContainer } from "@webiny/plugins";
10
+ import { CompressionFeature } from "@webiny/utils/features/compression/feature.js";
11
+ import { GraphQLFeature } from "./features/graphql/index.js";
12
+ import { ValidationFeature } from "./features/validation/index.js";
13
+ import { StorageFeature } from "./features/storage/index.js";
14
+ import { CmsInstallerFeature } from "./features/installer/feature.js";
15
+ import { ContentEntriesFeature } from "./features/contentEntry/ContentEntriesFeature.js";
16
+ import { ContentModelFeature } from "./features/contentModel/ContentModelFeature.js";
17
+ import { CmsAiToolsFeature } from "./features/ai/index.js";
18
+ import { ContentModelGroupFeature } from "./features/contentModelGroup/ContentModelGroupFeature.js";
19
+ import { ModelBuilderFeature } from "./features/modelBuilder/index.js";
20
+ import { CmsWhereMapperFeature } from "./features/whereMapper/feature.js";
21
+ import { CmsSortMapperFeature } from "./features/sortMapper/feature.js";
22
+ import { CmsWebhooksFeature } from "./features/webhooks/feature.js";
23
+ import { CmsBaseErrorTypeFactory } from "./graphql/schema/cms/CmsBaseErrorTypeFactory.js";
24
+ import { CmsSchemaExecutor } from "./graphql/CmsSchemaExecutor.js";
25
+ import { CmsMutationTypeDefsImpl, CmsQueryTypeDefsImpl, CmsResponseTypeDefsImpl } from "./graphql/schema/cms/typeDefs/index.js";
26
+ import { CreateEntryResolverImpl, DeleteEntryRevisionResolverImpl, GetEntryResolverImpl, GetModelResolverImpl, ListEntriesResolverImpl, MutationCmsResolverImpl, PublishEntryRevisionResolverImpl, QueryCmsResolverImpl, UnpublishEntryRevisionResolverImpl, UpdateEntryRevisionResolverImpl } from "./graphql/schema/cms/resolvers/index.js";
27
+ import { AccessControl } from "./crud/AccessControl/AccessControl.js";
28
+ import { createModelGroupsCrud } from "./crud/contentModelGroup.crud.js";
29
+ import { createModelsCrud } from "./crud/contentModel.crud.js";
30
+ import { createContentEntryCrud } from "./crud/contentEntry.crud.js";
31
+ import { CmsGraphQLSchemaPlugin, CmsGroupPlugin, CmsModelPlugin, StorageOperationsCmsModelPlugin } from "./plugins/index.js";
32
+ import { createCmsModelFieldConvertersAttachFactory } from "./utils/converters/valueKeyStorageConverter.js";
33
+ import { registerFieldConverters } from "./fieldConverters/abstractions.js";
34
+ import { CmsModelPluginInstance } from "./features/contentModel/shared/abstractions.js";
35
+ import { CmsGroupPluginInstance } from "./features/contentModelGroup/shared/abstractions.js";
36
+ import { createExportCrud } from "./export/index.js";
37
+ import { createImportCrud } from "./export/crud/importing.js";
38
+ import { getSchema } from "./graphql/getSchema.js";
39
+ import { createBaseSchemaPlugins } from "./graphql/schema/baseSchema.js";
40
+ import { exportPlugin } from "./export/graphql/index.js";
41
+ import { CoreGraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
42
+ import { CmsGraphQLSchemaFactory } from "./graphql/CmsGraphQLSchemaFactory.js";
43
+ import { CmsExport, CmsImport } from "./export/abstractions.js";
44
+ import { ListGroupsUseCase } from "./features/contentModelGroup/ListGroups/index.js";
45
+ import { RevisionIdScalar } from "./graphql/scalars/RevisionId.js";
46
+ import { AccessControl as abstractions_js_AccessControl, CmsContext, CmsStorageModelProvider, HeadlessCms } from "./features/shared/abstractions.js";
47
+ import { EntryFromStorageTransform, EntryToStorageTransform, PluginsContainer as abstractions_js_PluginsContainer, SearchableFieldsProvider } from "./legacy/abstractions.js";
48
+ import { entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage.js";
49
+ import { getSearchableFields } from "./crud/contentEntry/searchableFields.js";
50
+ const HeadlessCmsFeature = createFeature({
51
+ name: "HeadlessCms",
52
+ register (container, config) {
53
+ const { type } = config;
54
+ container.register(CmsBaseErrorTypeFactory);
55
+ container.register(CmsResponseTypeDefsImpl);
56
+ container.register(CmsQueryTypeDefsImpl);
57
+ container.register(CmsMutationTypeDefsImpl);
58
+ container.register(QueryCmsResolverImpl);
59
+ container.register(MutationCmsResolverImpl);
60
+ container.register(GetModelResolverImpl);
61
+ container.register(GetEntryResolverImpl);
62
+ container.register(ListEntriesResolverImpl);
63
+ container.register(CreateEntryResolverImpl);
64
+ container.register(UpdateEntryRevisionResolverImpl);
65
+ container.register(DeleteEntryRevisionResolverImpl);
66
+ container.register(PublishEntryRevisionResolverImpl);
67
+ container.register(UnpublishEntryRevisionResolverImpl);
68
+ container.registerInstance(HeadlessCmsEndpointConfig, {
69
+ type: config.type
70
+ });
71
+ CompressionFeature.register(container);
72
+ GraphQLFeature.register(container);
73
+ ValidationFeature.register(container);
74
+ StorageFeature.register(container);
75
+ CmsInstallerFeature.register(container);
76
+ ContentEntriesFeature.register(container);
77
+ ContentModelFeature.register(container);
78
+ CmsAiToolsFeature.register(container);
79
+ ContentModelGroupFeature.register(container);
80
+ ModelBuilderFeature.register(container);
81
+ CmsWhereMapperFeature.register(container);
82
+ CmsSortMapperFeature.register(container);
83
+ CmsWebhooksFeature.register(container);
84
+ registerFieldConverters(container);
85
+ const pluginsContainer = new PluginsContainer([
86
+ ...config.extraPlugins ?? []
87
+ ]);
88
+ container.registerInstance(abstractions_js_PluginsContainer, pluginsContainer);
89
+ for (const plugin of pluginsContainer.byType(CmsModelPlugin.type))container.registerInstance(CmsModelPluginInstance, plugin);
90
+ for (const plugin of pluginsContainer.byType(CmsGroupPlugin.type))container.registerInstance(CmsGroupPluginInstance, plugin);
91
+ const userSchemaPlugins = pluginsContainer.byType(CmsGraphQLSchemaPlugin.type);
92
+ if (userSchemaPlugins.length > 0) container.registerInstance(CmsGraphQLSchemaFactory, {
93
+ execute: ()=>userSchemaPlugins
94
+ });
95
+ for (const plugin of config.extraPlugins ?? [])if (plugin && "function" == typeof plugin.apply) plugin.apply({
96
+ container
97
+ });
98
+ const benchmark = new Benchmark();
99
+ container.registerInstance(BenchmarkAbstraction, benchmark);
100
+ const cmsContext = {
101
+ container,
102
+ plugins: pluginsContainer,
103
+ benchmark
104
+ };
105
+ container.registerInstance(CmsContext, cmsContext);
106
+ container.registerInstance(CoreGraphQLSchemaFactory, {
107
+ execute: async (builder)=>{
108
+ builder.addTypeDefs("scalar RevisionId");
109
+ builder.addLegacyResolvers({
110
+ RevisionId: RevisionIdScalar
111
+ });
112
+ return builder;
113
+ }
114
+ });
115
+ container.registerInstance(CmsStorageModelProvider, new StorageOperationsCmsModelPlugin(createCmsModelFieldConvertersAttachFactory(cmsContext)));
116
+ const identityContext = container.resolve(IdentityContext);
117
+ const tenantContext = container.resolve(TenantContext);
118
+ const getTenant = ()=>tenantContext.getTenant();
119
+ let accessControlInstance;
120
+ const getAccessControl = ()=>{
121
+ if (!accessControlInstance) accessControlInstance = new AccessControl({
122
+ getIdentity: async ()=>identityContext.getIdentity(),
123
+ getGroupsPermissions: ()=>identityContext.getPermissions("cms.contentModelGroup"),
124
+ getModelsPermissions: ()=>identityContext.getPermissions("cms.contentModel"),
125
+ getEntriesPermissions: ()=>identityContext.getPermissions("cms.contentEntry"),
126
+ listAllGroups: async ()=>{
127
+ const result = await identityContext.withoutAuthorization(()=>container.resolve(ListGroupsUseCase).execute());
128
+ if (result.isFail()) throw result.error;
129
+ return result.value;
130
+ }
131
+ });
132
+ return accessControlInstance;
133
+ };
134
+ container.registerFactory(abstractions_js_AccessControl, ()=>getAccessControl());
135
+ let cmsFacade;
136
+ container.registerFactory(HeadlessCms, ()=>{
137
+ if (!cmsFacade) cmsFacade = {
138
+ type,
139
+ READ: "read" === type,
140
+ PREVIEW: "preview" === type,
141
+ MANAGE: "manage" === type,
142
+ accessControl: getAccessControl(),
143
+ ...createModelGroupsCrud({
144
+ context: cmsContext
145
+ }),
146
+ ...createModelsCrud({
147
+ context: cmsContext
148
+ }),
149
+ ...createContentEntryCrud({
150
+ context: cmsContext
151
+ }),
152
+ export: {
153
+ ...createExportCrud(cmsContext)
154
+ },
155
+ importing: {
156
+ ...createImportCrud(cmsContext)
157
+ }
158
+ };
159
+ return cmsFacade;
160
+ });
161
+ container.registerFactory(CmsExport, ()=>container.resolve(HeadlessCms).export);
162
+ container.registerFactory(CmsImport, ()=>container.resolve(HeadlessCms).importing);
163
+ container.registerInstance(CmsSchemaExecutor, {
164
+ execute: async (schemaType, body)=>{
165
+ const bm = container.resolve(BenchmarkAbstraction);
166
+ const schema = await bm.measure("headlessCms.graphql.getSchema", ()=>identityContext.withoutAuthorization(()=>getSchema({
167
+ context: cmsContext,
168
+ getTenant,
169
+ type: schemaType
170
+ })));
171
+ const requestBody = await bm.measure("headlessCms.graphql.createRequestBody", async ()=>createRequestBody(body));
172
+ return bm.measure("headlessCms.graphql.processRequestBody", ()=>processRequestBody(requestBody, schema, cmsContext));
173
+ }
174
+ });
175
+ container.registerInstance(CmsGraphQLSchemaFactory, {
176
+ execute: ()=>createBaseSchemaPlugins(cmsContext)
177
+ });
178
+ if ("manage" === type) container.registerInstance(CmsGraphQLSchemaFactory, {
179
+ execute: ()=>[
180
+ exportPlugin
181
+ ]
182
+ });
183
+ container.registerInstance(EntryToStorageTransform, (model, entry)=>entryToStorageTransform(cmsContext, model, entry));
184
+ container.registerInstance(EntryFromStorageTransform, (model, entry)=>entryFromStorageTransform(cmsContext, model, entry));
185
+ container.registerInstance(SearchableFieldsProvider, (params)=>getSearchableFields({
186
+ context: cmsContext,
187
+ fields: params.fields,
188
+ input: []
189
+ }));
190
+ container.register(createCmsRoute(config.type));
191
+ }
192
+ });
193
+ export { HeadlessCmsFeature };
194
+
195
+ //# sourceMappingURL=HeadlessCmsFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadlessCmsFeature.js","sources":["../src/HeadlessCmsFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/abstractions.js\";\nimport { HeadlessCmsEndpointConfig } from \"./HeadlessCmsEndpointConfig.js\";\nimport { createCmsRoute } from \"./createCmsRoute.js\";\nimport { createRequestBody, processRequestBody } from \"@webiny/api-graphql\";\nimport { BenchmarkAbstraction } from \"@webiny/api\";\nimport { Benchmark } from \"@webiny/api/Benchmark.js\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CompressionFeature } from \"@webiny/utils/features/compression/feature.js\";\nimport { GraphQLFeature } from \"~/features/graphql/index.js\";\nimport { ValidationFeature } from \"~/features/validation/index.js\";\nimport { StorageFeature } from \"~/features/storage/index.js\";\nimport { CmsInstallerFeature } from \"~/features/installer/feature.js\";\nimport { ContentEntriesFeature } from \"~/features/contentEntry/ContentEntriesFeature.js\";\nimport { ContentModelFeature } from \"~/features/contentModel/ContentModelFeature.js\";\nimport { CmsAiToolsFeature } from \"~/features/ai/index.js\";\nimport { ContentModelGroupFeature } from \"~/features/contentModelGroup/ContentModelGroupFeature.js\";\nimport { ModelBuilderFeature } from \"~/features/modelBuilder/index.js\";\nimport { CmsWhereMapperFeature } from \"~/features/whereMapper/feature.js\";\nimport { CmsSortMapperFeature } from \"~/features/sortMapper/feature.js\";\nimport { CmsWebhooksFeature } from \"~/features/webhooks/feature.js\";\nimport type { ApiEndpoint, CmsContext } from \"~/types/index.js\";\nimport { CmsBaseErrorTypeFactory } from \"~/graphql/schema/cms/CmsBaseErrorTypeFactory.js\";\nimport { CmsSchemaExecutor } from \"~/graphql/CmsSchemaExecutor.js\";\nimport {\n CmsResponseTypeDefsImpl,\n CmsQueryTypeDefsImpl,\n CmsMutationTypeDefsImpl\n} from \"~/graphql/schema/cms/typeDefs/index.js\";\nimport {\n QueryCmsResolverImpl,\n MutationCmsResolverImpl,\n GetModelResolverImpl,\n GetEntryResolverImpl,\n ListEntriesResolverImpl,\n CreateEntryResolverImpl,\n UpdateEntryRevisionResolverImpl,\n DeleteEntryRevisionResolverImpl,\n PublishEntryRevisionResolverImpl,\n UnpublishEntryRevisionResolverImpl\n} from \"~/graphql/schema/cms/resolvers/index.js\";\n// Facade wiring (moved here from HeadlessCmsInitializer so the facade can be a lazy DI factory).\nimport { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { createModelGroupsCrud } from \"~/crud/contentModelGroup.crud.js\";\nimport { createModelsCrud } from \"~/crud/contentModel.crud.js\";\nimport { createContentEntryCrud } from \"~/crud/contentEntry.crud.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport {\n CmsGraphQLSchemaPlugin,\n CmsGroupPlugin,\n CmsModelPlugin,\n StorageOperationsCmsModelPlugin\n} from \"~/plugins/index.js\";\nimport { createCmsModelFieldConvertersAttachFactory } from \"~/utils/converters/valueKeyStorageConverter.js\";\nimport { registerFieldConverters } from \"~/fieldConverters/abstractions.js\";\nimport { CmsModelPluginInstance } from \"~/features/contentModel/shared/abstractions.js\";\nimport { CmsGroupPluginInstance } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { createExportCrud } from \"~/export/index.js\";\nimport { createImportCrud } from \"~/export/crud/importing.js\";\nimport { getSchema } from \"~/graphql/getSchema.js\";\nimport { createBaseSchemaPlugins } from \"~/graphql/schema/baseSchema.js\";\nimport { exportPlugin } from \"~/export/graphql/index.js\";\nimport { CoreGraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { CmsGraphQLSchemaFactory } from \"~/graphql/CmsGraphQLSchemaFactory.js\";\nimport { CmsExport, CmsImport } from \"~/export/abstractions.js\";\nimport { ListGroupsUseCase } from \"~/features/contentModelGroup/ListGroups/index.js\";\nimport { RevisionIdScalar } from \"~/graphql/scalars/RevisionId.js\";\nimport {\n AccessControl as AccessControlAbstraction,\n CmsContext as CmsContextAbstraction,\n CmsStorageModelProvider,\n HeadlessCms\n} from \"~/features/shared/abstractions.js\";\n\nimport {\n EntryFromStorageTransform,\n EntryToStorageTransform,\n PluginsContainer as PluginsContainerAbstraction,\n SearchableFieldsProvider\n} from \"~/legacy/abstractions.js\";\nimport { entryFromStorageTransform, entryToStorageTransform } from \"~/utils/entryStorage.js\";\nimport { getSearchableFields } from \"~/crud/contentEntry/searchableFields.js\";\n\nexport interface HeadlessCmsConfig {\n type: ApiEndpoint;\n /** Extra plugins (e.g. CmsGraphQLSchemaPlugin) to register in ctx.plugins at runtime. */\n extraPlugins?: any[];\n}\n\nexport const HeadlessCmsFeature = createFeature<HeadlessCmsConfig>({\n name: \"HeadlessCms\",\n register(container, config) {\n const { type } = config;\n\n // Pre-register the CMS SDK namespace schema (Query.cms / Mutation.cms) so it is\n // available when GraphQLSchemaComposer is constructed (before context enhancement).\n // All these implementations have zero DI dependencies and are safe to register early.\n container.register(CmsBaseErrorTypeFactory); // CmsError must come first\n container.register(CmsResponseTypeDefsImpl);\n container.register(CmsQueryTypeDefsImpl);\n container.register(CmsMutationTypeDefsImpl);\n container.register(QueryCmsResolverImpl);\n container.register(MutationCmsResolverImpl);\n container.register(GetModelResolverImpl);\n container.register(GetEntryResolverImpl);\n container.register(ListEntriesResolverImpl);\n container.register(CreateEntryResolverImpl);\n container.register(UpdateEntryRevisionResolverImpl);\n container.register(DeleteEntryRevisionResolverImpl);\n container.register(PublishEntryRevisionResolverImpl);\n container.register(UnpublishEntryRevisionResolverImpl);\n\n container.registerInstance(HeadlessCmsEndpointConfig, {\n type: config.type\n });\n\n // Register CMS DI features statically so they are available before any enhancers run.\n // All these are pure class registrations (no eager instantiation) so they are safe\n // to register here before any request-time context is available.\n CompressionFeature.register(container);\n GraphQLFeature.register(container);\n ValidationFeature.register(container);\n StorageFeature.register(container);\n CmsInstallerFeature.register(container);\n ContentEntriesFeature.register(container);\n ContentModelFeature.register(container);\n CmsAiToolsFeature.register(container);\n ContentModelGroupFeature.register(container);\n ModelBuilderFeature.register(container);\n CmsWhereMapperFeature.register(container);\n CmsSortMapperFeature.register(container);\n CmsWebhooksFeature.register(container);\n\n // ============================================================================\n // Synchronous per-request wiring (moved out of HeadlessCmsInitializer.init).\n // register() runs per request, pre-auth — correct for pure wiring and closures.\n // ============================================================================\n\n // Field value converters are resolved from the DI container.\n registerFieldConverters(container);\n\n // PluginsContainer still carries legacy extension plugins (e.g. CmsGraphQLSchemaPlugin)\n // until those remaining consumers are migrated to DI.\n const pluginsContainer = new PluginsContainer([...(config.extraPlugins ?? [])]);\n container.registerInstance(PluginsContainerAbstraction, pluginsContainer);\n\n // Code-defined model/group plugins are exposed via DI tokens so the\n // Plugin{Models,Groups}Provider can resolve them without the plugins container.\n for (const plugin of pluginsContainer.byType<CmsModelPlugin>(CmsModelPlugin.type)) {\n container.registerInstance(CmsModelPluginInstance, plugin);\n }\n for (const plugin of pluginsContainer.byType<CmsGroupPlugin>(CmsGroupPlugin.type)) {\n container.registerInstance(CmsGroupPluginInstance, plugin);\n }\n\n // User-provided GraphQL schema extension plugins (added via extraPlugins) are bridged\n // to the CmsGraphQLSchemaFactory DI token so generateSchema includes them.\n const userSchemaPlugins = pluginsContainer.byType<ICmsGraphQLSchemaPlugin>(\n CmsGraphQLSchemaPlugin.type\n );\n if (userSchemaPlugins.length > 0) {\n container.registerInstance(CmsGraphQLSchemaFactory, {\n execute: () => userSchemaPlugins\n });\n }\n\n // RegisterExtensionPlugins supplied via extraPlugins (test infra) only do DI registration\n // via their apply(). Apply them here at register() time — matching the app's registerExtensions\n // and the storage presets above — so code-defined models are present before per-request model\n // listing runs.\n for (const plugin of config.extraPlugins ?? []) {\n if (plugin && typeof (plugin as any).apply === \"function\") {\n (plugin as any).apply({ container });\n }\n }\n\n const benchmark = new Benchmark();\n container.registerInstance(BenchmarkAbstraction, benchmark);\n\n // The CmsContext \"shim\": the request-scoped context object the facade builders, transforms\n // and getSchema operate on. They only read `.container` (+ plugins/benchmark), so this is\n // all they need — there is no legacy bag.\n const cmsContext = {\n container,\n plugins: pluginsContainer,\n benchmark\n } as unknown as CmsContext;\n container.registerInstance(CmsContextAbstraction, cmsContext);\n\n container.registerInstance(CoreGraphQLSchemaFactory, {\n execute: async builder => {\n builder.addTypeDefs(\"scalar RevisionId\");\n builder.addLegacyResolvers({ RevisionId: RevisionIdScalar });\n return builder;\n }\n });\n\n container.registerInstance(\n CmsStorageModelProvider,\n new StorageOperationsCmsModelPlugin(\n createCmsModelFieldConvertersAttachFactory(cmsContext)\n )\n );\n\n // Entry storage operations are registered by each adapter's feature at app-scope.\n // HeadlessCmsFeature no longer manages entry storage registration.\n\n const identityContext = container.resolve(IdentityContext);\n const tenantContext = container.resolve(TenantContext);\n const getTenant = () => tenantContext.getTenant();\n\n // AccessControl is identity-dependent; build it lazily and memoise per request container.\n let accessControlInstance: AccessControl | undefined;\n const getAccessControl = (): AccessControl => {\n if (!accessControlInstance) {\n accessControlInstance = new AccessControl({\n getIdentity: async () => identityContext.getIdentity(),\n getGroupsPermissions: () =>\n identityContext.getPermissions(\"cms.contentModelGroup\"),\n getModelsPermissions: () => identityContext.getPermissions(\"cms.contentModel\"),\n getEntriesPermissions: () => identityContext.getPermissions(\"cms.contentEntry\"),\n listAllGroups: async () => {\n const result = await identityContext.withoutAuthorization(() =>\n container.resolve(ListGroupsUseCase).execute()\n );\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n }\n });\n }\n return accessControlInstance;\n };\n container.registerFactory(AccessControlAbstraction, () => getAccessControl());\n\n // The HeadlessCms facade — a LAZY factory built on first resolve (post-auth), memoised per\n // request container.\n let cmsFacade: HeadlessCms.Interface | undefined;\n container.registerFactory(HeadlessCms, () => {\n if (!cmsFacade) {\n cmsFacade = {\n type,\n READ: type === \"read\",\n PREVIEW: type === \"preview\",\n MANAGE: type === \"manage\",\n accessControl: getAccessControl(),\n ...createModelGroupsCrud({ context: cmsContext }),\n ...createModelsCrud({ context: cmsContext }),\n ...createContentEntryCrud({ context: cmsContext }),\n export: { ...createExportCrud(cmsContext) },\n importing: { ...createImportCrud(cmsContext) }\n } as HeadlessCms.Interface;\n }\n return cmsFacade;\n });\n container.registerFactory(CmsExport, () => container.resolve(HeadlessCms).export);\n container.registerFactory(CmsImport, () => container.resolve(HeadlessCms).importing);\n\n // Register CmsSchemaExecutor so proxy resolvers can build and execute the CMS sub-schema.\n container.registerInstance(CmsSchemaExecutor, {\n execute: async (schemaType: ApiEndpoint, body: any) => {\n const bm = container.resolve(BenchmarkAbstraction);\n const schema = await bm.measure(\"headlessCms.graphql.getSchema\", () =>\n identityContext.withoutAuthorization(() =>\n getSchema({ context: cmsContext, getTenant, type: schemaType })\n )\n );\n const requestBody = await bm.measure(\n \"headlessCms.graphql.createRequestBody\",\n async () => createRequestBody(body)\n );\n return bm.measure(\"headlessCms.graphql.processRequestBody\", () =>\n processRequestBody(requestBody, schema, cmsContext)\n );\n }\n });\n\n // Register CMS sub-schema factories: base types (CmsError, CmsIdentity, etc.)\n // and, for manage endpoints, the import/export operations.\n container.registerInstance(CmsGraphQLSchemaFactory, {\n execute: () => createBaseSchemaPlugins(cmsContext)\n });\n if (type === \"manage\") {\n container.registerInstance(CmsGraphQLSchemaFactory, {\n execute: () => [exportPlugin]\n });\n }\n\n container.registerInstance(EntryToStorageTransform, (model, entry) => {\n return entryToStorageTransform(cmsContext, model, entry);\n });\n container.registerInstance(EntryFromStorageTransform, (model, entry) => {\n return entryFromStorageTransform(cmsContext, model, entry);\n });\n container.registerInstance(SearchableFieldsProvider, params => {\n return getSearchableFields({\n context: cmsContext,\n fields: params.fields,\n input: []\n });\n });\n\n container.register(createCmsRoute(config.type));\n }\n});\n"],"names":["HeadlessCmsFeature","createFeature","container","config","type","CmsBaseErrorTypeFactory","CmsResponseTypeDefsImpl","CmsQueryTypeDefsImpl","CmsMutationTypeDefsImpl","QueryCmsResolverImpl","MutationCmsResolverImpl","GetModelResolverImpl","GetEntryResolverImpl","ListEntriesResolverImpl","CreateEntryResolverImpl","UpdateEntryRevisionResolverImpl","DeleteEntryRevisionResolverImpl","PublishEntryRevisionResolverImpl","UnpublishEntryRevisionResolverImpl","HeadlessCmsEndpointConfig","CompressionFeature","GraphQLFeature","ValidationFeature","StorageFeature","CmsInstallerFeature","ContentEntriesFeature","ContentModelFeature","CmsAiToolsFeature","ContentModelGroupFeature","ModelBuilderFeature","CmsWhereMapperFeature","CmsSortMapperFeature","CmsWebhooksFeature","registerFieldConverters","pluginsContainer","PluginsContainer","PluginsContainerAbstraction","plugin","CmsModelPlugin","CmsModelPluginInstance","CmsGroupPlugin","CmsGroupPluginInstance","userSchemaPlugins","CmsGraphQLSchemaPlugin","CmsGraphQLSchemaFactory","benchmark","Benchmark","BenchmarkAbstraction","cmsContext","CmsContextAbstraction","CoreGraphQLSchemaFactory","builder","RevisionIdScalar","CmsStorageModelProvider","StorageOperationsCmsModelPlugin","createCmsModelFieldConvertersAttachFactory","identityContext","IdentityContext","tenantContext","TenantContext","getTenant","accessControlInstance","getAccessControl","AccessControl","result","ListGroupsUseCase","AccessControlAbstraction","cmsFacade","HeadlessCms","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","createExportCrud","createImportCrud","CmsExport","CmsImport","CmsSchemaExecutor","schemaType","body","bm","schema","getSchema","requestBody","createRequestBody","processRequestBody","createBaseSchemaPlugins","exportPlugin","EntryToStorageTransform","model","entry","entryToStorageTransform","EntryFromStorageTransform","entryFromStorageTransform","SearchableFieldsProvider","params","getSearchableFields","createCmsRoute"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FO,MAAMA,qBAAqBC,cAAiC;IAC/D,MAAM;IACN,UAASC,SAAS,EAAEC,MAAM;QACtB,MAAM,EAAEC,IAAI,EAAE,GAAGD;QAKjBD,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QACnBP,UAAU,QAAQ,CAACQ;QACnBR,UAAU,QAAQ,CAACS;QACnBT,UAAU,QAAQ,CAACU;QACnBV,UAAU,QAAQ,CAACW;QACnBX,UAAU,QAAQ,CAACY;QACnBZ,UAAU,QAAQ,CAACa;QACnBb,UAAU,QAAQ,CAACc;QACnBd,UAAU,QAAQ,CAACe;QACnBf,UAAU,QAAQ,CAACgB;QAEnBhB,UAAU,gBAAgB,CAACiB,2BAA2B;YAClD,MAAMhB,OAAO,IAAI;QACrB;QAKAiB,mBAAmB,QAAQ,CAAClB;QAC5BmB,eAAe,QAAQ,CAACnB;QACxBoB,kBAAkB,QAAQ,CAACpB;QAC3BqB,eAAe,QAAQ,CAACrB;QACxBsB,oBAAoB,QAAQ,CAACtB;QAC7BuB,sBAAsB,QAAQ,CAACvB;QAC/BwB,oBAAoB,QAAQ,CAACxB;QAC7ByB,kBAAkB,QAAQ,CAACzB;QAC3B0B,yBAAyB,QAAQ,CAAC1B;QAClC2B,oBAAoB,QAAQ,CAAC3B;QAC7B4B,sBAAsB,QAAQ,CAAC5B;QAC/B6B,qBAAqB,QAAQ,CAAC7B;QAC9B8B,mBAAmB,QAAQ,CAAC9B;QAQ5B+B,wBAAwB/B;QAIxB,MAAMgC,mBAAmB,IAAIC,iBAAiB;eAAKhC,OAAO,YAAY,IAAI,EAAE;SAAE;QAC9ED,UAAU,gBAAgB,CAACkC,kCAA6BF;QAIxD,KAAK,MAAMG,UAAUH,iBAAiB,MAAM,CAAiBI,eAAe,IAAI,EAC5EpC,UAAU,gBAAgB,CAACqC,wBAAwBF;QAEvD,KAAK,MAAMA,UAAUH,iBAAiB,MAAM,CAAiBM,eAAe,IAAI,EAC5EtC,UAAU,gBAAgB,CAACuC,wBAAwBJ;QAKvD,MAAMK,oBAAoBR,iBAAiB,MAAM,CAC7CS,uBAAuB,IAAI;QAE/B,IAAID,kBAAkB,MAAM,GAAG,GAC3BxC,UAAU,gBAAgB,CAAC0C,yBAAyB;YAChD,SAAS,IAAMF;QACnB;QAOJ,KAAK,MAAML,UAAUlC,OAAO,YAAY,IAAI,EAAE,CAC1C,IAAIkC,UAAU,AAAiC,cAAjC,OAAQA,OAAe,KAAK,EACrCA,OAAe,KAAK,CAAC;YAAEnC;QAAU;QAI1C,MAAM2C,YAAY,IAAIC;QACtB5C,UAAU,gBAAgB,CAAC6C,sBAAsBF;QAKjD,MAAMG,aAAa;YACf9C;YACA,SAASgC;YACTW;QACJ;QACA3C,UAAU,gBAAgB,CAAC+C,YAAuBD;QAElD9C,UAAU,gBAAgB,CAACgD,0BAA0B;YACjD,SAAS,OAAMC;gBACXA,QAAQ,WAAW,CAAC;gBACpBA,QAAQ,kBAAkB,CAAC;oBAAE,YAAYC;gBAAiB;gBAC1D,OAAOD;YACX;QACJ;QAEAjD,UAAU,gBAAgB,CACtBmD,yBACA,IAAIC,gCACAC,2CAA2CP;QAOnD,MAAMQ,kBAAkBtD,UAAU,OAAO,CAACuD;QAC1C,MAAMC,gBAAgBxD,UAAU,OAAO,CAACyD;QACxC,MAAMC,YAAY,IAAMF,cAAc,SAAS;QAG/C,IAAIG;QACJ,MAAMC,mBAAmB;YACrB,IAAI,CAACD,uBACDA,wBAAwB,IAAIE,cAAc;gBACtC,aAAa,UAAYP,gBAAgB,WAAW;gBACpD,sBAAsB,IAClBA,gBAAgB,cAAc,CAAC;gBACnC,sBAAsB,IAAMA,gBAAgB,cAAc,CAAC;gBAC3D,uBAAuB,IAAMA,gBAAgB,cAAc,CAAC;gBAC5D,eAAe;oBACX,MAAMQ,SAAS,MAAMR,gBAAgB,oBAAoB,CAAC,IACtDtD,UAAU,OAAO,CAAC+D,mBAAmB,OAAO;oBAEhD,IAAID,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;oBAEtB,OAAOA,OAAO,KAAK;gBACvB;YACJ;YAEJ,OAAOH;QACX;QACA3D,UAAU,eAAe,CAACgE,+BAA0B,IAAMJ;QAI1D,IAAIK;QACJjE,UAAU,eAAe,CAACkE,aAAa;YACnC,IAAI,CAACD,WACDA,YAAY;gBACR/D;gBACA,MAAMA,AAAS,WAATA;gBACN,SAASA,AAAS,cAATA;gBACT,QAAQA,AAAS,aAATA;gBACR,eAAe0D;gBACf,GAAGO,sBAAsB;oBAAE,SAASrB;gBAAW,EAAE;gBACjD,GAAGsB,iBAAiB;oBAAE,SAAStB;gBAAW,EAAE;gBAC5C,GAAGuB,uBAAuB;oBAAE,SAASvB;gBAAW,EAAE;gBAClD,QAAQ;oBAAE,GAAGwB,iBAAiBxB,WAAW;gBAAC;gBAC1C,WAAW;oBAAE,GAAGyB,iBAAiBzB,WAAW;gBAAC;YACjD;YAEJ,OAAOmB;QACX;QACAjE,UAAU,eAAe,CAACwE,WAAW,IAAMxE,UAAU,OAAO,CAACkE,aAAa,MAAM;QAChFlE,UAAU,eAAe,CAACyE,WAAW,IAAMzE,UAAU,OAAO,CAACkE,aAAa,SAAS;QAGnFlE,UAAU,gBAAgB,CAAC0E,mBAAmB;YAC1C,SAAS,OAAOC,YAAyBC;gBACrC,MAAMC,KAAK7E,UAAU,OAAO,CAAC6C;gBAC7B,MAAMiC,SAAS,MAAMD,GAAG,OAAO,CAAC,iCAAiC,IAC7DvB,gBAAgB,oBAAoB,CAAC,IACjCyB,UAAU;4BAAE,SAASjC;4BAAYY;4BAAW,MAAMiB;wBAAW;gBAGrE,MAAMK,cAAc,MAAMH,GAAG,OAAO,CAChC,yCACA,UAAYI,kBAAkBL;gBAElC,OAAOC,GAAG,OAAO,CAAC,0CAA0C,IACxDK,mBAAmBF,aAAaF,QAAQhC;YAEhD;QACJ;QAIA9C,UAAU,gBAAgB,CAAC0C,yBAAyB;YAChD,SAAS,IAAMyC,wBAAwBrC;QAC3C;QACA,IAAI5C,AAAS,aAATA,MACAF,UAAU,gBAAgB,CAAC0C,yBAAyB;YAChD,SAAS,IAAM;oBAAC0C;iBAAa;QACjC;QAGJpF,UAAU,gBAAgB,CAACqF,yBAAyB,CAACC,OAAOC,QACjDC,wBAAwB1C,YAAYwC,OAAOC;QAEtDvF,UAAU,gBAAgB,CAACyF,2BAA2B,CAACH,OAAOC,QACnDG,0BAA0B5C,YAAYwC,OAAOC;QAExDvF,UAAU,gBAAgB,CAAC2F,0BAA0BC,CAAAA,SAC1CC,oBAAoB;gBACvB,SAAS/C;gBACT,QAAQ8C,OAAO,MAAM;gBACrB,OAAO,EAAE;YACb;QAGJ5F,UAAU,QAAQ,CAAC8F,eAAe7F,OAAO,IAAI;IACjD;AACJ"}
@@ -0,0 +1,26 @@
1
+ import type { Container } from "@webiny/di";
2
+ import type { IHttpRequest, IHttpResponse } from "@webiny/event-handler-core";
3
+ import type { IGraphQLContextualSchema } from "@webiny/api-graphql";
4
+ import type { ApiEndpoint } from "./types/index.js";
5
+ /**
6
+ * The HTTP route for a CMS GraphQL endpoint (manage/read/preview). Per request it runs the
7
+ * contextual schemas, then executes the CMS sub-schema via CmsSchemaExecutor.
8
+ */
9
+ export declare function createCmsRoute(type: ApiEndpoint): {
10
+ new (): {
11
+ readonly name: string;
12
+ readonly method: "POST";
13
+ readonly path: string;
14
+ readonly handler: {
15
+ new (container: Container, contextualSchemas: IGraphQLContextualSchema[]): {
16
+ container: Container;
17
+ contextualSchemas: IGraphQLContextualSchema[];
18
+ handle(request: IHttpRequest): Promise<IHttpResponse>;
19
+ };
20
+ } & {
21
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/event-handler-core").IHttpRoute>;
22
+ };
23
+ };
24
+ } & {
25
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/event-handler-core").IHttpRouteDefinition>;
26
+ };
@@ -0,0 +1,59 @@
1
+ import { HttpRouteDefinition, HttpRouteHandler, RequestContainer } from "@webiny/event-handler-core";
2
+ import { GraphQLContextualSchema } from "@webiny/api-graphql";
3
+ import { BenchmarkAbstraction } from "@webiny/api";
4
+ import { CmsSchemaExecutor } from "./graphql/CmsSchemaExecutor.js";
5
+ const CMS_PATHS = {
6
+ manage: "/cms/manage",
7
+ read: "/cms/read",
8
+ preview: "/cms/preview"
9
+ };
10
+ function createCmsRoute(type) {
11
+ class CmsGraphQLRoute {
12
+ constructor(container, contextualSchemas){
13
+ this.container = container;
14
+ this.contextualSchemas = contextualSchemas;
15
+ }
16
+ async handle(request) {
17
+ const ctx = {
18
+ container: this.container
19
+ };
20
+ for (const schema of this.contextualSchemas)await schema.build(ctx);
21
+ const result = await this.container.resolve(CmsSchemaExecutor).execute(type, request.body);
22
+ await this.container.resolve(BenchmarkAbstraction).output();
23
+ return {
24
+ statusCode: 200,
25
+ headers: {
26
+ "Content-Type": "application/json"
27
+ },
28
+ body: result
29
+ };
30
+ }
31
+ }
32
+ const implementation = HttpRouteHandler.createImplementation({
33
+ implementation: CmsGraphQLRoute,
34
+ dependencies: [
35
+ RequestContainer,
36
+ [
37
+ GraphQLContextualSchema,
38
+ {
39
+ multiple: true
40
+ }
41
+ ]
42
+ ]
43
+ });
44
+ class CmsRouteDefinition {
45
+ constructor(){
46
+ this.name = `cms-${type}`;
47
+ this.method = "POST";
48
+ this.path = CMS_PATHS[type];
49
+ this.handler = implementation;
50
+ }
51
+ }
52
+ return HttpRouteDefinition.createImplementation({
53
+ implementation: CmsRouteDefinition,
54
+ dependencies: []
55
+ });
56
+ }
57
+ export { createCmsRoute };
58
+
59
+ //# sourceMappingURL=createCmsRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCmsRoute.js","sources":["../src/createCmsRoute.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport {\n HttpRouteDefinition,\n HttpRouteHandler,\n RequestContainer\n} from \"@webiny/event-handler-core\";\nimport type { IHttpRequest, IHttpResponse } from \"@webiny/event-handler-core\";\nimport { GraphQLContextualSchema } from \"@webiny/api-graphql\";\nimport type { IGraphQLContextualSchema } from \"@webiny/api-graphql\";\nimport { BenchmarkAbstraction } from \"@webiny/api\";\nimport { CmsSchemaExecutor } from \"~/graphql/CmsSchemaExecutor.js\";\nimport type { ApiEndpoint } from \"~/types/index.js\";\n\nconst CMS_PATHS: Record<ApiEndpoint, string> = {\n manage: \"/cms/manage\",\n read: \"/cms/read\",\n preview: \"/cms/preview\"\n};\n\n/**\n * The HTTP route for a CMS GraphQL endpoint (manage/read/preview). Per request it runs the\n * contextual schemas, then executes the CMS sub-schema via CmsSchemaExecutor.\n */\nexport function createCmsRoute(type: ApiEndpoint) {\n class CmsGraphQLRoute implements HttpRouteHandler.Interface {\n // public (not private): this class is returned from an exported factory, so its members\n // must be declarable in the emitted .d.ts — private parameter-properties on an exported\n // anonymous class type are a TS4094 error.\n constructor(\n public container: Container,\n public contextualSchemas: IGraphQLContextualSchema[]\n ) {}\n\n async handle(request: IHttpRequest): Promise<IHttpResponse> {\n const ctx: Record<string, any> = { container: this.container };\n for (const schema of this.contextualSchemas) {\n await schema.build(ctx);\n }\n const result = await this.container\n .resolve(CmsSchemaExecutor)\n .execute(type, request.body);\n // Flush benchmark measurements (no-op unless benchmarking was enabled for the request).\n await this.container.resolve(BenchmarkAbstraction).output();\n return {\n statusCode: 200,\n headers: { \"Content-Type\": \"application/json\" },\n body: result\n };\n }\n }\n\n const implementation = HttpRouteHandler.createImplementation({\n implementation: CmsGraphQLRoute,\n dependencies: [RequestContainer, [GraphQLContextualSchema, { multiple: true }]]\n });\n\n class CmsRouteDefinition implements HttpRouteDefinition.Interface {\n readonly name = `cms-${type}`;\n readonly method = \"POST\";\n readonly path = CMS_PATHS[type];\n readonly handler = implementation;\n }\n\n return HttpRouteDefinition.createImplementation({\n implementation: CmsRouteDefinition,\n dependencies: []\n });\n}\n"],"names":["CMS_PATHS","createCmsRoute","type","CmsGraphQLRoute","container","contextualSchemas","request","ctx","schema","result","CmsSchemaExecutor","BenchmarkAbstraction","implementation","HttpRouteHandler","RequestContainer","GraphQLContextualSchema","CmsRouteDefinition","HttpRouteDefinition"],"mappings":";;;;AAaA,MAAMA,YAAyC;IAC3C,QAAQ;IACR,MAAM;IACN,SAAS;AACb;AAMO,SAASC,eAAeC,IAAiB;IAC5C,MAAMC;QAIF,YACWC,SAAoB,EACpBC,iBAA6C,CACtD;iBAFSD,SAAS,GAATA;iBACAC,iBAAiB,GAAjBA;QACR;QAEH,MAAM,OAAOC,OAAqB,EAA0B;YACxD,MAAMC,MAA2B;gBAAE,WAAW,IAAI,CAAC,SAAS;YAAC;YAC7D,KAAK,MAAMC,UAAU,IAAI,CAAC,iBAAiB,CACvC,MAAMA,OAAO,KAAK,CAACD;YAEvB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAC9B,OAAO,CAACC,mBACR,OAAO,CAACR,MAAMI,QAAQ,IAAI;YAE/B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACK,sBAAsB,MAAM;YACzD,OAAO;gBACH,YAAY;gBACZ,SAAS;oBAAE,gBAAgB;gBAAmB;gBAC9C,MAAMF;YACV;QACJ;IACJ;IAEA,MAAMG,iBAAiBC,iBAAiB,oBAAoB,CAAC;QACzD,gBAAgBV;QAChB,cAAc;YAACW;YAAkB;gBAACC;gBAAyB;oBAAE,UAAU;gBAAK;aAAE;SAAC;IACnF;IAEA,MAAMC;;iBACO,IAAI,GAAG,CAAC,IAAI,EAAEd,MAAM;iBACpB,MAAM,GAAG;iBACT,IAAI,GAAGF,SAAS,CAACE,KAAK;iBACtB,OAAO,GAAGU;;IACvB;IAEA,OAAOK,oBAAoB,oBAAoB,CAAC;QAC5C,gBAAgBD;QAChB,cAAc,EAAE;IACpB;AACJ"}
@@ -4,7 +4,7 @@ interface IValidateModelEntryDataParams<TValues extends CmsEntryValues = CmsEntr
4
4
  model: CmsModel;
5
5
  values: TValues;
6
6
  entry?: CmsEntry<TValues>;
7
- skipValidators?: string[];
7
+ skipValidation?: boolean;
8
8
  }
9
9
  export declare const validateModelEntryData: <TValues extends CmsEntryValues = CmsEntryValues>(params: IValidateModelEntryDataParams<TValues>) => Promise<FieldError[]>;
10
10
  export declare const validateModelEntryDataOrThrow: <TValues extends CmsEntryValues = CmsEntryValues>(params: IValidateModelEntryDataParams<TValues>) => Promise<void>;
@@ -1,4 +1,3 @@
1
- import camelCase from "lodash/camelCase.js";
2
1
  import { EntryValidationError } from "../../domain/contentEntry/errors.js";
3
2
  import { CmsModelFieldValidatorRegistry } from "../../features/validation/index.js";
4
3
  const validateValue = async (params, fieldValidators, value)=>{
@@ -34,6 +33,29 @@ const validatePredefinedValue = (field, value)=>{
34
33
  for (const predefinedValue of predefinedValues)if (predefinedValue.value == value) return null;
35
34
  return "Value sent does not match any of the available predefined values.";
36
35
  };
36
+ const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
37
+ const TIME_RE = /^\d{2}:\d{2}(:\d{2})?$/;
38
+ const DATETIME_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/;
39
+ const validateDatetimeFormat = (field, value)=>{
40
+ if ("datetime" !== field.type) return null;
41
+ if (null == value || "" === value) return null;
42
+ if ("string" != typeof value) return null;
43
+ const dateType = field.settings?.type;
44
+ switch(dateType){
45
+ case "date":
46
+ if (!DATE_RE.test(value)) return `Invalid date format for field "${field.fieldId}". Expected YYYY-MM-DD.`;
47
+ return null;
48
+ case "time":
49
+ if (!TIME_RE.test(value)) return `Invalid time format for field "${field.fieldId}". Expected HH:mm or HH:mm:ss.`;
50
+ return null;
51
+ case "dateTimeWithTimezone":
52
+ case "dateTimeWithoutTimezone":
53
+ if (!DATETIME_RE.test(value)) return `Invalid dateTime format for field "${field.fieldId}". Expected ISO 8601 dateTime.`;
54
+ return null;
55
+ default:
56
+ return null;
57
+ }
58
+ };
37
59
  const getFieldValidation = (listValidation)=>{
38
60
  if (!listValidation?.length) return [];
39
61
  return listValidation.filter((item)=>"dynamicZone" !== item.name);
@@ -45,6 +67,8 @@ const runFieldMultipleValuesValidations = async (params)=>{
45
67
  if (valuesError) return valuesError;
46
68
  if (null == values) return null;
47
69
  for (const value of values){
70
+ const datetimeError = validateDatetimeFormat(field, value);
71
+ if (datetimeError) return datetimeError;
48
72
  const valueError = await validateValue(params, getFieldValidation(field.validation), value);
49
73
  if (valueError) return valueError;
50
74
  const predefinedValueError = validatePredefinedValue(field, value);
@@ -55,6 +79,8 @@ const runFieldMultipleValuesValidations = async (params)=>{
55
79
  const runFieldValueValidations = async (params)=>{
56
80
  const { values, field } = params;
57
81
  const value = values[field.fieldId];
82
+ const datetimeError = validateDatetimeFormat(field, value);
83
+ if (datetimeError) return datetimeError;
58
84
  const error = await validateValue(params, field.validation || [], value);
59
85
  if (error) return error;
60
86
  return validatePredefinedValue(field, value);
@@ -65,28 +91,16 @@ const execValidation = async (params)=>{
65
91
  return await runFieldValueValidations(params);
66
92
  };
67
93
  const validateModelEntryData = async (params)=>{
68
- const { context, model, entry, values, skipValidators } = params;
69
- const isValidatorSkipped = (validator)=>{
70
- if (!skipValidators) return false;
71
- return skipValidators.includes(camelCase(validator.name));
72
- };
73
- const skippedValidators = new Set();
94
+ const { context, model, entry, values, skipValidation } = params;
95
+ if (skipValidation) return [];
74
96
  const validatorList = {};
75
97
  const registry = context.container.resolve(CmsModelFieldValidatorRegistry);
76
98
  const validators = registry.getAll();
77
99
  for (const validator of validators){
78
100
  const name = validator.name;
79
101
  if (!validatorList[name]) validatorList[name] = [];
80
- const isSkipped = isValidatorSkipped(validator);
81
- if (isSkipped) {
82
- skippedValidators.add(name);
83
- validatorList[name].push(async ()=>true);
84
- continue;
85
- }
86
102
  validatorList[name].push((params)=>validator.validate(params));
87
103
  }
88
- const keys = Object.keys(validatorList);
89
- if (keys.length === skippedValidators.size) return [];
90
104
  return await entryDataValidation_validate({
91
105
  validatorList,
92
106
  context,