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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. package/HeadlessCmsContextualSchema.d.ts +16 -0
  2. package/HeadlessCmsContextualSchema.js +32 -0
  3. package/HeadlessCmsContextualSchema.js.map +1 -0
  4. package/HeadlessCmsEndpointConfig.d.ts +10 -0
  5. package/HeadlessCmsEndpointConfig.js +5 -0
  6. package/HeadlessCmsEndpointConfig.js.map +1 -0
  7. package/HeadlessCmsFeature.d.ts +10 -0
  8. package/HeadlessCmsFeature.js +192 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +21 -0
  11. package/createCmsRoute.js +49 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +2 -15
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  16. package/crud/contentEntry/references/validateEntries.d.ts +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +17 -7
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry.crud.js +22 -20
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel.crud.js +8 -6
  22. package/crud/contentModel.crud.js.map +1 -1
  23. package/crud/contentModelGroup.crud.js +7 -5
  24. package/crud/contentModelGroup.crud.js.map +1 -1
  25. package/domain/contentModel/schemas.d.ts +6 -6
  26. package/domain/contentModel/schemas.js +1 -1
  27. package/domain/contentModel/schemas.js.map +1 -1
  28. package/domain/contentModel/validation/modelFields.js +21 -15
  29. package/domain/contentModel/validation/modelFields.js.map +1 -1
  30. package/export/abstractions.d.ts +9 -0
  31. package/export/abstractions.js +6 -0
  32. package/export/abstractions.js.map +1 -0
  33. package/export/crud/exporting.js +8 -2
  34. package/export/crud/exporting.js.map +1 -1
  35. package/export/crud/importing.js +13 -4
  36. package/export/crud/importing.js.map +1 -1
  37. package/export/crud/imports/importGroups.js +23 -23
  38. package/export/crud/imports/importGroups.js.map +1 -1
  39. package/export/crud/imports/importModels.js +25 -22
  40. package/export/crud/imports/importModels.js.map +1 -1
  41. package/export/graphql/index.d.ts +2 -3
  42. package/export/graphql/index.js +6 -10
  43. package/export/graphql/index.js.map +1 -1
  44. package/exports/api/cms/storage.d.ts +0 -1
  45. package/exports/api/cms/storage.js +0 -1
  46. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +6 -4
  47. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +7 -8
  48. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  49. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  50. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  51. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  52. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +6 -4
  53. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +7 -8
  54. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  55. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  56. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  57. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  58. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +6 -4
  59. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +7 -8
  60. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  61. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  62. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  63. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  64. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -4
  65. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +7 -8
  66. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  67. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  68. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  69. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  70. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  71. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  72. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  73. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -4
  74. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +7 -8
  75. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  76. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  77. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  78. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  79. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +6 -4
  80. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +7 -8
  81. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  82. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  83. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  84. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  85. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +6 -4
  86. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +7 -8
  87. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  88. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  89. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  90. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  91. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  92. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  93. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  94. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  95. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  96. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  97. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +6 -4
  98. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +7 -8
  99. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  100. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  101. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  102. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  103. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  104. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  105. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  106. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +6 -4
  107. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +7 -8
  108. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  109. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  110. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  111. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  112. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  113. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  114. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  115. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  116. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  117. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  118. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  119. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  120. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  121. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +6 -4
  122. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +7 -8
  123. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  124. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  125. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  126. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  127. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +6 -4
  128. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +7 -8
  129. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  130. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  131. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  132. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  133. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +6 -4
  134. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +7 -8
  135. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  136. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  137. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  138. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  139. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +6 -4
  140. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +7 -8
  141. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  142. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  143. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  144. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  145. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +6 -4
  146. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +7 -8
  147. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  148. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  149. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  150. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  151. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  152. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  153. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +6 -4
  154. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +7 -8
  155. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  156. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  157. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  158. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  159. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  160. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  161. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  162. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +6 -4
  163. package/features/contentEntry/ListEntries/ListEntriesRepository.js +7 -8
  164. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  165. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  166. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  167. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  168. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  169. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  170. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  171. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  172. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  173. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  174. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +6 -4
  175. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +7 -8
  176. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  177. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  178. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  179. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  180. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +6 -4
  181. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +7 -8
  182. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  183. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  184. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  185. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  186. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +8 -4
  187. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +11 -9
  188. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  189. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  190. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  191. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  192. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +6 -4
  193. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +7 -8
  194. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  195. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  196. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  197. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  198. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +6 -4
  199. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +7 -8
  200. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  201. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  202. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  203. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  204. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +6 -4
  205. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +7 -8
  206. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  207. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  208. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  209. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  210. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  211. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  212. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  213. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  214. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  215. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  216. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  217. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  218. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  219. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  220. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  221. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  222. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  223. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  224. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  225. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  226. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  227. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  228. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  229. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  230. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  231. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  232. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  233. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  234. package/features/contentModel/ContentModelFeature.js +2 -0
  235. package/features/contentModel/ContentModelFeature.js.map +1 -1
  236. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +4 -3
  237. package/features/contentModel/CreateModel/CreateModelRepository.js +6 -5
  238. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  239. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +4 -3
  240. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +6 -5
  241. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  242. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +3 -3
  243. package/features/contentModel/DeleteModel/DeleteModelRepository.js +5 -5
  244. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  245. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  246. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  247. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  248. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +6 -3
  249. package/features/contentModel/UpdateModel/UpdateModelRepository.js +11 -7
  250. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  251. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  252. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +51 -0
  253. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  254. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  255. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  256. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  257. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  258. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  259. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  260. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  261. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  262. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  263. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  264. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  265. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  266. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  267. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  268. package/features/contentModel/shared/abstractions.d.ts +10 -0
  269. package/features/contentModel/shared/abstractions.js +2 -1
  270. package/features/contentModel/shared/abstractions.js.map +1 -1
  271. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +8 -4
  272. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +13 -11
  273. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  274. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -1
  275. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +2 -3
  276. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  277. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +8 -4
  278. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +11 -9
  279. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  280. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  281. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  282. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  283. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  284. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  285. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  286. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  287. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  288. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  289. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  290. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  291. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  292. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  293. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  294. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  295. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +6 -4
  296. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +7 -8
  297. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  298. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  299. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -3
  300. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  301. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  302. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  303. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  304. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  305. package/features/contentModelGroup/shared/abstractions.js +2 -1
  306. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  307. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  308. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  309. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  310. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  311. package/features/graphql/fields/base/RefToGraphQL.js +3 -1
  312. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  313. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  314. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  315. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +1 -3
  316. package/features/modelBuilder/fields/BaseFieldBuilder.js +0 -4
  317. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
  318. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +12 -18
  319. package/features/modelBuilder/fields/DataFieldBuilder.js +1 -2
  320. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  321. package/features/modelBuilder/fields/DynamicZoneFieldType.js +3 -8
  322. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  323. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  324. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  325. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  326. package/features/modelBuilder/fields/UiAlertFieldType.js +1 -2
  327. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
  328. package/features/modelBuilder/fields/UiSeparatorFieldType.js +1 -2
  329. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
  330. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +1 -2
  331. package/features/modelBuilder/fields/UiTabsFieldType.js +3 -6
  332. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -1
  333. package/features/shared/abstractions.d.ts +11 -15
  334. package/features/shared/abstractions.js +3 -3
  335. package/features/shared/abstractions.js.map +1 -1
  336. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  337. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  338. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  339. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  340. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  341. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  342. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  343. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  344. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  345. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  346. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  347. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  348. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  349. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  350. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  351. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  352. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  353. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  354. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  355. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  356. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  357. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  358. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  359. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  360. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  361. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  362. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  363. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  364. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  365. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  366. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  367. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  368. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  369. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  370. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  371. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  372. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  373. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  374. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  375. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  376. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  377. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  378. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  379. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  380. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  381. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  382. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  383. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  384. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  385. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  386. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  387. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  388. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  389. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  390. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  391. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  392. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  393. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  394. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  395. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  396. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  397. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  398. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  399. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  400. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  401. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  402. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  403. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  404. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  405. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  406. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  407. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  408. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  409. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  410. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  411. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/index.d.ts +32 -0
  418. package/features/shared/storageOperations/index.js +32 -0
  419. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  420. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  421. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  422. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  423. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  424. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  425. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  426. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  427. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  428. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  429. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  430. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  431. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  432. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  433. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  434. package/fieldConverters/abstractions.d.ts +14 -0
  435. package/fieldConverters/abstractions.js +13 -0
  436. package/fieldConverters/abstractions.js.map +1 -0
  437. package/fieldConverters/index.d.ts +1 -1
  438. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  439. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  440. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  441. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  442. package/graphql/CmsSchemaExecutor.js +5 -0
  443. package/graphql/CmsSchemaExecutor.js.map +1 -0
  444. package/graphql/buildSchemaPlugins.d.ts +2 -1
  445. package/graphql/buildSchemaPlugins.js +1 -3
  446. package/graphql/buildSchemaPlugins.js.map +1 -1
  447. package/graphql/checkEndpointAccess.js +5 -2
  448. package/graphql/checkEndpointAccess.js.map +1 -1
  449. package/graphql/createExecutableSchema.d.ts +1 -1
  450. package/graphql/createExecutableSchema.js +1 -1
  451. package/graphql/createExecutableSchema.js.map +1 -1
  452. package/graphql/generateSchema.d.ts +2 -1
  453. package/graphql/generateSchema.js +14 -5
  454. package/graphql/generateSchema.js.map +1 -1
  455. package/graphql/getSchema.js +7 -2
  456. package/graphql/getSchema.js.map +1 -1
  457. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  458. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  459. package/graphql/schema/baseContentSchema.d.ts +1 -6
  460. package/graphql/schema/baseContentSchema.js +5 -8
  461. package/graphql/schema/baseContentSchema.js.map +1 -1
  462. package/graphql/schema/baseSchema.d.ts +2 -2
  463. package/graphql/schema/baseSchema.js +6 -41
  464. package/graphql/schema/baseSchema.js.map +1 -1
  465. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  466. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  467. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  468. package/graphql/schema/cms/createEntryResolver.js +2 -2
  469. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  470. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  471. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  472. package/graphql/schema/cms/getEntryResolver.js +2 -2
  473. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  474. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  475. package/graphql/schema/cms/helpers/getModel.js +5 -3
  476. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  477. package/graphql/schema/cms/helpers/transformWhereToNested.js +17 -39
  478. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
  479. package/graphql/schema/cms/listEntriesResolver.js +2 -2
  480. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  481. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  482. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  483. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  484. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  485. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  486. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  487. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  488. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  489. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  490. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  491. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  492. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  493. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  494. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  495. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  496. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  497. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  498. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  499. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  500. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  501. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  502. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  503. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  504. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  505. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  506. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  507. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  508. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  509. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  510. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  511. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  512. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  513. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  514. package/graphql/schema/cms/typeDefs/query.js +1 -1
  515. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  516. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  517. package/graphql/schema/cms/typeDefs/responses.js +1 -1
  518. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  519. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  520. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  521. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  522. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  523. package/graphql/schema/contentEntries.js +43 -32
  524. package/graphql/schema/contentEntries.js.map +1 -1
  525. package/graphql/schema/contentModelGroups.js +39 -18
  526. package/graphql/schema/contentModelGroups.js.map +1 -1
  527. package/graphql/schema/contentModels.js +37 -16
  528. package/graphql/schema/contentModels.js.map +1 -1
  529. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  530. package/graphql/schema/createFieldResolvers.js.map +1 -1
  531. package/graphql/schema/createManageResolvers.js +4 -2
  532. package/graphql/schema/createManageResolvers.js.map +1 -1
  533. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  534. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  535. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  536. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  537. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  538. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  539. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  540. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  541. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  542. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  543. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  544. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  545. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  546. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  547. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  548. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  549. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  550. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  551. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  552. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  553. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  554. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  555. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  556. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  557. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  558. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  559. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  560. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  561. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  562. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  563. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  564. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  565. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  566. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  567. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  568. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  569. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  570. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  571. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  572. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  573. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  574. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  575. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  576. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  577. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  578. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  579. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  580. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  581. package/graphql/schema/schemaPlugins.d.ts +2 -1
  582. package/graphql/schema/schemaPlugins.js +2 -4
  583. package/graphql/schema/schemaPlugins.js.map +1 -1
  584. package/index.d.ts +7 -6
  585. package/index.js +4 -22
  586. package/legacy/abstractions.js.map +1 -1
  587. package/package.json +22 -27
  588. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  589. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  590. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  591. package/plugins/index.d.ts +0 -1
  592. package/plugins/index.js +0 -1
  593. package/types/fields/dynamicZoneField.d.ts +2 -2
  594. package/types/modelField.d.ts +1 -1
  595. package/types/types.d.ts +10 -183
  596. package/types/types.js.map +1 -1
  597. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  598. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  599. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  600. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  601. package/utils/contentModelToJsonSchema/index.js +1 -0
  602. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  603. package/utils/contentModelToJsonSchema/types.js +0 -0
  604. package/utils/converters/ConverterCollection.d.ts +2 -2
  605. package/utils/converters/ConverterCollection.js +1 -3
  606. package/utils/converters/ConverterCollection.js.map +1 -1
  607. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  608. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  609. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  610. package/utils/converters/valueKeyStorageConverter.js +4 -2
  611. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  612. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  613. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  614. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  615. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  616. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  617. package/utils/index.d.ts +1 -0
  618. package/utils/index.js +1 -0
  619. package/utils/isHeadlessCmsReady.d.ts +1 -1
  620. package/utils/isHeadlessCmsReady.js +3 -2
  621. package/utils/isHeadlessCmsReady.js.map +1 -1
  622. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  623. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  624. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  625. package/abstractions/entryHooks/index.d.ts +0 -1
  626. package/abstractions/entryHooks/index.js +0 -1
  627. package/abstractions/index.d.ts +0 -1
  628. package/abstractions/index.js +0 -1
  629. package/context.d.ts +0 -3
  630. package/context.js +0 -131
  631. package/context.js.map +0 -1
  632. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  633. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  634. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  635. package/extensions/entryHooks/index.d.ts +0 -1
  636. package/extensions/entryHooks/index.js +0 -1
  637. package/extensions/index.d.ts +0 -5
  638. package/extensions/index.js +0 -7
  639. package/extensions/index.js.map +0 -1
  640. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  641. package/graphql/graphQLHandlerFactory.js +0 -22
  642. package/graphql/graphQLHandlerFactory.js.map +0 -1
  643. package/graphql/handleRequest.d.ts +0 -11
  644. package/graphql/handleRequest.js +0 -62
  645. package/graphql/handleRequest.js.map +0 -1
  646. package/graphql/index.d.ts +0 -4
  647. package/graphql/index.js +0 -11
  648. package/graphql/index.js.map +0 -1
  649. package/graphql/schema/cms/index.d.ts +0 -2
  650. package/graphql/schema/cms/index.js +0 -24
  651. package/graphql/schema/cms/index.js.map +0 -1
  652. package/index.js.map +0 -1
  653. package/parameters/context.d.ts +0 -2
  654. package/parameters/context.js +0 -7
  655. package/parameters/context.js.map +0 -1
  656. package/parameters/header.d.ts +0 -2
  657. package/parameters/header.js +0 -13
  658. package/parameters/header.js.map +0 -1
  659. package/parameters/index.d.ts +0 -3
  660. package/parameters/index.js +0 -3
  661. package/parameters/path.d.ts +0 -2
  662. package/parameters/path.js +0 -12
  663. package/parameters/path.js.map +0 -1
  664. package/plugins/CmsParametersPlugin.d.ts +0 -18
  665. package/plugins/CmsParametersPlugin.js +0 -16
  666. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -0,0 +1,324 @@
1
+ class CmsModelToJsonSchemaConverter {
2
+ constructor(options){
3
+ this.options = {
4
+ includeHiddenFields: false,
5
+ ...options
6
+ };
7
+ }
8
+ convert(ast, model) {
9
+ const { properties, required } = this.convertChildren(ast.children);
10
+ const schema = {
11
+ type: "object",
12
+ properties
13
+ };
14
+ if (required.length > 0) schema.required = required;
15
+ const description = this.buildModelDescription(model);
16
+ if (description) schema.description = description;
17
+ return schema;
18
+ }
19
+ convertNode(node) {
20
+ if ("collection" === node.type) return null;
21
+ const field = node.field;
22
+ if (this.isHidden(field)) return null;
23
+ let schema;
24
+ if (this.childrenAreCollections(node)) schema = this.convertDynamicZone(node);
25
+ else if (node.children.length > 0) {
26
+ const { properties, required } = this.convertChildren(node.children);
27
+ schema = {
28
+ type: "object",
29
+ properties
30
+ };
31
+ if (required.length > 0) schema.required = required;
32
+ } else schema = this.convertFieldByType(field);
33
+ const description = this.buildFieldDescription(field);
34
+ if (description) schema.description = schema.description ? `${description}. ${schema.description}` : description;
35
+ if (field.list) return this.wrapAsList(schema, field);
36
+ return schema;
37
+ }
38
+ convertChildren(children) {
39
+ const properties = {};
40
+ const required = [];
41
+ for (const child of children){
42
+ if ("collection" === child.type) continue;
43
+ const schema = this.convertNode(child);
44
+ if (null === schema) continue;
45
+ properties[child.field.fieldId] = schema;
46
+ const constraints = this.extractValidationConstraints(child.field.validation || []);
47
+ if (constraints.required) required.push(child.field.fieldId);
48
+ }
49
+ return {
50
+ properties,
51
+ required
52
+ };
53
+ }
54
+ convertFieldByType(field) {
55
+ switch(field.type){
56
+ case "text":
57
+ return this.convertTextField(field);
58
+ case "long-text":
59
+ return this.convertLongTextField(field);
60
+ case "rich-text":
61
+ return this.convertRichTextField(field);
62
+ case "number":
63
+ return this.convertNumberField(field);
64
+ case "boolean":
65
+ return this.convertBooleanField();
66
+ case "datetime":
67
+ return this.convertDateTimeField(field);
68
+ case "file":
69
+ return this.convertFileField(field);
70
+ case "ref":
71
+ return this.convertRefField(field);
72
+ case "json":
73
+ return {
74
+ type: "object",
75
+ additionalProperties: true
76
+ };
77
+ default:
78
+ return {
79
+ type: "object",
80
+ additionalProperties: true
81
+ };
82
+ }
83
+ }
84
+ convertTextField(field) {
85
+ const schema = {
86
+ type: "string"
87
+ };
88
+ this.applyPredefinedValues(schema, field);
89
+ this.applyValidationConstraints(schema, field.validation);
90
+ return schema;
91
+ }
92
+ convertLongTextField(field) {
93
+ const schema = {
94
+ type: "string"
95
+ };
96
+ this.applyValidationConstraints(schema, field.validation);
97
+ return schema;
98
+ }
99
+ convertRichTextField(_field) {
100
+ return {
101
+ type: "object",
102
+ properties: {
103
+ tool: {
104
+ const: "textToLexical"
105
+ },
106
+ params: {
107
+ type: "object",
108
+ properties: {
109
+ text: {
110
+ type: "string",
111
+ description: "Rich text content as HTML markup. Use semantic HTML tags: <h1>-<h6>, <p>, <strong>, <em>, <ul>, <ol>, <li>, <a>, <blockquote>."
112
+ }
113
+ },
114
+ required: [
115
+ "text"
116
+ ]
117
+ }
118
+ },
119
+ required: [
120
+ "tool",
121
+ "params"
122
+ ]
123
+ };
124
+ }
125
+ convertNumberField(field) {
126
+ const schema = {
127
+ type: "number"
128
+ };
129
+ this.applyPredefinedValues(schema, field, true);
130
+ this.applyValidationConstraints(schema, field.validation);
131
+ return schema;
132
+ }
133
+ convertBooleanField() {
134
+ return {
135
+ type: "boolean"
136
+ };
137
+ }
138
+ convertDateTimeField(field) {
139
+ const schema = {
140
+ type: "string"
141
+ };
142
+ const dateType = field.settings?.type;
143
+ switch(dateType){
144
+ case "date":
145
+ schema.format = "date";
146
+ break;
147
+ case "time":
148
+ schema.format = "time";
149
+ break;
150
+ case "dateTimeWithTimezone":
151
+ schema.format = "date-time";
152
+ break;
153
+ case "dateTimeWithoutTimezone":
154
+ schema.format = "date-time";
155
+ schema.description = "Date and time without timezone (ISO 8601 format).";
156
+ break;
157
+ default:
158
+ schema.format = "date-time";
159
+ break;
160
+ }
161
+ return schema;
162
+ }
163
+ convertFileField(field) {
164
+ const imagesOnly = field.settings?.imagesOnly === true;
165
+ return {
166
+ type: "object",
167
+ properties: {
168
+ tool: {
169
+ const: "cmsResolveImage"
170
+ },
171
+ params: {
172
+ type: "object",
173
+ properties: {
174
+ id: {
175
+ type: "string",
176
+ description: imagesOnly ? "Image file ID obtained from listImagesByTag." : "File ID obtained from listImagesByTag."
177
+ }
178
+ },
179
+ required: [
180
+ "id"
181
+ ]
182
+ }
183
+ },
184
+ required: [
185
+ "tool",
186
+ "params"
187
+ ]
188
+ };
189
+ }
190
+ convertRefField(field) {
191
+ const models = field.settings?.models;
192
+ const modelIds = Array.isArray(models) && models.length > 0 ? models.map((m)=>m.modelId) : [];
193
+ const schema = {
194
+ type: "object",
195
+ properties: {
196
+ entryId: {
197
+ type: "string",
198
+ description: "ID of the referenced entry."
199
+ },
200
+ modelId: {
201
+ type: "string",
202
+ description: "Model ID of the referenced entry."
203
+ }
204
+ },
205
+ required: [
206
+ "entryId",
207
+ "modelId"
208
+ ]
209
+ };
210
+ if (modelIds.length > 0) {
211
+ const modelIdProp = schema.properties["modelId"];
212
+ modelIdProp.enum = modelIds;
213
+ }
214
+ return schema;
215
+ }
216
+ convertDynamicZone(node) {
217
+ const collections = node.children.filter((child)=>"collection" === child.type);
218
+ const oneOf = collections.map((collection)=>this.convertCollection(collection));
219
+ const schema = {
220
+ oneOf
221
+ };
222
+ if (collections.length > 0) schema.discriminator = {
223
+ propertyName: collections[0].collection.discriminator
224
+ };
225
+ return schema;
226
+ }
227
+ convertCollection(collection) {
228
+ const { properties, required } = this.convertChildren(collection.children);
229
+ properties[collection.collection.discriminator] = {
230
+ const: collection.collection.id
231
+ };
232
+ const allRequired = [
233
+ collection.collection.discriminator,
234
+ ...required
235
+ ];
236
+ const schema = {
237
+ type: "object",
238
+ properties,
239
+ required: allRequired
240
+ };
241
+ if (collection.collection.name) schema.description = collection.collection.name;
242
+ return schema;
243
+ }
244
+ buildFieldDescription(field) {
245
+ const parts = [];
246
+ if (field.label) parts.push(field.label);
247
+ if (field.description) parts.push(field.description);
248
+ if (field.help) parts.push(field.help);
249
+ if (0 === parts.length) return;
250
+ return parts.join(". ");
251
+ }
252
+ buildModelDescription(model) {
253
+ const parts = [];
254
+ if (model.name) parts.push(model.name);
255
+ if (model.description) parts.push(model.description);
256
+ if (0 === parts.length) return;
257
+ return parts.join(". ");
258
+ }
259
+ extractValidationConstraints(validations) {
260
+ const constraints = {
261
+ required: false
262
+ };
263
+ if (!validations) return constraints;
264
+ for (const v of validations)switch(v.name){
265
+ case "required":
266
+ constraints.required = true;
267
+ break;
268
+ case "minLength":
269
+ if (v.settings?.value !== void 0) constraints.minLength = Number(v.settings.value);
270
+ break;
271
+ case "maxLength":
272
+ if (v.settings?.value !== void 0) constraints.maxLength = Number(v.settings.value);
273
+ break;
274
+ case "gte":
275
+ if (v.settings?.value !== void 0) constraints.minimum = Number(v.settings.value);
276
+ break;
277
+ case "lte":
278
+ if (v.settings?.value !== void 0) constraints.maximum = Number(v.settings.value);
279
+ break;
280
+ case "pattern":
281
+ if (v.settings?.preset === "email") constraints.format = "email";
282
+ else if (v.settings?.preset === "url") constraints.format = "uri";
283
+ else if (v.settings?.value !== void 0) constraints.pattern = String(v.settings.value);
284
+ break;
285
+ }
286
+ return constraints;
287
+ }
288
+ applyValidationConstraints(schema, validations) {
289
+ const constraints = this.extractValidationConstraints(validations);
290
+ if (void 0 !== constraints.minLength) schema.minLength = constraints.minLength;
291
+ if (void 0 !== constraints.maxLength) schema.maxLength = constraints.maxLength;
292
+ if (void 0 !== constraints.minimum) schema.minimum = constraints.minimum;
293
+ if (void 0 !== constraints.maximum) schema.maximum = constraints.maximum;
294
+ if (void 0 !== constraints.pattern) schema.pattern = constraints.pattern;
295
+ if (void 0 !== constraints.format) schema.format = constraints.format;
296
+ }
297
+ applyPredefinedValues(schema, field, parseAsNumber = false) {
298
+ if (field.predefinedValues?.enabled !== true) return;
299
+ const values = field.predefinedValues.values;
300
+ if (!Array.isArray(values) || 0 === values.length) return;
301
+ schema.enum = values.map((v)=>parseAsNumber ? Number(v.value) : v.value);
302
+ }
303
+ wrapAsList(schema, field) {
304
+ const listSchema = {
305
+ type: "array",
306
+ items: schema
307
+ };
308
+ for (const v of field.listValidation || []){
309
+ if ("minLength" === v.name && v.settings?.value !== void 0) listSchema.minLength = Number(v.settings.value);
310
+ if ("maxLength" === v.name && v.settings?.value !== void 0) listSchema.maxLength = Number(v.settings.value);
311
+ }
312
+ return listSchema;
313
+ }
314
+ isHidden(field) {
315
+ if (this.options.includeHiddenFields) return false;
316
+ return field.renderer?.name === "hidden";
317
+ }
318
+ childrenAreCollections(node) {
319
+ return node.children.length > 0 && node.children.every((c)=>"collection" === c.type);
320
+ }
321
+ }
322
+ export { CmsModelToJsonSchemaConverter };
323
+
324
+ //# sourceMappingURL=CmsModelToJsonSchemaConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js","sources":["../../../src/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.ts"],"sourcesContent":["import type {\n CmsModel,\n CmsModelAst,\n CmsModelField,\n CmsModelFieldAstNode,\n CmsModelFieldAstNodeCollection,\n CmsModelFieldAstNodeField,\n CmsModelFieldValidation\n} from \"~/types/index.js\";\nimport type { JsonSchema, CmsModelToJsonSchemaOptions } from \"./types.js\";\n\ninterface ValidationConstraints {\n required: boolean;\n minLength?: number;\n maxLength?: number;\n minimum?: number;\n maximum?: number;\n pattern?: string;\n format?: string;\n}\n\ninterface ConvertedChildren {\n properties: Record<string, JsonSchema>;\n required: string[];\n}\n\nexport class CmsModelToJsonSchemaConverter {\n private readonly options: Required<CmsModelToJsonSchemaOptions>;\n\n constructor(options?: CmsModelToJsonSchemaOptions) {\n this.options = {\n includeHiddenFields: false,\n ...options\n };\n }\n\n convert(ast: CmsModelAst, model: Pick<CmsModel, \"name\" | \"description\">): JsonSchema {\n const { properties, required } = this.convertChildren(ast.children);\n\n const schema: JsonSchema = {\n type: \"object\",\n properties\n };\n\n if (required.length > 0) {\n schema.required = required;\n }\n\n const description = this.buildModelDescription(model);\n if (description) {\n schema.description = description;\n }\n\n return schema;\n }\n\n private convertNode(node: CmsModelFieldAstNode): JsonSchema | null {\n if (node.type === \"collection\") {\n return null;\n }\n\n const field = node.field;\n\n if (this.isHidden(field)) {\n return null;\n }\n\n let schema: JsonSchema;\n\n if (this.childrenAreCollections(node)) {\n schema = this.convertDynamicZone(node);\n } else if (node.children.length > 0) {\n const { properties, required } = this.convertChildren(node.children);\n schema = { type: \"object\", properties };\n if (required.length > 0) {\n schema.required = required;\n }\n } else {\n schema = this.convertFieldByType(field);\n }\n\n const description = this.buildFieldDescription(field);\n if (description) {\n schema.description = schema.description\n ? `${description}. ${schema.description}`\n : description;\n }\n\n if (field.list) {\n return this.wrapAsList(schema, field);\n }\n\n return schema;\n }\n\n private convertChildren(children: CmsModelFieldAstNode[]): ConvertedChildren {\n const properties: Record<string, JsonSchema> = {};\n const required: string[] = [];\n\n for (const child of children) {\n if (child.type === \"collection\") {\n continue;\n }\n\n const schema = this.convertNode(child);\n if (schema === null) {\n continue;\n }\n\n properties[child.field.fieldId] = schema;\n\n const constraints = this.extractValidationConstraints(child.field.validation || []);\n if (constraints.required) {\n required.push(child.field.fieldId);\n }\n }\n\n return { properties, required };\n }\n\n private convertFieldByType(field: CmsModelField): JsonSchema {\n switch (field.type) {\n case \"text\":\n return this.convertTextField(field);\n case \"long-text\":\n return this.convertLongTextField(field);\n case \"rich-text\":\n return this.convertRichTextField(field);\n case \"number\":\n return this.convertNumberField(field);\n case \"boolean\":\n return this.convertBooleanField();\n case \"datetime\":\n return this.convertDateTimeField(field);\n case \"file\":\n return this.convertFileField(field);\n case \"ref\":\n return this.convertRefField(field);\n case \"json\":\n return { type: \"object\", additionalProperties: true };\n default:\n return { type: \"object\", additionalProperties: true };\n }\n }\n\n private convertTextField(field: CmsModelField): JsonSchema {\n const schema: JsonSchema = { type: \"string\" };\n this.applyPredefinedValues(schema, field);\n this.applyValidationConstraints(schema, field.validation);\n return schema;\n }\n\n private convertLongTextField(field: CmsModelField): JsonSchema {\n const schema: JsonSchema = { type: \"string\" };\n this.applyValidationConstraints(schema, field.validation);\n return schema;\n }\n\n private convertRichTextField(_field: CmsModelField): JsonSchema {\n return {\n type: \"object\",\n properties: {\n tool: { const: \"textToLexical\" },\n params: {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n description:\n \"Rich text content as HTML markup. Use semantic HTML tags: <h1>-<h6>, <p>, <strong>, <em>, <ul>, <ol>, <li>, <a>, <blockquote>.\"\n }\n },\n required: [\"text\"]\n }\n },\n required: [\"tool\", \"params\"]\n };\n }\n\n private convertNumberField(field: CmsModelField): JsonSchema {\n const schema: JsonSchema = { type: \"number\" };\n this.applyPredefinedValues(schema, field, true);\n this.applyValidationConstraints(schema, field.validation);\n return schema;\n }\n\n private convertBooleanField(): JsonSchema {\n return { type: \"boolean\" };\n }\n\n private convertDateTimeField(field: CmsModelField): JsonSchema {\n const schema: JsonSchema = { type: \"string\" };\n\n const dateType = field.settings?.type;\n switch (dateType) {\n case \"date\":\n schema.format = \"date\";\n break;\n case \"time\":\n schema.format = \"time\";\n break;\n case \"dateTimeWithTimezone\":\n schema.format = \"date-time\";\n break;\n case \"dateTimeWithoutTimezone\":\n schema.format = \"date-time\";\n schema.description = \"Date and time without timezone (ISO 8601 format).\";\n break;\n default:\n schema.format = \"date-time\";\n break;\n }\n\n return schema;\n }\n\n private convertFileField(field: CmsModelField): JsonSchema {\n const imagesOnly = field.settings?.imagesOnly === true;\n return {\n type: \"object\",\n properties: {\n tool: { const: \"cmsResolveImage\" },\n params: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n description: imagesOnly\n ? \"Image file ID obtained from listImagesByTag.\"\n : \"File ID obtained from listImagesByTag.\"\n }\n },\n required: [\"id\"]\n }\n },\n required: [\"tool\", \"params\"]\n };\n }\n\n private convertRefField(field: CmsModelField): JsonSchema {\n const models = field.settings?.models;\n const modelIds =\n Array.isArray(models) && models.length > 0\n ? models.map((m: { modelId: string }) => m.modelId)\n : [];\n\n const schema: JsonSchema = {\n type: \"object\",\n properties: {\n entryId: { type: \"string\", description: \"ID of the referenced entry.\" },\n modelId: {\n type: \"string\",\n description: \"Model ID of the referenced entry.\"\n }\n },\n required: [\"entryId\", \"modelId\"]\n };\n\n if (modelIds.length > 0) {\n const modelIdProp = schema.properties![\"modelId\"];\n modelIdProp.enum = modelIds;\n }\n\n return schema;\n }\n\n private convertDynamicZone(node: CmsModelFieldAstNodeField): JsonSchema {\n const collections = node.children.filter(\n (child): child is CmsModelFieldAstNodeCollection => child.type === \"collection\"\n );\n\n const oneOf = collections.map(collection => this.convertCollection(collection));\n\n const schema: JsonSchema = { oneOf };\n\n if (collections.length > 0) {\n schema.discriminator = { propertyName: collections[0].collection.discriminator };\n }\n\n return schema;\n }\n\n private convertCollection(collection: CmsModelFieldAstNodeCollection): JsonSchema {\n const { properties, required } = this.convertChildren(collection.children);\n\n properties[collection.collection.discriminator] = {\n const: collection.collection.id\n };\n\n const allRequired = [collection.collection.discriminator, ...required];\n\n const schema: JsonSchema = {\n type: \"object\",\n properties,\n required: allRequired\n };\n\n if (collection.collection.name) {\n schema.description = collection.collection.name;\n }\n\n return schema;\n }\n\n private buildFieldDescription(field: CmsModelField): string | undefined {\n const parts: string[] = [];\n\n if (field.label) {\n parts.push(field.label);\n }\n\n if (field.description) {\n parts.push(field.description);\n }\n\n if (field.help) {\n parts.push(field.help);\n }\n\n if (parts.length === 0) {\n return undefined;\n }\n\n return parts.join(\". \");\n }\n\n private buildModelDescription(\n model: Pick<CmsModel, \"name\" | \"description\">\n ): string | undefined {\n const parts: string[] = [];\n\n if (model.name) {\n parts.push(model.name);\n }\n\n if (model.description) {\n parts.push(model.description);\n }\n\n if (parts.length === 0) {\n return undefined;\n }\n\n return parts.join(\". \");\n }\n\n private extractValidationConstraints(\n validations: CmsModelFieldValidation[] | undefined\n ): ValidationConstraints {\n const constraints: ValidationConstraints = { required: false };\n\n if (!validations) {\n return constraints;\n }\n\n for (const v of validations) {\n switch (v.name) {\n case \"required\":\n constraints.required = true;\n break;\n case \"minLength\":\n if (v.settings?.value !== undefined) {\n constraints.minLength = Number(v.settings.value);\n }\n break;\n case \"maxLength\":\n if (v.settings?.value !== undefined) {\n constraints.maxLength = Number(v.settings.value);\n }\n break;\n case \"gte\":\n if (v.settings?.value !== undefined) {\n constraints.minimum = Number(v.settings.value);\n }\n break;\n case \"lte\":\n if (v.settings?.value !== undefined) {\n constraints.maximum = Number(v.settings.value);\n }\n break;\n case \"pattern\":\n if (v.settings?.preset === \"email\") {\n constraints.format = \"email\";\n } else if (v.settings?.preset === \"url\") {\n constraints.format = \"uri\";\n } else if (v.settings?.value !== undefined) {\n constraints.pattern = String(v.settings.value);\n }\n break;\n }\n }\n\n return constraints;\n }\n\n private applyValidationConstraints(\n schema: JsonSchema,\n validations: CmsModelFieldValidation[]\n ): void {\n const constraints = this.extractValidationConstraints(validations);\n\n if (constraints.minLength !== undefined) {\n schema.minLength = constraints.minLength;\n }\n if (constraints.maxLength !== undefined) {\n schema.maxLength = constraints.maxLength;\n }\n if (constraints.minimum !== undefined) {\n schema.minimum = constraints.minimum;\n }\n if (constraints.maximum !== undefined) {\n schema.maximum = constraints.maximum;\n }\n if (constraints.pattern !== undefined) {\n schema.pattern = constraints.pattern;\n }\n if (constraints.format !== undefined) {\n schema.format = constraints.format;\n }\n }\n\n private applyPredefinedValues(\n schema: JsonSchema,\n field: CmsModelField,\n parseAsNumber = false\n ): void {\n if (field.predefinedValues?.enabled !== true) {\n return;\n }\n\n const values = field.predefinedValues.values;\n if (!Array.isArray(values) || values.length === 0) {\n return;\n }\n\n schema.enum = values.map(v => (parseAsNumber ? Number(v.value) : v.value));\n }\n\n private wrapAsList(schema: JsonSchema, field: CmsModelField): JsonSchema {\n const listSchema: JsonSchema = {\n type: \"array\",\n items: schema\n };\n\n for (const v of field.listValidation || []) {\n if (v.name === \"minLength\" && v.settings?.value !== undefined) {\n listSchema.minLength = Number(v.settings.value);\n }\n if (v.name === \"maxLength\" && v.settings?.value !== undefined) {\n listSchema.maxLength = Number(v.settings.value);\n }\n }\n\n return listSchema;\n }\n\n private isHidden(field: CmsModelField): boolean {\n if (this.options.includeHiddenFields) {\n return false;\n }\n\n return field.renderer?.name === \"hidden\";\n }\n\n private childrenAreCollections(\n node: CmsModelFieldAstNodeField\n ): node is CmsModelFieldAstNodeField & { children: CmsModelFieldAstNodeCollection[] } {\n return node.children.length > 0 && node.children.every(c => c.type === \"collection\");\n }\n}\n"],"names":["CmsModelToJsonSchemaConverter","options","ast","model","properties","required","schema","description","node","field","children","child","constraints","_field","dateType","imagesOnly","models","modelIds","Array","m","modelIdProp","collections","oneOf","collection","allRequired","parts","validations","v","undefined","Number","String","parseAsNumber","values","listSchema","c"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { CmsModelToJsonSchemaConverter } from "./CmsModelToJsonSchemaConverter.js";
2
+ export type { JsonSchema, CmsModelToJsonSchemaOptions } from "./types.js";
@@ -0,0 +1 @@
1
+ export { CmsModelToJsonSchemaConverter } from "./CmsModelToJsonSchemaConverter.js";
@@ -0,0 +1,24 @@
1
+ export interface JsonSchema {
2
+ $schema?: string;
3
+ type?: string | string[];
4
+ properties?: Record<string, JsonSchema>;
5
+ required?: string[];
6
+ items?: JsonSchema;
7
+ enum?: (string | number | boolean)[];
8
+ oneOf?: JsonSchema[];
9
+ const?: unknown;
10
+ description?: string;
11
+ minLength?: number;
12
+ maxLength?: number;
13
+ minimum?: number;
14
+ maximum?: number;
15
+ pattern?: string;
16
+ format?: string;
17
+ additionalProperties?: boolean | JsonSchema;
18
+ discriminator?: {
19
+ propertyName: string;
20
+ };
21
+ }
22
+ export interface CmsModelToJsonSchemaOptions {
23
+ includeHiddenFields?: boolean;
24
+ }
File without changes
@@ -1,6 +1,6 @@
1
1
  import { Converter } from "./Converter.js";
2
2
  import type { CmsEntryValues, CmsModelField } from "../../types/index.js";
3
- import type { PluginsContainer } from "@webiny/plugins";
3
+ import type { CmsModelFieldConverterPlugin } from "../../plugins/index.js";
4
4
  import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
5
5
  export interface CmsModelFieldsWithParent extends CmsModelField {
6
6
  parent?: CmsModelField | null;
@@ -13,7 +13,7 @@ export interface ConverterCollectionConvertParams<T extends CmsEntryValues = Cms
13
13
  values?: T;
14
14
  }
15
15
  export interface ConverterCollectionParams {
16
- plugins: PluginsContainer;
16
+ fieldConverters: CmsModelFieldConverterPlugin[];
17
17
  fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
18
18
  }
19
19
  export declare class ConverterCollection {
@@ -1,13 +1,11 @@
1
1
  import error from "@webiny/error";
2
2
  import { Converter } from "./Converter.js";
3
- import { CmsModelFieldConverterPlugin } from "../../plugins/index.js";
4
3
  import { getBaseFieldType } from "../getBaseFieldType.js";
5
4
  class ConverterCollection {
6
5
  constructor(params){
7
6
  this.converters = new Map();
8
- const { plugins, fieldRegistry } = params;
7
+ const { fieldConverters: fieldConverterPlugins, fieldRegistry } = params;
9
8
  const fieldGraphQLPlugins = fieldRegistry.getAll();
10
- const fieldConverterPlugins = plugins.byType(CmsModelFieldConverterPlugin.type);
11
9
  const defaultFieldConverterPlugin = fieldConverterPlugins.find((pl)=>"*" === pl.getFieldType());
12
10
  if (void 0 === defaultFieldConverterPlugin) throw new error("Missing default field converter plugin.", "DEFAULT_FIELD_CONVERTER_ERROR");
13
11
  for (const fieldGraphQLPlugin of fieldGraphQLPlugins){
@@ -1 +1 @@
1
- {"version":3,"file":"utils/converters/ConverterCollection.js","sources":["../../../src/utils/converters/ConverterCollection.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Converter } from \"./Converter.js\";\nimport type { CmsEntryValues, CmsModelField } from \"~/types/index.js\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/index.js\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\nexport interface CmsModelFieldsWithParent extends CmsModelField {\n parent?: CmsModelField | null;\n}\n\nexport interface CmsModelConverterCallable<T extends CmsEntryValues = CmsEntryValues> {\n (params: ConverterCollectionConvertParams<T>): T;\n}\n\nexport interface ConverterCollectionConvertParams<T extends CmsEntryValues = CmsEntryValues> {\n fields: CmsModelFieldsWithParent[];\n values?: T;\n}\n\nexport interface ConverterCollectionParams {\n plugins: PluginsContainer;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport class ConverterCollection {\n private readonly converters: Map<string, Converter> = new Map();\n\n public constructor(params: ConverterCollectionParams) {\n const { plugins, fieldRegistry } = params;\n const fieldGraphQLPlugins = fieldRegistry.getAll();\n const fieldConverterPlugins = plugins.byType<CmsModelFieldConverterPlugin>(\n CmsModelFieldConverterPlugin.type\n );\n const defaultFieldConverterPlugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === \"*\"\n );\n if (defaultFieldConverterPlugin === undefined) {\n throw new WebinyError(\n `Missing default field converter plugin.`,\n \"DEFAULT_FIELD_CONVERTER_ERROR\"\n );\n }\n for (const fieldGraphQLPlugin of fieldGraphQLPlugins) {\n const plugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === fieldGraphQLPlugin.fieldType\n );\n const converter = new Converter({\n type: fieldGraphQLPlugin.fieldType,\n plugin: plugin || defaultFieldConverterPlugin\n });\n\n this.addConverter(converter);\n }\n }\n\n public addConverter(converter: Converter): void {\n converter.setConverterCollection(this);\n this.converters.set(converter.getType(), converter);\n }\n\n public getConverter(type: string): Converter {\n const baseType = getBaseFieldType({ type });\n const converter = this.converters.get(baseType);\n if (converter === undefined) {\n throw new WebinyError(\n `Missing converter for field type \"${type}\".`,\n \"CONVERTER_ERROR\",\n {\n type\n }\n );\n }\n return converter;\n }\n\n public convertToStorage<T extends CmsEntryValues = CmsEntryValues>(\n params: ConverterCollectionConvertParams<T>\n ): T | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n this.attachHasOwnProperty<T>(inputValues);\n\n return fields.reduce<T>((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.fieldId) === false) {\n return output;\n }\n const values = converter.convertToStorage({\n field,\n value: inputValues[field.fieldId as keyof T]\n });\n\n return {\n ...output,\n ...values\n };\n }, {} as T);\n }\n\n public convertFromStorage<T extends CmsEntryValues = CmsEntryValues>(\n params: ConverterCollectionConvertParams<T>\n ): T | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n return fields.reduce<T>((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.storageId) === false) {\n return output;\n }\n const values = converter.convertFromStorage({\n field,\n value: inputValues[field.storageId as keyof T]\n });\n\n return {\n ...output,\n ...values\n };\n }, {} as T);\n }\n\n /**\n * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object.\n * At that point, hasOwnProperty does not exist, and we need to add it.\n *\n * TODO add more checks if required\n */\n private attachHasOwnProperty<T extends CmsEntryValues = CmsEntryValues>(values: T) {\n if (\n // null or undefined?\n values === null ||\n values === undefined ||\n // not an object?\n typeof values !== \"object\" ||\n // maybe it's an array?\n Array.isArray(values) ||\n // and in the end, check if hasOwnProperty is a function already\n typeof values?.hasOwnProperty === \"function\"\n ) {\n return;\n }\n Object.defineProperty(values, \"hasOwnProperty\", {\n enumerable: false,\n writable: false,\n value: function (property: string) {\n return this[property] !== undefined;\n }\n });\n }\n}\n"],"names":["ConverterCollection","params","Map","plugins","fieldRegistry","fieldGraphQLPlugins","fieldConverterPlugins","CmsModelFieldConverterPlugin","defaultFieldConverterPlugin","pl","undefined","WebinyError","fieldGraphQLPlugin","plugin","converter","Converter","type","baseType","getBaseFieldType","fields","inputValues","output","field","values","Array","Object","property"],"mappings":"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"}
1
+ {"version":3,"file":"utils/converters/ConverterCollection.js","sources":["../../../src/utils/converters/ConverterCollection.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Converter } from \"./Converter.js\";\nimport type { CmsEntryValues, CmsModelField } from \"~/types/index.js\";\nimport type { CmsModelFieldConverterPlugin } from \"~/plugins/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\nexport interface CmsModelFieldsWithParent extends CmsModelField {\n parent?: CmsModelField | null;\n}\n\nexport interface CmsModelConverterCallable<T extends CmsEntryValues = CmsEntryValues> {\n (params: ConverterCollectionConvertParams<T>): T;\n}\n\nexport interface ConverterCollectionConvertParams<T extends CmsEntryValues = CmsEntryValues> {\n fields: CmsModelFieldsWithParent[];\n values?: T;\n}\n\nexport interface ConverterCollectionParams {\n fieldConverters: CmsModelFieldConverterPlugin[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport class ConverterCollection {\n private readonly converters: Map<string, Converter> = new Map();\n\n public constructor(params: ConverterCollectionParams) {\n const { fieldConverters: fieldConverterPlugins, fieldRegistry } = params;\n const fieldGraphQLPlugins = fieldRegistry.getAll();\n const defaultFieldConverterPlugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === \"*\"\n );\n if (defaultFieldConverterPlugin === undefined) {\n throw new WebinyError(\n `Missing default field converter plugin.`,\n \"DEFAULT_FIELD_CONVERTER_ERROR\"\n );\n }\n for (const fieldGraphQLPlugin of fieldGraphQLPlugins) {\n const plugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === fieldGraphQLPlugin.fieldType\n );\n const converter = new Converter({\n type: fieldGraphQLPlugin.fieldType,\n plugin: plugin || defaultFieldConverterPlugin\n });\n\n this.addConverter(converter);\n }\n }\n\n public addConverter(converter: Converter): void {\n converter.setConverterCollection(this);\n this.converters.set(converter.getType(), converter);\n }\n\n public getConverter(type: string): Converter {\n const baseType = getBaseFieldType({ type });\n const converter = this.converters.get(baseType);\n if (converter === undefined) {\n throw new WebinyError(\n `Missing converter for field type \"${type}\".`,\n \"CONVERTER_ERROR\",\n {\n type\n }\n );\n }\n return converter;\n }\n\n public convertToStorage<T extends CmsEntryValues = CmsEntryValues>(\n params: ConverterCollectionConvertParams<T>\n ): T | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n this.attachHasOwnProperty<T>(inputValues);\n\n return fields.reduce<T>((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.fieldId) === false) {\n return output;\n }\n const values = converter.convertToStorage({\n field,\n value: inputValues[field.fieldId as keyof T]\n });\n\n return {\n ...output,\n ...values\n };\n }, {} as T);\n }\n\n public convertFromStorage<T extends CmsEntryValues = CmsEntryValues>(\n params: ConverterCollectionConvertParams<T>\n ): T | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n return fields.reduce<T>((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.storageId) === false) {\n return output;\n }\n const values = converter.convertFromStorage({\n field,\n value: inputValues[field.storageId as keyof T]\n });\n\n return {\n ...output,\n ...values\n };\n }, {} as T);\n }\n\n /**\n * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object.\n * At that point, hasOwnProperty does not exist, and we need to add it.\n *\n * TODO add more checks if required\n */\n private attachHasOwnProperty<T extends CmsEntryValues = CmsEntryValues>(values: T) {\n if (\n // null or undefined?\n values === null ||\n values === undefined ||\n // not an object?\n typeof values !== \"object\" ||\n // maybe it's an array?\n Array.isArray(values) ||\n // and in the end, check if hasOwnProperty is a function already\n typeof values?.hasOwnProperty === \"function\"\n ) {\n return;\n }\n Object.defineProperty(values, \"hasOwnProperty\", {\n enumerable: false,\n writable: false,\n value: function (property: string) {\n return this[property] !== undefined;\n }\n });\n }\n}\n"],"names":["ConverterCollection","params","Map","fieldConverterPlugins","fieldRegistry","fieldGraphQLPlugins","defaultFieldConverterPlugin","pl","undefined","WebinyError","fieldGraphQLPlugin","plugin","converter","Converter","type","baseType","getBaseFieldType","fields","inputValues","output","field","values","Array","Object","property"],"mappings":";;;AAyBO,MAAMA;IAGT,YAAmBC,MAAiC,CAAE;aAFrC,UAAU,GAA2B,IAAIC;QAGtD,MAAM,EAAE,iBAAiBC,qBAAqB,EAAEC,aAAa,EAAE,GAAGH;QAClE,MAAMI,sBAAsBD,cAAc,MAAM;QAChD,MAAME,8BAA8BH,sBAAsB,IAAI,CAC1DI,CAAAA,KAAMA,AAAsB,QAAtBA,GAAG,YAAY;QAEzB,IAAID,AAAgCE,WAAhCF,6BACA,MAAM,IAAIG,MACN,2CACA;QAGR,KAAK,MAAMC,sBAAsBL,oBAAqB;YAClD,MAAMM,SAASR,sBAAsB,IAAI,CACrCI,CAAAA,KAAMA,GAAG,YAAY,OAAOG,mBAAmB,SAAS;YAE5D,MAAME,YAAY,IAAIC,UAAU;gBAC5B,MAAMH,mBAAmB,SAAS;gBAClC,QAAQC,UAAUL;YACtB;YAEA,IAAI,CAAC,YAAY,CAACM;QACtB;IACJ;IAEO,aAAaA,SAAoB,EAAQ;QAC5CA,UAAU,sBAAsB,CAAC,IAAI;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAACA,UAAU,OAAO,IAAIA;IAC7C;IAEO,aAAaE,IAAY,EAAa;QACzC,MAAMC,WAAWC,iBAAiB;YAAEF;QAAK;QACzC,MAAMF,YAAY,IAAI,CAAC,UAAU,CAAC,GAAG,CAACG;QACtC,IAAIH,AAAcJ,WAAdI,WACA,MAAM,IAAIH,MACN,CAAC,kCAAkC,EAAEK,KAAK,EAAE,CAAC,EAC7C,mBACA;YACIA;QACJ;QAGR,OAAOF;IACX;IAEO,iBACHX,MAA2C,EAC9B;QACb,MAAM,EAAEgB,MAAM,EAAE,QAAQC,WAAW,EAAE,GAAGjB;QACxC,IAAIiB,AAAgBV,WAAhBU,aACA;QAGJ,IAAI,CAAC,oBAAoB,CAAIA;QAE7B,OAAOD,OAAO,MAAM,CAAI,CAACE,QAAQC;YAC7B,MAAMR,YAAY,IAAI,CAAC,YAAY,CAACQ,MAAM,IAAI;YAC9C,IAAIF,AAAgB,SAAhBA,eAAwBA,AAA8C,UAA9CA,YAAY,cAAc,CAACE,MAAM,OAAO,GAChE,OAAOD;YAEX,MAAME,SAAST,UAAU,gBAAgB,CAAC;gBACtCQ;gBACA,OAAOF,WAAW,CAACE,MAAM,OAAO,CAAY;YAChD;YAEA,OAAO;gBACH,GAAGD,MAAM;gBACT,GAAGE,MAAM;YACb;QACJ,GAAG,CAAC;IACR;IAEO,mBACHpB,MAA2C,EAC9B;QACb,MAAM,EAAEgB,MAAM,EAAE,QAAQC,WAAW,EAAE,GAAGjB;QACxC,IAAIiB,AAAgBV,WAAhBU,aACA;QAGJ,OAAOD,OAAO,MAAM,CAAI,CAACE,QAAQC;YAC7B,MAAMR,YAAY,IAAI,CAAC,YAAY,CAACQ,MAAM,IAAI;YAC9C,IAAIF,AAAgB,SAAhBA,eAAwBA,AAAgD,UAAhDA,YAAY,cAAc,CAACE,MAAM,SAAS,GAClE,OAAOD;YAEX,MAAME,SAAST,UAAU,kBAAkB,CAAC;gBACxCQ;gBACA,OAAOF,WAAW,CAACE,MAAM,SAAS,CAAY;YAClD;YAEA,OAAO;gBACH,GAAGD,MAAM;gBACT,GAAGE,MAAM;YACb;QACJ,GAAG,CAAC;IACR;IAQQ,qBAAgEA,MAAS,EAAE;QAC/E,IAEIA,QAAAA,UAGA,AAAkB,YAAlB,OAAOA,UAEPC,MAAM,OAAO,CAACD,WAEd,AAAkC,cAAlC,OAAOA,QAAQ,gBAEf;QAEJE,OAAO,cAAc,CAACF,QAAQ,kBAAkB;YAC5C,YAAY;YACZ,UAAU;YACV,OAAO,SAAUG,QAAgB;gBAC7B,OAAO,AAAmBhB,WAAnB,IAAI,CAACgB,SAAS;YACzB;QACJ;IACJ;AACJ"}
@@ -1,10 +1,10 @@
1
- import type { PluginsContainer } from "@webiny/plugins";
2
1
  import type { CmsModelConverterCallable } from "./ConverterCollection.js";
3
2
  import type { CmsEntryValues, CmsModel } from "../../types/index.js";
4
3
  import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
4
+ import type { CmsModelFieldConverterPlugin } from "../../plugins/index.js";
5
5
  interface Params {
6
6
  model: Pick<CmsModel, "fields">;
7
- plugins: PluginsContainer;
7
+ fieldConverters: CmsModelFieldConverterPlugin[];
8
8
  fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
9
9
  }
10
10
  export declare const createValueKeyFromStorageConverter: <T extends CmsEntryValues = CmsEntryValues>(params: Params) => CmsModelConverterCallable<T>;
@@ -1,8 +1,8 @@
1
1
  import { ConverterCollection } from "./ConverterCollection.js";
2
2
  const createValueKeyFromStorageConverter = (params)=>{
3
- const { plugins, model, fieldRegistry } = params;
3
+ const { fieldConverters, model, fieldRegistry } = params;
4
4
  const converters = new ConverterCollection({
5
- plugins,
5
+ fieldConverters,
6
6
  fieldRegistry
7
7
  });
8
8
  return ({ fields, values })=>{
@@ -1 +1 @@
1
- {"version":3,"file":"utils/converters/valueKeyFromStorageConverter.js","sources":["../../../src/utils/converters/valueKeyFromStorageConverter.ts"],"sourcesContent":["import type { PluginsContainer } from \"@webiny/plugins\";\nimport type { CmsModelConverterCallable } from \"./ConverterCollection.js\";\nimport { ConverterCollection } from \"./ConverterCollection.js\";\nimport type { CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type { ConverterCollectionConvertParams } from \"./types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface Params {\n model: Pick<CmsModel, \"fields\">;\n plugins: PluginsContainer;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport const createValueKeyFromStorageConverter = <T extends CmsEntryValues = CmsEntryValues>(\n params: Params\n): CmsModelConverterCallable<T> => {\n const { plugins, model, fieldRegistry } = params;\n\n const converters = new ConverterCollection({\n plugins,\n fieldRegistry\n });\n\n return <T extends CmsEntryValues = CmsEntryValues>({\n fields,\n values\n }: ConverterCollectionConvertParams<T>) => {\n const result = converters.convertFromStorage<T>({\n fields: fields || model.fields,\n values\n });\n return result || ({} as T);\n };\n};\n"],"names":["createValueKeyFromStorageConverter","params","plugins","model","fieldRegistry","converters","ConverterCollection","fields","values","result"],"mappings":";AAaO,MAAMA,qCAAqC,CAC9CC;IAEA,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGH;IAE1C,MAAMI,aAAa,IAAIC,oBAAoB;QACvCJ;QACAE;IACJ;IAEA,OAAO,CAA4C,EAC/CG,MAAM,EACNC,MAAM,EAC4B;QAClC,MAAMC,SAASJ,WAAW,kBAAkB,CAAI;YAC5C,QAAQE,UAAUJ,MAAM,MAAM;YAC9BK;QACJ;QACA,OAAOC,UAAW,CAAC;IACvB;AACJ"}
1
+ {"version":3,"file":"utils/converters/valueKeyFromStorageConverter.js","sources":["../../../src/utils/converters/valueKeyFromStorageConverter.ts"],"sourcesContent":["import type { CmsModelConverterCallable } from \"./ConverterCollection.js\";\nimport { ConverterCollection } from \"./ConverterCollection.js\";\nimport type { CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type { ConverterCollectionConvertParams } from \"./types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\nimport type { CmsModelFieldConverterPlugin } from \"~/plugins/index.js\";\n\ninterface Params {\n model: Pick<CmsModel, \"fields\">;\n fieldConverters: CmsModelFieldConverterPlugin[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport const createValueKeyFromStorageConverter = <T extends CmsEntryValues = CmsEntryValues>(\n params: Params\n): CmsModelConverterCallable<T> => {\n const { fieldConverters, model, fieldRegistry } = params;\n\n const converters = new ConverterCollection({\n fieldConverters,\n fieldRegistry\n });\n\n return <T extends CmsEntryValues = CmsEntryValues>({\n fields,\n values\n }: ConverterCollectionConvertParams<T>) => {\n const result = converters.convertFromStorage<T>({\n fields: fields || model.fields,\n values\n });\n return result || ({} as T);\n };\n};\n"],"names":["createValueKeyFromStorageConverter","params","fieldConverters","model","fieldRegistry","converters","ConverterCollection","fields","values","result"],"mappings":";AAaO,MAAMA,qCAAqC,CAC9CC;IAEA,MAAM,EAAEC,eAAe,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGH;IAElD,MAAMI,aAAa,IAAIC,oBAAoB;QACvCJ;QACAE;IACJ;IAEA,OAAO,CAA4C,EAC/CG,MAAM,EACNC,MAAM,EAC4B;QAClC,MAAMC,SAASJ,WAAW,kBAAkB,CAAI;YAC5C,QAAQE,UAAUJ,MAAM,MAAM;YAC9BK;QACJ;QACA,OAAOC,UAAW,CAAC;IACvB;AACJ"}
@@ -1,20 +1,22 @@
1
1
  import { createValueKeyToStorageConverter } from "./valueKeyToStorageConverter.js";
2
2
  import { createValueKeyFromStorageConverter } from "./valueKeyFromStorageConverter.js";
3
3
  import { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
4
+ import { CmsFieldConverter } from "../../fieldConverters/abstractions.js";
4
5
  const createCmsModelFieldConvertersAttachFactory = (context)=>(model)=>{
5
6
  const storageModel = model;
6
7
  if (!!storageModel.convertValueKeyToStorage && !!storageModel.convertValueKeyFromStorage) return storageModel;
7
8
  const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);
9
+ const fieldConverters = context.container.resolveAll(CmsFieldConverter);
8
10
  return {
9
11
  ...model,
10
12
  convertValueKeyToStorage: createValueKeyToStorageConverter({
11
13
  model,
12
- plugins: context.plugins,
14
+ fieldConverters,
13
15
  fieldRegistry
14
16
  }),
15
17
  convertValueKeyFromStorage: createValueKeyFromStorageConverter({
16
18
  model,
17
- plugins: context.plugins,
19
+ fieldConverters,
18
20
  fieldRegistry
19
21
  })
20
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils/converters/valueKeyStorageConverter.js","sources":["../../../src/utils/converters/valueKeyStorageConverter.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntryValues,\n CmsModel,\n StorageOperationsCmsModel\n} from \"~/types/index.js\";\nimport { createValueKeyToStorageConverter } from \"./valueKeyToStorageConverter.js\";\nimport { createValueKeyFromStorageConverter } from \"./valueKeyFromStorageConverter.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\nexport const createCmsModelFieldConvertersAttachFactory = (context: CmsContext) => {\n return <T extends CmsEntryValues = CmsEntryValues>(\n model: StorageOperationsCmsModel | CmsModel\n ): StorageOperationsCmsModel<T> => {\n const storageModel = model as Partial<StorageOperationsCmsModel<T>>;\n if (!!storageModel.convertValueKeyToStorage && !!storageModel.convertValueKeyFromStorage) {\n return storageModel as StorageOperationsCmsModel<T>;\n }\n\n const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);\n return {\n ...model,\n convertValueKeyToStorage: createValueKeyToStorageConverter<T>({\n model,\n plugins: context.plugins,\n fieldRegistry\n }),\n convertValueKeyFromStorage: createValueKeyFromStorageConverter<T>({\n model,\n plugins: context.plugins,\n fieldRegistry\n })\n };\n };\n};\n"],"names":["createCmsModelFieldConvertersAttachFactory","context","model","storageModel","fieldRegistry","CmsModelFieldToGraphQLRegistry","createValueKeyToStorageConverter","createValueKeyFromStorageConverter"],"mappings":";;;AAUO,MAAMA,6CAA6C,CAACC,UAChD,CACHC;QAEA,MAAMC,eAAeD;QACrB,IAAI,CAAC,CAACC,aAAa,wBAAwB,IAAI,CAAC,CAACA,aAAa,0BAA0B,EACpF,OAAOA;QAGX,MAAMC,gBAAgBH,QAAQ,SAAS,CAAC,OAAO,CAACI;QAChD,OAAO;YACH,GAAGH,KAAK;YACR,0BAA0BI,iCAAoC;gBAC1DJ;gBACA,SAASD,QAAQ,OAAO;gBACxBG;YACJ;YACA,4BAA4BG,mCAAsC;gBAC9DL;gBACA,SAASD,QAAQ,OAAO;gBACxBG;YACJ;QACJ;IACJ"}
1
+ {"version":3,"file":"utils/converters/valueKeyStorageConverter.js","sources":["../../../src/utils/converters/valueKeyStorageConverter.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntryValues,\n CmsModel,\n StorageOperationsCmsModel\n} from \"~/types/index.js\";\nimport { createValueKeyToStorageConverter } from \"./valueKeyToStorageConverter.js\";\nimport { createValueKeyFromStorageConverter } from \"./valueKeyFromStorageConverter.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\nimport { CmsFieldConverter } from \"~/fieldConverters/abstractions.js\";\n\nexport const createCmsModelFieldConvertersAttachFactory = (context: CmsContext) => {\n return <T extends CmsEntryValues = CmsEntryValues>(\n model: StorageOperationsCmsModel | CmsModel\n ): StorageOperationsCmsModel<T> => {\n const storageModel = model as Partial<StorageOperationsCmsModel<T>>;\n if (!!storageModel.convertValueKeyToStorage && !!storageModel.convertValueKeyFromStorage) {\n return storageModel as StorageOperationsCmsModel<T>;\n }\n\n const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);\n const fieldConverters = context.container.resolveAll(CmsFieldConverter);\n return {\n ...model,\n convertValueKeyToStorage: createValueKeyToStorageConverter<T>({\n model,\n fieldConverters,\n fieldRegistry\n }),\n convertValueKeyFromStorage: createValueKeyFromStorageConverter<T>({\n model,\n fieldConverters,\n fieldRegistry\n })\n };\n };\n};\n"],"names":["createCmsModelFieldConvertersAttachFactory","context","model","storageModel","fieldRegistry","CmsModelFieldToGraphQLRegistry","fieldConverters","CmsFieldConverter","createValueKeyToStorageConverter","createValueKeyFromStorageConverter"],"mappings":";;;;AAWO,MAAMA,6CAA6C,CAACC,UAChD,CACHC;QAEA,MAAMC,eAAeD;QACrB,IAAI,CAAC,CAACC,aAAa,wBAAwB,IAAI,CAAC,CAACA,aAAa,0BAA0B,EACpF,OAAOA;QAGX,MAAMC,gBAAgBH,QAAQ,SAAS,CAAC,OAAO,CAACI;QAChD,MAAMC,kBAAkBL,QAAQ,SAAS,CAAC,UAAU,CAACM;QACrD,OAAO;YACH,GAAGL,KAAK;YACR,0BAA0BM,iCAAoC;gBAC1DN;gBACAI;gBACAF;YACJ;YACA,4BAA4BK,mCAAsC;gBAC9DP;gBACAI;gBACAF;YACJ;QACJ;IACJ"}
@@ -1,10 +1,10 @@
1
- import type { PluginsContainer } from "@webiny/plugins";
2
1
  import type { CmsModelConverterCallable } from "./ConverterCollection.js";
3
2
  import type { CmsEntryValues, CmsModel } from "../../types/index.js";
4
3
  import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
4
+ import type { CmsModelFieldConverterPlugin } from "../../plugins/index.js";
5
5
  interface Params {
6
6
  model: Pick<CmsModel, "fields">;
7
- plugins: PluginsContainer;
7
+ fieldConverters: CmsModelFieldConverterPlugin[];
8
8
  fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
9
9
  }
10
10
  export declare const createValueKeyToStorageConverter: <T extends CmsEntryValues = CmsEntryValues>(params: Params) => CmsModelConverterCallable<T>;
@@ -1,8 +1,8 @@
1
1
  import { ConverterCollection } from "./ConverterCollection.js";
2
2
  const createValueKeyToStorageConverter = (params)=>{
3
- const { plugins, model, fieldRegistry } = params;
3
+ const { fieldConverters, model, fieldRegistry } = params;
4
4
  const converters = new ConverterCollection({
5
- plugins,
5
+ fieldConverters,
6
6
  fieldRegistry
7
7
  });
8
8
  return ({ fields, values })=>{
@@ -1 +1 @@
1
- {"version":3,"file":"utils/converters/valueKeyToStorageConverter.js","sources":["../../../src/utils/converters/valueKeyToStorageConverter.ts"],"sourcesContent":["import type { PluginsContainer } from \"@webiny/plugins\";\nimport type { CmsModelConverterCallable } from \"./ConverterCollection.js\";\nimport { ConverterCollection } from \"./ConverterCollection.js\";\nimport type { CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type { ConverterCollectionConvertParams } from \"./types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface Params {\n model: Pick<CmsModel, \"fields\">;\n plugins: PluginsContainer;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport const createValueKeyToStorageConverter = <T extends CmsEntryValues = CmsEntryValues>(\n params: Params\n): CmsModelConverterCallable<T> => {\n const { plugins, model, fieldRegistry } = params;\n\n const converters = new ConverterCollection({\n plugins,\n fieldRegistry\n });\n\n return <T extends CmsEntryValues = CmsEntryValues>({\n fields,\n values\n }: ConverterCollectionConvertParams<T>) => {\n const result = converters.convertToStorage<T>({\n fields: fields || model.fields,\n values\n });\n return result || ({} as T);\n };\n};\n"],"names":["createValueKeyToStorageConverter","params","plugins","model","fieldRegistry","converters","ConverterCollection","fields","values","result"],"mappings":";AAaO,MAAMA,mCAAmC,CAC5CC;IAEA,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGH;IAE1C,MAAMI,aAAa,IAAIC,oBAAoB;QACvCJ;QACAE;IACJ;IAEA,OAAO,CAA4C,EAC/CG,MAAM,EACNC,MAAM,EAC4B;QAClC,MAAMC,SAASJ,WAAW,gBAAgB,CAAI;YAC1C,QAAQE,UAAUJ,MAAM,MAAM;YAC9BK;QACJ;QACA,OAAOC,UAAW,CAAC;IACvB;AACJ"}
1
+ {"version":3,"file":"utils/converters/valueKeyToStorageConverter.js","sources":["../../../src/utils/converters/valueKeyToStorageConverter.ts"],"sourcesContent":["import type { CmsModelConverterCallable } from \"./ConverterCollection.js\";\nimport { ConverterCollection } from \"./ConverterCollection.js\";\nimport type { CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport type { ConverterCollectionConvertParams } from \"./types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\nimport type { CmsModelFieldConverterPlugin } from \"~/plugins/index.js\";\n\ninterface Params {\n model: Pick<CmsModel, \"fields\">;\n fieldConverters: CmsModelFieldConverterPlugin[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport const createValueKeyToStorageConverter = <T extends CmsEntryValues = CmsEntryValues>(\n params: Params\n): CmsModelConverterCallable<T> => {\n const { fieldConverters, model, fieldRegistry } = params;\n\n const converters = new ConverterCollection({\n fieldConverters,\n fieldRegistry\n });\n\n return <T extends CmsEntryValues = CmsEntryValues>({\n fields,\n values\n }: ConverterCollectionConvertParams<T>) => {\n const result = converters.convertToStorage<T>({\n fields: fields || model.fields,\n values\n });\n return result || ({} as T);\n };\n};\n"],"names":["createValueKeyToStorageConverter","params","fieldConverters","model","fieldRegistry","converters","ConverterCollection","fields","values","result"],"mappings":";AAaO,MAAMA,mCAAmC,CAC5CC;IAEA,MAAM,EAAEC,eAAe,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGH;IAElD,MAAMI,aAAa,IAAIC,oBAAoB;QACvCJ;QACAE;IACJ;IAEA,OAAO,CAA4C,EAC/CG,MAAM,EACNC,MAAM,EAC4B;QAClC,MAAMC,SAASJ,WAAW,gBAAgB,CAAI;YAC1C,QAAQE,UAAUJ,MAAM,MAAM;YAC9BK;QACJ;QACA,OAAOC,UAAW,CAAC;IACvB;AACJ"}
@@ -1,7 +1,7 @@
1
1
  import type { ApiEndpoint, CmsContext, CmsModel } from "../types/index.js";
2
2
  import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
3
- import type { IGraphQLSchemaPlugin } from "@webiny/handler-graphql";
4
- import type { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types.js";
3
+ import type { IGraphQLSchemaPlugin } from "@webiny/api-graphql";
4
+ import type { GraphQLSchemaDefinition } from "@webiny/api-graphql/types.js";
5
5
  import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
6
6
  interface CreatePluginCallableParams {
7
7
  schema: GraphQLSchemaDefinition<CmsContext>;