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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/HeadlessCmsContextualSchema.d.ts +16 -0
  2. package/HeadlessCmsContextualSchema.js +32 -0
  3. package/HeadlessCmsContextualSchema.js.map +1 -0
  4. package/HeadlessCmsEndpointConfig.d.ts +10 -0
  5. package/HeadlessCmsEndpointConfig.js +5 -0
  6. package/HeadlessCmsEndpointConfig.js.map +1 -0
  7. package/HeadlessCmsFeature.d.ts +10 -0
  8. package/HeadlessCmsFeature.js +195 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +26 -0
  11. package/createCmsRoute.js +59 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +29 -15
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  16. package/crud/contentEntry/references/validateEntries.d.ts +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +17 -7
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry.crud.js +22 -20
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/defaultFields.js +3 -2
  22. package/crud/contentModel/defaultFields.js.map +1 -1
  23. package/crud/contentModel.crud.js +8 -6
  24. package/crud/contentModel.crud.js.map +1 -1
  25. package/crud/contentModelGroup.crud.js +7 -5
  26. package/crud/contentModelGroup.crud.js.map +1 -1
  27. package/domain/contentModel/schemas.d.ts +2 -0
  28. package/domain/contentModel/schemas.js +4 -2
  29. package/domain/contentModel/schemas.js.map +1 -1
  30. package/domain/contentModel/validation/modelFields.js +21 -15
  31. package/domain/contentModel/validation/modelFields.js.map +1 -1
  32. package/export/abstractions.d.ts +9 -0
  33. package/export/abstractions.js +6 -0
  34. package/export/abstractions.js.map +1 -0
  35. package/export/crud/exporting.js +8 -2
  36. package/export/crud/exporting.js.map +1 -1
  37. package/export/crud/importing.js +13 -4
  38. package/export/crud/importing.js.map +1 -1
  39. package/export/crud/imports/importGroups.js +23 -23
  40. package/export/crud/imports/importGroups.js.map +1 -1
  41. package/export/crud/imports/importModels.js +25 -22
  42. package/export/crud/imports/importModels.js.map +1 -1
  43. package/export/graphql/index.d.ts +2 -3
  44. package/export/graphql/index.js +6 -10
  45. package/export/graphql/index.js.map +1 -1
  46. package/exports/api/cms/model.d.ts +4 -1
  47. package/exports/api/cms/model.js +2 -0
  48. package/exports/api/cms/storage.d.ts +0 -1
  49. package/exports/api/cms/storage.js +0 -1
  50. package/features/ai/DescribeContentModelTool.d.ts +55 -0
  51. package/features/ai/DescribeContentModelTool.js +60 -0
  52. package/features/ai/DescribeContentModelTool.js.map +1 -0
  53. package/features/ai/ListContentModelsTool.d.ts +41 -0
  54. package/features/ai/ListContentModelsTool.js +44 -0
  55. package/features/ai/ListContentModelsTool.js.map +1 -0
  56. package/features/ai/QueryEntriesTool.d.ts +75 -0
  57. package/features/ai/QueryEntriesTool.js +90 -0
  58. package/features/ai/QueryEntriesTool.js.map +1 -0
  59. package/features/ai/feature.d.ts +8 -0
  60. package/features/ai/feature.js +15 -0
  61. package/features/ai/feature.js.map +1 -0
  62. package/features/ai/index.d.ts +4 -0
  63. package/features/ai/index.js +4 -0
  64. package/features/contentEntry/ContentEntriesFeature.js +0 -2
  65. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  66. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
  67. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
  68. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  69. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  70. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  71. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  72. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
  73. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
  74. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  75. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  76. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  77. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  78. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
  79. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
  80. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  81. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  82. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  83. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  84. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
  85. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
  86. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  87. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  88. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  89. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  90. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  91. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  92. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  93. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
  94. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
  95. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  96. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  97. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  98. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  99. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
  100. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
  101. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  102. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  103. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  104. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  105. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
  106. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
  107. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  108. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  109. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  110. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  111. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  112. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  113. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  114. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  115. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  116. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  117. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
  118. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
  119. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  120. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  121. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  122. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  123. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  124. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  125. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  126. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
  127. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
  128. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  129. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  130. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  131. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  132. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  133. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  134. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  135. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  136. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  137. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  138. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  139. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  140. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  141. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
  142. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
  143. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  144. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  145. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  146. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  147. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
  148. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
  149. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  150. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  151. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  152. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  153. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
  154. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
  155. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  156. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  157. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  158. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  159. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
  160. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
  161. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  162. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  163. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  164. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  165. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
  166. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
  167. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  168. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  169. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  170. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  171. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  172. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  173. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
  174. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
  175. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  176. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  177. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  178. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  179. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  180. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  181. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  182. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
  183. package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
  184. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  185. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  186. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  187. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  188. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  189. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  190. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  191. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  192. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  193. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  194. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
  195. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
  196. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  197. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  198. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  199. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  200. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
  201. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
  202. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  203. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  204. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  205. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  206. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
  207. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
  208. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  209. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  210. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  211. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  212. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
  213. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
  214. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  215. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  216. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  217. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  218. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
  219. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
  220. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  221. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  222. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  223. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  224. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
  225. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
  226. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  227. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  228. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  229. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  230. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  231. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  232. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  233. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  234. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  235. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  236. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  237. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  238. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  239. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  240. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  241. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  242. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  243. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  244. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  245. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  246. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  247. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  248. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  249. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  250. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  251. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  252. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  253. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  254. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
  255. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
  256. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
  257. package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
  258. package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
  259. package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
  260. package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
  261. package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
  262. package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
  263. package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
  264. package/features/contentModel/ComponentMapGenerator/index.js +2 -0
  265. package/features/contentModel/ContentModelFeature.js +6 -0
  266. package/features/contentModel/ContentModelFeature.js.map +1 -1
  267. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
  268. package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
  269. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  270. package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
  271. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  272. package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
  273. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  274. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
  275. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
  276. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  277. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
  278. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  279. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
  280. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  281. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
  282. package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
  283. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  284. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  285. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  286. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  287. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
  288. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
  289. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
  290. package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
  291. package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
  292. package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
  293. package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
  294. package/features/contentModel/RefModelsGenerator/feature.js +11 -0
  295. package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
  296. package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
  297. package/features/contentModel/RefModelsGenerator/index.js +2 -0
  298. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
  299. package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
  300. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  301. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  302. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  303. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
  304. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  305. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  306. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
  307. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  308. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  309. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  310. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  311. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  312. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  313. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  314. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  315. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  316. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  317. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  318. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  319. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  320. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  321. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  322. package/features/contentModel/shared/abstractions.d.ts +10 -0
  323. package/features/contentModel/shared/abstractions.js +2 -1
  324. package/features/contentModel/shared/abstractions.js.map +1 -1
  325. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
  326. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
  327. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  328. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
  329. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
  330. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  331. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
  332. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  333. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
  334. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
  335. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  336. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  337. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  338. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  339. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  340. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  341. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  342. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  343. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  344. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  345. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  346. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  347. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  348. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  349. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  350. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  351. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
  352. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
  353. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  354. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  355. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
  356. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  357. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
  358. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  359. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  360. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  361. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  362. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  363. package/features/contentModelGroup/shared/abstractions.js +2 -1
  364. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  365. package/features/graphql/feature.js +2 -0
  366. package/features/graphql/feature.js.map +1 -1
  367. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  368. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  369. package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
  370. package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
  371. package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
  372. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
  373. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  374. package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
  375. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  376. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  377. package/features/graphql/fields/base/RefToGraphQL.js +10 -18
  378. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  379. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  380. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  381. package/features/modelBuilder/abstractions.d.ts +10 -0
  382. package/features/modelBuilder/abstractions.js.map +1 -1
  383. package/features/modelBuilder/feature.js +2 -0
  384. package/features/modelBuilder/feature.js.map +1 -1
  385. package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
  386. package/features/modelBuilder/fields/AssetFieldType.js +46 -0
  387. package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
  388. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
  389. package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
  390. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  391. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
  392. package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
  393. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  394. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  395. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  396. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  397. package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
  398. package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
  399. package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
  400. package/features/modelBuilder/index.d.ts +1 -1
  401. package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
  402. package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
  403. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  404. package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
  405. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  406. package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
  407. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  408. package/features/shared/abstractions.d.ts +11 -15
  409. package/features/shared/abstractions.js +3 -3
  410. package/features/shared/abstractions.js.map +1 -1
  411. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  418. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  419. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  420. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  421. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  422. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  423. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  424. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  425. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  426. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  427. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  428. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  429. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  430. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  431. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  432. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  433. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  434. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  435. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  436. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  437. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  438. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  439. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  440. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  441. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  442. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  443. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  444. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  445. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  446. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  447. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  448. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  449. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  450. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  451. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  452. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  453. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  454. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  455. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  456. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  457. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  458. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  459. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  460. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  461. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  462. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  463. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  464. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  465. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  466. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  467. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  468. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  469. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  470. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  471. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  472. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  473. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  474. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  475. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  476. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  477. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  478. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  479. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  480. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  481. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  482. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  483. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  484. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  485. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  486. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  487. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  488. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  489. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  490. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  491. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  492. package/features/shared/storageOperations/index.d.ts +32 -0
  493. package/features/shared/storageOperations/index.js +32 -0
  494. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  495. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  496. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  497. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  498. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  499. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  500. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  501. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  502. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  503. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  504. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  505. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  506. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  507. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  508. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  509. package/features/sortMapper/SortMapper.js +2 -5
  510. package/features/sortMapper/SortMapper.js.map +1 -1
  511. package/features/whereMapper/WhereMapper.js +7 -5
  512. package/features/whereMapper/WhereMapper.js.map +1 -1
  513. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
  514. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  515. package/fieldConverters/abstractions.d.ts +14 -0
  516. package/fieldConverters/abstractions.js +13 -0
  517. package/fieldConverters/abstractions.js.map +1 -0
  518. package/fieldConverters/index.d.ts +1 -1
  519. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  520. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  521. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  522. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  523. package/graphql/CmsSchemaExecutor.js +5 -0
  524. package/graphql/CmsSchemaExecutor.js.map +1 -0
  525. package/graphql/buildSchemaPlugins.d.ts +2 -1
  526. package/graphql/buildSchemaPlugins.js +1 -3
  527. package/graphql/buildSchemaPlugins.js.map +1 -1
  528. package/graphql/checkEndpointAccess.js +5 -2
  529. package/graphql/checkEndpointAccess.js.map +1 -1
  530. package/graphql/createExecutableSchema.d.ts +1 -1
  531. package/graphql/createExecutableSchema.js +1 -1
  532. package/graphql/createExecutableSchema.js.map +1 -1
  533. package/graphql/generateSchema.d.ts +2 -1
  534. package/graphql/generateSchema.js +14 -5
  535. package/graphql/generateSchema.js.map +1 -1
  536. package/graphql/getSchema.js +7 -2
  537. package/graphql/getSchema.js.map +1 -1
  538. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  539. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  540. package/graphql/schema/baseContentSchema.d.ts +1 -6
  541. package/graphql/schema/baseContentSchema.js +5 -8
  542. package/graphql/schema/baseContentSchema.js.map +1 -1
  543. package/graphql/schema/baseSchema.d.ts +2 -2
  544. package/graphql/schema/baseSchema.js +6 -41
  545. package/graphql/schema/baseSchema.js.map +1 -1
  546. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  547. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  548. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  549. package/graphql/schema/cms/createEntryResolver.js +2 -2
  550. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  551. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  552. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  553. package/graphql/schema/cms/getEntryResolver.js +5 -4
  554. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  555. package/graphql/schema/cms/getModelResolver.d.ts +35 -0
  556. package/graphql/schema/cms/getModelResolver.js +49 -0
  557. package/graphql/schema/cms/getModelResolver.js.map +1 -0
  558. package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
  559. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  560. package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
  561. package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
  562. package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
  563. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  564. package/graphql/schema/cms/helpers/getModel.js +5 -3
  565. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  566. package/graphql/schema/cms/helpers/index.d.ts +1 -0
  567. package/graphql/schema/cms/helpers/index.js +1 -0
  568. package/graphql/schema/cms/helpers.d.ts +1 -0
  569. package/graphql/schema/cms/helpers.js +1 -0
  570. package/graphql/schema/cms/listEntriesResolver.js +5 -4
  571. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  572. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  573. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  574. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  575. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  576. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  577. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  578. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  579. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  580. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  581. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  582. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  583. package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
  584. package/graphql/schema/cms/resolvers/getModel.js +18 -0
  585. package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
  586. package/graphql/schema/cms/resolvers/index.d.ts +1 -0
  587. package/graphql/schema/cms/resolvers/index.js +1 -0
  588. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  589. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  590. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  591. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  592. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  593. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  594. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  595. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  596. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  597. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  598. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  599. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  600. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  601. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  602. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  603. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  604. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  605. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  606. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  607. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  608. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  609. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  610. package/graphql/schema/cms/typeDefs/query.js +2 -1
  611. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  612. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  613. package/graphql/schema/cms/typeDefs/responses.js +6 -1
  614. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  615. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  616. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  617. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  618. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  619. package/graphql/schema/contentEntries.js +43 -32
  620. package/graphql/schema/contentEntries.js.map +1 -1
  621. package/graphql/schema/contentModelGroups.js +39 -18
  622. package/graphql/schema/contentModelGroups.js.map +1 -1
  623. package/graphql/schema/contentModels.js +68 -16
  624. package/graphql/schema/contentModels.js.map +1 -1
  625. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  626. package/graphql/schema/createFieldResolvers.js.map +1 -1
  627. package/graphql/schema/createManageResolvers.js +4 -2
  628. package/graphql/schema/createManageResolvers.js.map +1 -1
  629. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  630. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  631. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  632. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  633. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  634. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  635. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  636. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  637. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  638. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  639. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  640. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  641. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  642. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  643. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  644. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  645. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  646. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  647. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  648. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  649. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  650. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  651. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  652. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  653. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  654. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  655. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  656. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  657. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  658. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  659. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  660. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  661. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  662. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  663. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  664. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  665. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  666. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  667. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  668. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  669. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  670. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  671. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  672. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  673. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  674. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  675. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  676. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  677. package/graphql/schema/schemaPlugins.d.ts +2 -1
  678. package/graphql/schema/schemaPlugins.js +2 -4
  679. package/graphql/schema/schemaPlugins.js.map +1 -1
  680. package/index.d.ts +7 -6
  681. package/index.js +4 -22
  682. package/legacy/abstractions.js.map +1 -1
  683. package/package.json +23 -29
  684. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  685. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  686. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  687. package/plugins/CmsModelPlugin.js +2 -1
  688. package/plugins/CmsModelPlugin.js.map +1 -1
  689. package/plugins/index.d.ts +0 -1
  690. package/plugins/index.js +0 -1
  691. package/types/fields/dynamicZoneField.d.ts +1 -0
  692. package/types/model.d.ts +6 -0
  693. package/types/modelField.d.ts +2 -0
  694. package/types/types.d.ts +10 -183
  695. package/types/types.js.map +1 -1
  696. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  697. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  698. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  699. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  700. package/utils/contentModelToJsonSchema/index.js +1 -0
  701. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  702. package/utils/contentModelToJsonSchema/types.js +0 -0
  703. package/utils/converters/ConverterCollection.d.ts +2 -2
  704. package/utils/converters/ConverterCollection.js +1 -3
  705. package/utils/converters/ConverterCollection.js.map +1 -1
  706. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  707. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  708. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  709. package/utils/converters/valueKeyStorageConverter.js +4 -2
  710. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  711. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  712. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  713. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  714. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  715. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  716. package/utils/index.d.ts +1 -0
  717. package/utils/index.js +1 -0
  718. package/utils/isHeadlessCmsReady.d.ts +1 -1
  719. package/utils/isHeadlessCmsReady.js +3 -2
  720. package/utils/isHeadlessCmsReady.js.map +1 -1
  721. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  722. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  723. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  724. package/abstractions/entryHooks/index.d.ts +0 -1
  725. package/abstractions/entryHooks/index.js +0 -1
  726. package/abstractions/index.d.ts +0 -1
  727. package/abstractions/index.js +0 -1
  728. package/context.d.ts +0 -3
  729. package/context.js +0 -131
  730. package/context.js.map +0 -1
  731. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  732. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  733. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  734. package/extensions/entryHooks/index.d.ts +0 -1
  735. package/extensions/entryHooks/index.js +0 -1
  736. package/extensions/index.d.ts +0 -5
  737. package/extensions/index.js +0 -7
  738. package/extensions/index.js.map +0 -1
  739. package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
  740. package/features/runtimeTenant/RuntimeTenant.js +0 -22
  741. package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
  742. package/features/runtimeTenant/abstractions.d.ts +0 -11
  743. package/features/runtimeTenant/abstractions.js +0 -5
  744. package/features/runtimeTenant/abstractions.js.map +0 -1
  745. package/features/runtimeTenant/index.d.ts +0 -2
  746. package/features/runtimeTenant/index.js +0 -2
  747. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  748. package/graphql/graphQLHandlerFactory.js +0 -22
  749. package/graphql/graphQLHandlerFactory.js.map +0 -1
  750. package/graphql/handleRequest.d.ts +0 -11
  751. package/graphql/handleRequest.js +0 -62
  752. package/graphql/handleRequest.js.map +0 -1
  753. package/graphql/index.d.ts +0 -4
  754. package/graphql/index.js +0 -11
  755. package/graphql/index.js.map +0 -1
  756. package/graphql/schema/cms/index.d.ts +0 -2
  757. package/graphql/schema/cms/index.js +0 -24
  758. package/graphql/schema/cms/index.js.map +0 -1
  759. package/index.js.map +0 -1
  760. package/parameters/context.d.ts +0 -2
  761. package/parameters/context.js +0 -7
  762. package/parameters/context.js.map +0 -1
  763. package/parameters/header.d.ts +0 -2
  764. package/parameters/header.js +0 -13
  765. package/parameters/header.js.map +0 -1
  766. package/parameters/index.d.ts +0 -3
  767. package/parameters/index.js +0 -3
  768. package/parameters/path.d.ts +0 -2
  769. package/parameters/path.js +0 -12
  770. package/parameters/path.js.map +0 -1
  771. package/plugins/CmsParametersPlugin.d.ts +0 -18
  772. package/plugins/CmsParametersPlugin.js +0 -16
  773. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js","sources":["../../src/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEntryValues,\n CmsModelDynamicZoneField\n} from \"~/types/index.js\";\nimport type { ConverterCollection } from \"~/utils/converters/ConverterCollection.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue\n .map(item => {\n return this.processFromStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n .filter(Boolean)\n };\n }\n\n if (Array.isArray(value)) {\n throw new WebinyError(\n `Dynamic zone field \"${field.fieldId}\" is expecting a non-array value.`,\n \"DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE\",\n {\n field,\n value\n }\n );\n }\n\n const processedValue = this.processFromStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.fieldId]: processedValue\n };\n }\n\n private processFromStorage(params: ProcessValue) {\n const { templates, value, converterCollection } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const { _templateId } = value;\n\n const template = templates.find(t => t.id === _templateId);\n if (!template) {\n // TODO Should we just return undefined?\n console.warn({\n message: \"Unknown template - converting from storage.\",\n code: \"UNKNOWN_TEMPLATE\",\n data: {\n templateId: _templateId\n }\n });\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertFromStorage({\n field,\n value: value[field.storageId]\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n}\n"],"names":["CmsModelDynamicZoneFieldConverterPlugin","CmsModelFieldConverterPlugin","field","params","value","converterCollection","templates","Array","item","processedValue","templateId","template","t","values","converter","converted","undefined","Object","arrayValue","Boolean","WebinyError","_templateId","console"],"mappings":";;AAmBO,MAAMA,gDAAgDC;IAGzC,eAAuB;QACnC,OAAO;IACX;IAEQ,aAAaC,KAA+B,EAA4B;QAC5E,OAAOA,MAAM,QAAQ,EAAE,aAAa,EAAE;IAC1C;IAEgB,iBACZC,MAA+C,EACjC;QACd,MAAM,EAAED,KAAK,EAAEE,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAE9C,MAAMG,YAAY,IAAI,CAAC,YAAY,CAACJ;QAEpC,IAAII,AAAqB,MAArBA,UAAU,MAAM,EAChB,OAAO,CAAC;QAGZ,IAAIJ,MAAM,IAAI,EAAE;YACZ,IAAIK,MAAM,OAAO,CAACH,QACd,OAAO;gBACH,CAACF,MAAM,SAAS,CAAC,EAAEE,MAAM,GAAG,CAACI,CAAAA,OAClB,IAAI,CAAC,gBAAgB,CAAC;wBACzBF;wBACAD;wBACA,OAAOG;oBACX;YAER;YAIJ,OAAO,CAAC;QACZ;QAGA,IAAID,MAAM,OAAO,CAACH,QACd,OAAO,CAAC;QAGZ,MAAMK,iBAAiB,IAAI,CAAC,gBAAgB,CAAC;YACzCH;YACAD;YACAD;QACJ;QAEA,OAAO;YACH,CAACF,MAAM,SAAS,CAAC,EAAEO;QACvB;IACJ;IAEQ,iBAAiBN,MAAoB,EAAE;QAC3C,MAAM,EAAEG,SAAS,EAAED,mBAAmB,EAAE,GAAGF;QAC3C,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,IAAIC,QAAAA,OACA;QAGJ,MAAMM,aAAaN,MAAM,WAAW;QACpC,MAAMO,WAAWL,UAAU,IAAI,CAACM,CAAAA,IACrBF,eAAeE,EAAE,EAAE;QAG9B,IAAI,CAACD,UACD;QAGJ,OAAOA,SAAS,MAAM,CAAC,MAAM,CACzB,CAACE,QAAQX;YACL,MAAMY,YAAYT,oBAAoB,YAAY,CAACH,MAAM,IAAI;YAC7D,MAAMa,YAAYD,UAAU,gBAAgB,CAAC;gBACzCZ;gBACA,OAAOE,QAAQA,KAAK,CAACF,MAAM,OAAO,CAAC,GAAGc;YAC1C;YACAC,OAAO,MAAM,CAACJ,QAAQE;YACtB,OAAOF;QACX,GACA;YACI,aAAaF,SAAS,EAAE;QAC5B;IAER;IAEgB,mBACZR,MAA+C,EACjC;QACd,MAAM,EAAED,KAAK,EAAEE,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAE9C,MAAMG,YAAY,IAAI,CAAC,YAAY,CAACJ;QAEpC,IAAII,AAAqB,MAArBA,UAAU,MAAM,EAChB,OAAO,CAAC;QAGZ,IAAIJ,MAAM,IAAI,EAAE;YACZ,MAAMgB,aAAaX,MAAM,OAAO,CAACH,SAASA,QAAQ,EAAE;YAEpD,OAAO;gBACH,CAACF,MAAM,OAAO,CAAC,EAAEgB,WACZ,GAAG,CAACV,CAAAA,OACM,IAAI,CAAC,kBAAkB,CAAC;wBAC3BF;wBACAD;wBACA,OAAOG;oBACX,IAEH,MAAM,CAACW;YAChB;QACJ;QAEA,IAAIZ,MAAM,OAAO,CAACH,QACd,MAAM,IAAIgB,MACN,CAAC,oBAAoB,EAAElB,MAAM,OAAO,CAAC,iCAAiC,CAAC,EACvE,0CACA;YACIA;YACAE;QACJ;QAIR,MAAMK,iBAAiB,IAAI,CAAC,kBAAkB,CAAC;YAC3CH;YACAD;YACAD;QACJ;QAEA,OAAO;YACH,CAACF,MAAM,OAAO,CAAC,EAAEO;QACrB;IACJ;IAEQ,mBAAmBN,MAAoB,EAAE;QAC7C,MAAM,EAAEG,SAAS,EAAEF,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAClD,IAAIC,QAAAA,OACA;QAGJ,MAAM,EAAEiB,WAAW,EAAE,GAAGjB;QAExB,MAAMO,WAAWL,UAAU,IAAI,CAACM,CAAAA,IAAKA,EAAE,EAAE,KAAKS;QAC9C,IAAI,CAACV,UAAU,YAEXW,QAAQ,IAAI,CAAC;YACT,SAAS;YACT,MAAM;YACN,MAAM;gBACF,YAAYD;YAChB;QACJ;QAIJ,OAAOV,SAAS,MAAM,CAAC,MAAM,CACzB,CAACE,QAAQX;YACL,MAAMY,YAAYT,oBAAoB,YAAY,CAACH,MAAM,IAAI;YAC7D,MAAMa,YAAYD,UAAU,kBAAkB,CAAC;gBAC3CZ;gBACA,OAAOE,KAAK,CAACF,MAAM,SAAS,CAAC;YACjC;YACAe,OAAO,MAAM,CAACJ,QAAQE;YACtB,OAAOF;QACX,GACA;YACI,aAAaF,SAAS,EAAE;QAC5B;IAER;;QA3KG,qBACa,IAAI,GAAG;;AA2K3B"}
1
+ {"version":3,"file":"fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js","sources":["../../src/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEntryValues,\n CmsModelDynamicZoneField\n} from \"~/types/index.js\";\nimport type { ConverterCollection } from \"~/utils/converters/ConverterCollection.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue.map(item => {\n return this.processFromStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n if (Array.isArray(value)) {\n throw new WebinyError(\n `Dynamic zone field \"${field.fieldId}\" is expecting a non-array value.`,\n \"DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE\",\n {\n field,\n value\n }\n );\n }\n\n const processedValue = this.processFromStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.fieldId]: processedValue\n };\n }\n\n private processFromStorage(params: ProcessValue) {\n const { templates, value, converterCollection } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const { _templateId } = value;\n\n const template = templates.find(t => t.id === _templateId);\n if (!template) {\n throw new WebinyError(\n \"Unknown template - converting from storage.\",\n \"UNKNOWN_TEMPLATE\",\n {\n templateId: _templateId\n }\n );\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertFromStorage({\n field,\n value: value[field.storageId]\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n}\n"],"names":["CmsModelDynamicZoneFieldConverterPlugin","CmsModelFieldConverterPlugin","field","params","value","converterCollection","templates","Array","item","processedValue","templateId","template","t","values","converter","converted","undefined","Object","arrayValue","WebinyError","_templateId"],"mappings":";;AAmBO,MAAMA,gDAAgDC;IAGzC,eAAuB;QACnC,OAAO;IACX;IAEQ,aAAaC,KAA+B,EAA4B;QAC5E,OAAOA,MAAM,QAAQ,EAAE,aAAa,EAAE;IAC1C;IAEgB,iBACZC,MAA+C,EACjC;QACd,MAAM,EAAED,KAAK,EAAEE,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAE9C,MAAMG,YAAY,IAAI,CAAC,YAAY,CAACJ;QAEpC,IAAII,AAAqB,MAArBA,UAAU,MAAM,EAChB,OAAO,CAAC;QAGZ,IAAIJ,MAAM,IAAI,EAAE;YACZ,IAAIK,MAAM,OAAO,CAACH,QACd,OAAO;gBACH,CAACF,MAAM,SAAS,CAAC,EAAEE,MAAM,GAAG,CAACI,CAAAA,OAClB,IAAI,CAAC,gBAAgB,CAAC;wBACzBF;wBACAD;wBACA,OAAOG;oBACX;YAER;YAIJ,OAAO,CAAC;QACZ;QAGA,IAAID,MAAM,OAAO,CAACH,QACd,OAAO,CAAC;QAGZ,MAAMK,iBAAiB,IAAI,CAAC,gBAAgB,CAAC;YACzCH;YACAD;YACAD;QACJ;QAEA,OAAO;YACH,CAACF,MAAM,SAAS,CAAC,EAAEO;QACvB;IACJ;IAEQ,iBAAiBN,MAAoB,EAAE;QAC3C,MAAM,EAAEG,SAAS,EAAED,mBAAmB,EAAE,GAAGF;QAC3C,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,IAAIC,QAAAA,OACA;QAGJ,MAAMM,aAAaN,MAAM,WAAW;QACpC,MAAMO,WAAWL,UAAU,IAAI,CAACM,CAAAA,IACrBF,eAAeE,EAAE,EAAE;QAG9B,IAAI,CAACD,UACD;QAGJ,OAAOA,SAAS,MAAM,CAAC,MAAM,CACzB,CAACE,QAAQX;YACL,MAAMY,YAAYT,oBAAoB,YAAY,CAACH,MAAM,IAAI;YAC7D,MAAMa,YAAYD,UAAU,gBAAgB,CAAC;gBACzCZ;gBACA,OAAOE,QAAQA,KAAK,CAACF,MAAM,OAAO,CAAC,GAAGc;YAC1C;YACAC,OAAO,MAAM,CAACJ,QAAQE;YACtB,OAAOF;QACX,GACA;YACI,aAAaF,SAAS,EAAE;QAC5B;IAER;IAEgB,mBACZR,MAA+C,EACjC;QACd,MAAM,EAAED,KAAK,EAAEE,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAE9C,MAAMG,YAAY,IAAI,CAAC,YAAY,CAACJ;QAEpC,IAAII,AAAqB,MAArBA,UAAU,MAAM,EAChB,OAAO,CAAC;QAGZ,IAAIJ,MAAM,IAAI,EAAE;YACZ,MAAMgB,aAAaX,MAAM,OAAO,CAACH,SAASA,QAAQ,EAAE;YAEpD,OAAO;gBACH,CAACF,MAAM,OAAO,CAAC,EAAEgB,WAAW,GAAG,CAACV,CAAAA,OACrB,IAAI,CAAC,kBAAkB,CAAC;wBAC3BF;wBACAD;wBACA,OAAOG;oBACX;YAER;QACJ;QAEA,IAAID,MAAM,OAAO,CAACH,QACd,MAAM,IAAIe,MACN,CAAC,oBAAoB,EAAEjB,MAAM,OAAO,CAAC,iCAAiC,CAAC,EACvE,0CACA;YACIA;YACAE;QACJ;QAIR,MAAMK,iBAAiB,IAAI,CAAC,kBAAkB,CAAC;YAC3CH;YACAD;YACAD;QACJ;QAEA,OAAO;YACH,CAACF,MAAM,OAAO,CAAC,EAAEO;QACrB;IACJ;IAEQ,mBAAmBN,MAAoB,EAAE;QAC7C,MAAM,EAAEG,SAAS,EAAEF,KAAK,EAAEC,mBAAmB,EAAE,GAAGF;QAClD,IAAIC,QAAAA,OACA;QAGJ,MAAM,EAAEgB,WAAW,EAAE,GAAGhB;QAExB,MAAMO,WAAWL,UAAU,IAAI,CAACM,CAAAA,IAAKA,EAAE,EAAE,KAAKQ;QAC9C,IAAI,CAACT,UACD,MAAM,IAAIQ,MACN,+CACA,oBACA;YACI,YAAYC;QAChB;QAIR,OAAOT,SAAS,MAAM,CAAC,MAAM,CACzB,CAACE,QAAQX;YACL,MAAMY,YAAYT,oBAAoB,YAAY,CAACH,MAAM,IAAI;YAC7D,MAAMa,YAAYD,UAAU,kBAAkB,CAAC;gBAC3CZ;gBACA,OAAOE,KAAK,CAACF,MAAM,SAAS,CAAC;YACjC;YACAe,OAAO,MAAM,CAACJ,QAAQE;YACtB,OAAOF;QACX,GACA;YACI,aAAaF,SAAS,EAAE;QAC5B;IAER;;QAvKG,qBACa,IAAI,GAAG;;AAuK3B"}
@@ -0,0 +1,14 @@
1
+ import type { Container } from "@webiny/di";
2
+ import type { CmsModelFieldConverterPlugin } from "../plugins/CmsModelFieldConverterPlugin.js";
3
+ /**
4
+ * Multi-instance DI token for CMS field value converters (fieldId <-> storageId).
5
+ * Replaces reading CmsModelFieldConverterPlugin instances from the plugins container.
6
+ */
7
+ export declare const CmsFieldConverter: import("@webiny/di").Abstraction<CmsModelFieldConverterPlugin>;
8
+ export declare namespace CmsFieldConverter {
9
+ type Interface = CmsModelFieldConverterPlugin;
10
+ }
11
+ /**
12
+ * Registers the built-in field converters as CmsFieldConverter implementations.
13
+ */
14
+ export declare const registerFieldConverters: (container: Container) => void;
@@ -0,0 +1,13 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ import { CmsModelObjectFieldConverterPlugin } from "./CmsModelObjectFieldConverterPlugin.js";
3
+ import { CmsModelDefaultFieldConverterPlugin } from "./CmsModelDefaultFieldConverterPlugin.js";
4
+ import { CmsModelDynamicZoneFieldConverterPlugin } from "./CmsModelDynamicZoneFieldConverterPlugin.js";
5
+ const CmsFieldConverter = createAbstraction("CmsFieldConverter");
6
+ const registerFieldConverters = (container)=>{
7
+ container.registerInstance(CmsFieldConverter, new CmsModelObjectFieldConverterPlugin());
8
+ container.registerInstance(CmsFieldConverter, new CmsModelDynamicZoneFieldConverterPlugin());
9
+ container.registerInstance(CmsFieldConverter, new CmsModelDefaultFieldConverterPlugin());
10
+ };
11
+ export { CmsFieldConverter, registerFieldConverters };
12
+
13
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldConverters/abstractions.js","sources":["../../src/fieldConverters/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport type { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport { CmsModelObjectFieldConverterPlugin } from \"~/fieldConverters/CmsModelObjectFieldConverterPlugin.js\";\nimport { CmsModelDefaultFieldConverterPlugin } from \"~/fieldConverters/CmsModelDefaultFieldConverterPlugin.js\";\nimport { CmsModelDynamicZoneFieldConverterPlugin } from \"~/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js\";\n\n/**\n * Multi-instance DI token for CMS field value converters (fieldId <-> storageId).\n * Replaces reading CmsModelFieldConverterPlugin instances from the plugins container.\n */\nexport const CmsFieldConverter =\n createAbstraction<CmsModelFieldConverterPlugin>(\"CmsFieldConverter\");\n\nexport namespace CmsFieldConverter {\n export type Interface = CmsModelFieldConverterPlugin;\n}\n\n/**\n * Registers the built-in field converters as CmsFieldConverter implementations.\n */\nexport const registerFieldConverters = (container: Container): void => {\n container.registerInstance(CmsFieldConverter, new CmsModelObjectFieldConverterPlugin());\n container.registerInstance(CmsFieldConverter, new CmsModelDynamicZoneFieldConverterPlugin());\n container.registerInstance(CmsFieldConverter, new CmsModelDefaultFieldConverterPlugin());\n};\n"],"names":["CmsFieldConverter","createAbstraction","registerFieldConverters","container","CmsModelObjectFieldConverterPlugin","CmsModelDynamicZoneFieldConverterPlugin","CmsModelDefaultFieldConverterPlugin"],"mappings":";;;;AAWO,MAAMA,oBACTC,kBAAgD;AAS7C,MAAMC,0BAA0B,CAACC;IACpCA,UAAU,gBAAgB,CAACH,mBAAmB,IAAII;IAClDD,UAAU,gBAAgB,CAACH,mBAAmB,IAAIK;IAClDF,UAAU,gBAAgB,CAACH,mBAAmB,IAAIM;AACtD"}
@@ -4,4 +4,4 @@
4
4
  import { CmsModelObjectFieldConverterPlugin } from "../fieldConverters/CmsModelObjectFieldConverterPlugin.js";
5
5
  import { CmsModelDefaultFieldConverterPlugin } from "../fieldConverters/CmsModelDefaultFieldConverterPlugin.js";
6
6
  import { CmsModelDynamicZoneFieldConverterPlugin } from "../fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js";
7
- export declare const createFieldConverters: () => (CmsModelObjectFieldConverterPlugin | CmsModelDefaultFieldConverterPlugin | CmsModelDynamicZoneFieldConverterPlugin)[];
7
+ export declare const createFieldConverters: () => (CmsModelDefaultFieldConverterPlugin | CmsModelDynamicZoneFieldConverterPlugin | CmsModelObjectFieldConverterPlugin)[];
@@ -0,0 +1,8 @@
1
+ import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
2
+ export interface ICmsGraphQLSchemaFactory {
3
+ execute(): ICmsGraphQLSchemaPlugin<any>[] | Promise<ICmsGraphQLSchemaPlugin<any>[]>;
4
+ }
5
+ export declare const CmsGraphQLSchemaFactory: import("@webiny/di").Abstraction<ICmsGraphQLSchemaFactory>;
6
+ export declare namespace CmsGraphQLSchemaFactory {
7
+ type Interface = ICmsGraphQLSchemaFactory;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const CmsGraphQLSchemaFactory = createAbstraction("CmsGraphQLSchemaFactory");
3
+ export { CmsGraphQLSchemaFactory };
4
+
5
+ //# sourceMappingURL=CmsGraphQLSchemaFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/CmsGraphQLSchemaFactory.js","sources":["../../src/graphql/CmsGraphQLSchemaFactory.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\nexport interface ICmsGraphQLSchemaFactory {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n execute(): ICmsGraphQLSchemaPlugin<any>[] | Promise<ICmsGraphQLSchemaPlugin<any>[]>;\n}\n\nexport const CmsGraphQLSchemaFactory =\n createAbstraction<ICmsGraphQLSchemaFactory>(\"CmsGraphQLSchemaFactory\");\n\nexport namespace CmsGraphQLSchemaFactory {\n export type Interface = ICmsGraphQLSchemaFactory;\n}\n"],"names":["CmsGraphQLSchemaFactory","createAbstraction"],"mappings":";AAQO,MAAMA,0BACTC,kBAA4C"}
@@ -0,0 +1,10 @@
1
+ import type { ApiEndpoint } from "../types/index.js";
2
+ import type { GraphQLRequestBody } from "@webiny/api-graphql/types.js";
3
+ import type { ExecutionResult } from "graphql";
4
+ export interface ICmsSchemaExecutor {
5
+ execute(type: ApiEndpoint, body: GraphQLRequestBody | GraphQLRequestBody[]): Promise<ExecutionResult | ExecutionResult[]>;
6
+ }
7
+ export declare const CmsSchemaExecutor: import("@webiny/di").Abstraction<ICmsSchemaExecutor>;
8
+ export declare namespace CmsSchemaExecutor {
9
+ type Interface = ICmsSchemaExecutor;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const CmsSchemaExecutor = createAbstraction("CmsSchemaExecutor");
3
+ export { CmsSchemaExecutor };
4
+
5
+ //# sourceMappingURL=CmsSchemaExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/CmsSchemaExecutor.js","sources":["../../src/graphql/CmsSchemaExecutor.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ApiEndpoint } from \"~/types/index.js\";\nimport type { GraphQLRequestBody } from \"@webiny/api-graphql/types.js\";\nimport type { ExecutionResult } from \"graphql\";\n\nexport interface ICmsSchemaExecutor {\n execute(\n type: ApiEndpoint,\n body: GraphQLRequestBody | GraphQLRequestBody[]\n ): Promise<ExecutionResult | ExecutionResult[]>;\n}\n\nexport const CmsSchemaExecutor = createAbstraction<ICmsSchemaExecutor>(\"CmsSchemaExecutor\");\n\nexport namespace CmsSchemaExecutor {\n export type Interface = ICmsSchemaExecutor;\n}\n"],"names":["CmsSchemaExecutor","createAbstraction"],"mappings":";AAYO,MAAMA,oBAAoBC,kBAAsC"}
@@ -1,4 +1,4 @@
1
- import type { CmsContext, CmsModel } from "../types/index.js";
1
+ import type { ApiEndpoint, CmsContext, CmsModel } from "../types/index.js";
2
2
  import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
3
3
  /**
4
4
  * This factory is called whenever we need to generate graphql-schema plugins using the current context.
@@ -6,6 +6,7 @@ import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
6
6
  interface BuildSchemaPluginsParams {
7
7
  context: CmsContext;
8
8
  models: CmsModel[];
9
+ type: ApiEndpoint | null;
9
10
  }
10
11
  export declare const buildSchemaPlugins: (params: BuildSchemaPluginsParams) => Promise<ICmsGraphQLSchemaPlugin[]>;
11
12
  export {};
@@ -4,9 +4,7 @@ import { createGroupsSchema } from "./schema/contentModelGroups.js";
4
4
  import { createBaseContentSchema } from "./schema/baseContentSchema.js";
5
5
  import { generateSchemaPlugins } from "./schema/schemaPlugins.js";
6
6
  const buildSchemaPlugins = async (params)=>[
7
- createBaseContentSchema({
8
- context: params.context
9
- }),
7
+ createBaseContentSchema(),
10
8
  createModelsSchema({
11
9
  context: params.context
12
10
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/buildSchemaPlugins.js","sources":["../../src/graphql/buildSchemaPlugins.ts"],"sourcesContent":["import type { CmsContext, CmsModel } from \"~/types/index.js\";\nimport { createModelsSchema } from \"./schema/contentModels.js\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries.js\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups.js\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema.js\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\ninterface BuildSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const buildSchemaPlugins = async (\n params: BuildSchemaPluginsParams\n): Promise<ICmsGraphQLSchemaPlugin[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema({\n context: params.context\n }),\n createModelsSchema({\n context: params.context\n }),\n createContentEntriesSchema({\n context: params.context\n }),\n createGroupsSchema({\n context: params.context\n }),\n // Dynamic schema\n ...(await generateSchemaPlugins(params))\n ].filter(Boolean);\n};\n"],"names":["buildSchemaPlugins","params","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","Boolean"],"mappings":";;;;;AAeO,MAAMA,qBAAqB,OAC9BC,SAEO;QAEHC,wBAAwB;YACpB,SAASD,OAAO,OAAO;QAC3B;QACAE,mBAAmB;YACf,SAASF,OAAO,OAAO;QAC3B;QACAG,2BAA2B;YACvB,SAASH,OAAO,OAAO;QAC3B;QACAI,mBAAmB;YACf,SAASJ,OAAO,OAAO;QAC3B;WAEI,MAAMK,sBAAsBL;KACnC,CAAC,MAAM,CAACM"}
1
+ {"version":3,"file":"graphql/buildSchemaPlugins.js","sources":["../../src/graphql/buildSchemaPlugins.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext, CmsModel } from \"~/types/index.js\";\nimport { createModelsSchema } from \"./schema/contentModels.js\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries.js\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups.js\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema.js\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\ninterface BuildSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n type: ApiEndpoint | null;\n}\nexport const buildSchemaPlugins = async (\n params: BuildSchemaPluginsParams\n): Promise<ICmsGraphQLSchemaPlugin[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema(),\n createModelsSchema({\n context: params.context\n }),\n createContentEntriesSchema({\n context: params.context\n }),\n createGroupsSchema({\n context: params.context\n }),\n // Dynamic schema\n ...(await generateSchemaPlugins(params))\n ].filter(Boolean);\n};\n"],"names":["buildSchemaPlugins","params","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","Boolean"],"mappings":";;;;;AAgBO,MAAMA,qBAAqB,OAC9BC,SAEO;QAEHC;QACAC,mBAAmB;YACf,SAASF,OAAO,OAAO;QAC3B;QACAG,2BAA2B;YACvB,SAASH,OAAO,OAAO;QAC3B;QACAI,mBAAmB;YACf,SAASJ,OAAO,OAAO;QAC3B;WAEI,MAAMK,sBAAsBL;KACnC,CAAC,MAAM,CAACM"}
@@ -1,7 +1,10 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
1
2
  import { NotAuthorizedError } from "../utils/errors.js";
3
+ import { HeadlessCmsEndpointConfig } from "../HeadlessCmsEndpointConfig.js";
2
4
  const checkEndpointAccess = async (context)=>{
3
- const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);
4
- if (!permission) throw new NotAuthorizedError(`Not allowed to access "${context.cms.type}" endpoint.`);
5
+ const endpointType = context.container.resolve(HeadlessCmsEndpointConfig).type;
6
+ const permission = await context.container.resolve(IdentityContext).getPermission(`cms.endpoint.${endpointType}`);
7
+ if (!permission) throw new NotAuthorizedError(`Not allowed to access "${endpointType}" endpoint.`);
5
8
  };
6
9
  export { checkEndpointAccess };
7
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/checkEndpointAccess.js","sources":["../../src/graphql/checkEndpointAccess.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\n\nexport const checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError(`Not allowed to access \"${context.cms.type}\" endpoint.`);\n }\n};\n"],"names":["checkEndpointAccess","context","permission","NotAuthorizedError"],"mappings":";AAGO,MAAMA,sBAAsB,OAAOC;IACtC,MAAMC,aAAa,MAAMD,QAAQ,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,EAAEA,QAAQ,GAAG,CAAC,IAAI,EAAE;IAC1F,IAAI,CAACC,YACD,MAAM,IAAIC,mBAAmB,CAAC,uBAAuB,EAAEF,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5F"}
1
+ {"version":3,"file":"graphql/checkEndpointAccess.js","sources":["../../src/graphql/checkEndpointAccess.ts"],"sourcesContent":["import { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport type { CmsContext } from \"~/types/index.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\nimport { HeadlessCmsEndpointConfig } from \"~/HeadlessCmsEndpointConfig.js\";\n\nexport const checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const endpointType = context.container.resolve(HeadlessCmsEndpointConfig).type;\n const permission = await context.container\n .resolve(IdentityContext)\n .getPermission(`cms.endpoint.${endpointType}`);\n if (!permission) {\n throw new NotAuthorizedError(`Not allowed to access \"${endpointType}\" endpoint.`);\n }\n};\n"],"names":["checkEndpointAccess","context","endpointType","HeadlessCmsEndpointConfig","permission","IdentityContext","NotAuthorizedError"],"mappings":";;;AAKO,MAAMA,sBAAsB,OAAOC;IACtC,MAAMC,eAAeD,QAAQ,SAAS,CAAC,OAAO,CAACE,2BAA2B,IAAI;IAC9E,MAAMC,aAAa,MAAMH,QAAQ,SAAS,CACrC,OAAO,CAACI,iBACR,aAAa,CAAC,CAAC,aAAa,EAAEH,cAAc;IACjD,IAAI,CAACE,YACD,MAAM,IAAIE,mBAAmB,CAAC,uBAAuB,EAAEJ,aAAa,WAAW,CAAC;AAExF"}
@@ -1,7 +1,7 @@
1
1
  import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
2
2
  import type { GraphQLSchema } from "graphql";
3
3
  interface Params {
4
- plugins: ICmsGraphQLSchemaPlugin[];
4
+ plugins: ICmsGraphQLSchemaPlugin<any>[];
5
5
  }
6
6
  export declare const assertFieldDescriptionsAreStrings: (schema: GraphQLSchema) => void;
7
7
  export declare const createExecutableSchema: (params: Params) => GraphQLSchema;
@@ -1,6 +1,6 @@
1
1
  import { makeExecutableSchema } from "@graphql-tools/schema";
2
2
  import { mergeResolvers } from "@graphql-tools/merge";
3
- import { ResolverDecoration } from "@webiny/handler-graphql";
3
+ import { ResolverDecoration } from "@webiny/api-graphql";
4
4
  const assertFieldDescriptionsAreStrings = (schema)=>{
5
5
  const typeMap = schema.getTypeMap();
6
6
  for (const type of Object.values(typeMap)){
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/createExecutableSchema.js","sources":["../../src/graphql/createExecutableSchema.ts"],"sourcesContent":["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { mergeResolvers } from \"@graphql-tools/merge\";\nimport { ResolverDecoration } from \"@webiny/handler-graphql\";\nimport type { Resolvers, TypeDefs } from \"@webiny/handler-graphql/types.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { GraphQLField, GraphQLSchema } from \"graphql\";\n\ninterface Params {\n plugins: ICmsGraphQLSchemaPlugin[];\n}\n\nexport const assertFieldDescriptionsAreStrings = (schema: GraphQLSchema): void => {\n const typeMap = schema.getTypeMap();\n\n for (const type of Object.values(typeMap)) {\n if (typeof (type as any).getFields !== \"function\") {\n continue;\n }\n\n const fields = (type as any).getFields() as Record<string, GraphQLField<any, any>>;\n for (const field of Object.values(fields)) {\n const desc = (field as any).description;\n if (desc !== null && desc !== undefined && typeof desc !== \"string\") {\n const message = `Invalid description type on ${type.name}.${field.name}: ${typeof desc}`;\n console.log(message);\n throw new Error(message);\n }\n }\n }\n};\n\nexport const createExecutableSchema = (params: Params) => {\n const { plugins } = params;\n\n const typeDefs: TypeDefs[] = [];\n const resolvers: Resolvers<any>[] = [];\n\n const resolverDecoration = new ResolverDecoration();\n\n // Get schema definitions from plugins\n for (const plugin of plugins) {\n const schema = plugin.schema;\n if (schema.typeDefs) {\n typeDefs.push(schema.typeDefs);\n }\n if (schema.resolvers) {\n resolvers.push(schema.resolvers);\n }\n if (schema.resolverDecorators) {\n resolverDecoration.addDecorators(schema.resolverDecorators);\n }\n }\n\n const executableSchema = makeExecutableSchema({\n typeDefs,\n resolvers: resolverDecoration.decorateResolvers(mergeResolvers(resolvers))\n });\n assertFieldDescriptionsAreStrings(executableSchema);\n\n return executableSchema;\n};\n"],"names":["assertFieldDescriptionsAreStrings","schema","typeMap","type","Object","fields","field","desc","message","console","Error","createExecutableSchema","params","plugins","typeDefs","resolvers","resolverDecoration","ResolverDecoration","plugin","executableSchema","makeExecutableSchema","mergeResolvers"],"mappings":";;;AAWO,MAAMA,oCAAoC,CAACC;IAC9C,MAAMC,UAAUD,OAAO,UAAU;IAEjC,KAAK,MAAME,QAAQC,OAAO,MAAM,CAACF,SAAU;QACvC,IAAI,AAAmC,cAAnC,OAAQC,KAAa,SAAS,EAC9B;QAGJ,MAAME,SAAUF,KAAa,SAAS;QACtC,KAAK,MAAMG,SAASF,OAAO,MAAM,CAACC,QAAS;YACvC,MAAME,OAAQD,MAAc,WAAW;YACvC,IAAIC,QAAAA,QAAuC,AAAgB,YAAhB,OAAOA,MAAmB;gBACjE,MAAMC,UAAU,CAAC,4BAA4B,EAAEL,KAAK,IAAI,CAAC,CAAC,EAAEG,MAAM,IAAI,CAAC,EAAE,EAAE,OAAOC,MAAM;gBACxFE,QAAQ,GAAG,CAACD;gBACZ,MAAM,IAAIE,MAAMF;YACpB;QACJ;IACJ;AACJ;AAEO,MAAMG,yBAAyB,CAACC;IACnC,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,WAAuB,EAAE;IAC/B,MAAMC,YAA8B,EAAE;IAEtC,MAAMC,qBAAqB,IAAIC;IAG/B,KAAK,MAAMC,UAAUL,QAAS;QAC1B,MAAMZ,SAASiB,OAAO,MAAM;QAC5B,IAAIjB,OAAO,QAAQ,EACfa,SAAS,IAAI,CAACb,OAAO,QAAQ;QAEjC,IAAIA,OAAO,SAAS,EAChBc,UAAU,IAAI,CAACd,OAAO,SAAS;QAEnC,IAAIA,OAAO,kBAAkB,EACzBe,mBAAmB,aAAa,CAACf,OAAO,kBAAkB;IAElE;IAEA,MAAMkB,mBAAmBC,qBAAqB;QAC1CN;QACA,WAAWE,mBAAmB,iBAAiB,CAACK,eAAeN;IACnE;IACAf,kCAAkCmB;IAElC,OAAOA;AACX"}
1
+ {"version":3,"file":"graphql/createExecutableSchema.js","sources":["../../src/graphql/createExecutableSchema.ts"],"sourcesContent":["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { mergeResolvers } from \"@graphql-tools/merge\";\nimport { ResolverDecoration } from \"@webiny/api-graphql\";\nimport type { Resolvers, TypeDefs } from \"@webiny/api-graphql/types.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { GraphQLField, GraphQLSchema } from \"graphql\";\n\ninterface Params {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n plugins: ICmsGraphQLSchemaPlugin<any>[];\n}\n\nexport const assertFieldDescriptionsAreStrings = (schema: GraphQLSchema): void => {\n const typeMap = schema.getTypeMap();\n\n for (const type of Object.values(typeMap)) {\n if (typeof (type as any).getFields !== \"function\") {\n continue;\n }\n\n const fields = (type as any).getFields() as Record<string, GraphQLField<any, any>>;\n for (const field of Object.values(fields)) {\n const desc = (field as any).description;\n if (desc !== null && desc !== undefined && typeof desc !== \"string\") {\n const message = `Invalid description type on ${type.name}.${field.name}: ${typeof desc}`;\n console.log(message);\n throw new Error(message);\n }\n }\n }\n};\n\nexport const createExecutableSchema = (params: Params) => {\n const { plugins } = params;\n\n const typeDefs: TypeDefs[] = [];\n const resolvers: Resolvers<any>[] = [];\n\n const resolverDecoration = new ResolverDecoration();\n\n // Get schema definitions from plugins\n for (const plugin of plugins) {\n const schema = plugin.schema;\n if (schema.typeDefs) {\n typeDefs.push(schema.typeDefs);\n }\n if (schema.resolvers) {\n resolvers.push(schema.resolvers);\n }\n if (schema.resolverDecorators) {\n resolverDecoration.addDecorators(schema.resolverDecorators);\n }\n }\n\n const executableSchema = makeExecutableSchema({\n typeDefs,\n resolvers: resolverDecoration.decorateResolvers(mergeResolvers(resolvers))\n });\n assertFieldDescriptionsAreStrings(executableSchema);\n\n return executableSchema;\n};\n"],"names":["assertFieldDescriptionsAreStrings","schema","typeMap","type","Object","fields","field","desc","message","console","Error","createExecutableSchema","params","plugins","typeDefs","resolvers","resolverDecoration","ResolverDecoration","plugin","executableSchema","makeExecutableSchema","mergeResolvers"],"mappings":";;;AAYO,MAAMA,oCAAoC,CAACC;IAC9C,MAAMC,UAAUD,OAAO,UAAU;IAEjC,KAAK,MAAME,QAAQC,OAAO,MAAM,CAACF,SAAU;QACvC,IAAI,AAAmC,cAAnC,OAAQC,KAAa,SAAS,EAC9B;QAGJ,MAAME,SAAUF,KAAa,SAAS;QACtC,KAAK,MAAMG,SAASF,OAAO,MAAM,CAACC,QAAS;YACvC,MAAME,OAAQD,MAAc,WAAW;YACvC,IAAIC,QAAAA,QAAuC,AAAgB,YAAhB,OAAOA,MAAmB;gBACjE,MAAMC,UAAU,CAAC,4BAA4B,EAAEL,KAAK,IAAI,CAAC,CAAC,EAAEG,MAAM,IAAI,CAAC,EAAE,EAAE,OAAOC,MAAM;gBACxFE,QAAQ,GAAG,CAACD;gBACZ,MAAM,IAAIE,MAAMF;YACpB;QACJ;IACJ;AACJ;AAEO,MAAMG,yBAAyB,CAACC;IACnC,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,WAAuB,EAAE;IAC/B,MAAMC,YAA8B,EAAE;IAEtC,MAAMC,qBAAqB,IAAIC;IAG/B,KAAK,MAAMC,UAAUL,QAAS;QAC1B,MAAMZ,SAASiB,OAAO,MAAM;QAC5B,IAAIjB,OAAO,QAAQ,EACfa,SAAS,IAAI,CAACb,OAAO,QAAQ;QAEjC,IAAIA,OAAO,SAAS,EAChBc,UAAU,IAAI,CAACd,OAAO,SAAS;QAEnC,IAAIA,OAAO,kBAAkB,EACzBe,mBAAmB,aAAa,CAACf,OAAO,kBAAkB;IAElE;IAEA,MAAMkB,mBAAmBC,qBAAqB;QAC1CN;QACA,WAAWE,mBAAmB,iBAAiB,CAACK,eAAeN;IACnE;IACAf,kCAAkCmB;IAElC,OAAOA;AACX"}
@@ -1,8 +1,9 @@
1
- import type { CmsContext, CmsModel } from "../types/index.js";
1
+ import type { ApiEndpoint, CmsContext, CmsModel } from "../types/index.js";
2
2
  import type { GraphQLSchema } from "graphql/type/index.js";
3
3
  interface GenerateSchemaParams {
4
4
  context: CmsContext;
5
5
  models: CmsModel[];
6
+ type: ApiEndpoint | null;
6
7
  }
7
8
  export declare const generateSchema: (params: GenerateSchemaParams) => Promise<GraphQLSchema>;
8
9
  export {};
@@ -1,20 +1,29 @@
1
1
  import { buildSchemaPlugins } from "./buildSchemaPlugins.js";
2
2
  import { createExecutableSchema } from "./createExecutableSchema.js";
3
- import { CmsGraphQLSchemaPlugin } from "../plugins/index.js";
3
+ import { CmsGraphQLSchemaFactory } from "./CmsGraphQLSchemaFactory.js";
4
4
  const generateSchema = async (params)=>{
5
- const { context, models } = params;
5
+ const { context, models, type } = params;
6
6
  let generatedSchemaPlugins = [];
7
7
  try {
8
8
  generatedSchemaPlugins = await buildSchemaPlugins({
9
9
  context,
10
- models
10
+ models,
11
+ type
11
12
  });
12
13
  } catch (ex) {
13
14
  console.log("Error while building schema plugins.");
14
15
  throw ex;
15
16
  }
16
- context.plugins.register(generatedSchemaPlugins);
17
- const schemaPlugins = context.plugins.byType(CmsGraphQLSchemaPlugin.type).filter((pl)=>{
17
+ const staticFactories = context.container.resolveAll(CmsGraphQLSchemaFactory);
18
+ const staticPlugins = [];
19
+ for (const factory of staticFactories){
20
+ const plugins = await factory.execute();
21
+ staticPlugins.push(...plugins);
22
+ }
23
+ const schemaPlugins = [
24
+ ...staticPlugins,
25
+ ...generatedSchemaPlugins
26
+ ].filter((pl)=>{
18
27
  if ("function" == typeof pl.isApplicable) return pl.isApplicable(context);
19
28
  return true;
20
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/generateSchema.js","sources":["../../src/graphql/generateSchema.ts"],"sourcesContent":["import type { CmsContext, CmsModel } from \"~/types/index.js\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins.js\";\nimport { createExecutableSchema } from \"./createExecutableSchema.js\";\nimport type { GraphQLSchema } from \"graphql/type/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\ninterface GenerateSchemaParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchema = async (params: GenerateSchemaParams): Promise<GraphQLSchema> => {\n const { context, models } = params;\n\n let generatedSchemaPlugins: ICmsGraphQLSchemaPlugin[] = [];\n try {\n generatedSchemaPlugins = await buildSchemaPlugins({ context, models });\n } catch (ex) {\n console.log(`Error while building schema plugins.`);\n throw ex;\n }\n\n context.plugins.register(generatedSchemaPlugins);\n\n const schemaPlugins = context.plugins\n .byType<ICmsGraphQLSchemaPlugin>(CmsGraphQLSchemaPlugin.type)\n .filter(pl => {\n if (typeof pl.isApplicable === \"function\") {\n return pl.isApplicable(context);\n }\n return true;\n });\n\n return createExecutableSchema({\n plugins: schemaPlugins\n });\n};\n"],"names":["generateSchema","params","context","models","generatedSchemaPlugins","buildSchemaPlugins","ex","console","schemaPlugins","CmsGraphQLSchemaPlugin","pl","createExecutableSchema"],"mappings":";;;AAWO,MAAMA,iBAAiB,OAAOC;IACjC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGF;IAE5B,IAAIG,yBAAoD,EAAE;IAC1D,IAAI;QACAA,yBAAyB,MAAMC,mBAAmB;YAAEH;YAASC;QAAO;IACxE,EAAE,OAAOG,IAAI;QACTC,QAAQ,GAAG,CAAC;QACZ,MAAMD;IACV;IAEAJ,QAAQ,OAAO,CAAC,QAAQ,CAACE;IAEzB,MAAMI,gBAAgBN,QAAQ,OAAO,CAChC,MAAM,CAA0BO,uBAAuB,IAAI,EAC3D,MAAM,CAACC,CAAAA;QACJ,IAAI,AAA2B,cAA3B,OAAOA,GAAG,YAAY,EACtB,OAAOA,GAAG,YAAY,CAACR;QAE3B,OAAO;IACX;IAEJ,OAAOS,uBAAuB;QAC1B,SAASH;IACb;AACJ"}
1
+ {"version":3,"file":"graphql/generateSchema.js","sources":["../../src/graphql/generateSchema.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext, CmsModel } from \"~/types/index.js\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins.js\";\nimport { createExecutableSchema } from \"./createExecutableSchema.js\";\nimport type { GraphQLSchema } from \"graphql/type/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { CmsGraphQLSchemaFactory } from \"./CmsGraphQLSchemaFactory.js\";\n\ninterface GenerateSchemaParams {\n context: CmsContext;\n models: CmsModel[];\n type: ApiEndpoint | null;\n}\nexport const generateSchema = async (params: GenerateSchemaParams): Promise<GraphQLSchema> => {\n const { context, models, type } = params;\n\n let generatedSchemaPlugins: ICmsGraphQLSchemaPlugin[] = [];\n try {\n generatedSchemaPlugins = await buildSchemaPlugins({ context, models, type });\n } catch (ex) {\n console.log(`Error while building schema plugins.`);\n throw ex;\n }\n\n const staticFactories = context.container.resolveAll(CmsGraphQLSchemaFactory);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const staticPlugins: ICmsGraphQLSchemaPlugin<any>[] = [];\n for (const factory of staticFactories) {\n const plugins = await factory.execute();\n staticPlugins.push(...plugins);\n }\n\n const schemaPlugins = [...staticPlugins, ...generatedSchemaPlugins].filter(pl => {\n if (typeof pl.isApplicable === \"function\") {\n return pl.isApplicable(context);\n }\n return true;\n });\n\n return createExecutableSchema({ plugins: schemaPlugins });\n};\n"],"names":["generateSchema","params","context","models","type","generatedSchemaPlugins","buildSchemaPlugins","ex","console","staticFactories","CmsGraphQLSchemaFactory","staticPlugins","factory","plugins","schemaPlugins","pl","createExecutableSchema"],"mappings":";;;AAYO,MAAMA,iBAAiB,OAAOC;IACjC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IAElC,IAAII,yBAAoD,EAAE;IAC1D,IAAI;QACAA,yBAAyB,MAAMC,mBAAmB;YAAEJ;YAASC;YAAQC;QAAK;IAC9E,EAAE,OAAOG,IAAI;QACTC,QAAQ,GAAG,CAAC;QACZ,MAAMD;IACV;IAEA,MAAME,kBAAkBP,QAAQ,SAAS,CAAC,UAAU,CAACQ;IAErD,MAAMC,gBAAgD,EAAE;IACxD,KAAK,MAAMC,WAAWH,gBAAiB;QACnC,MAAMI,UAAU,MAAMD,QAAQ,OAAO;QACrCD,cAAc,IAAI,IAAIE;IAC1B;IAEA,MAAMC,gBAAgB;WAAIH;WAAkBN;KAAuB,CAAC,MAAM,CAACU,CAAAA;QACvE,IAAI,AAA2B,cAA3B,OAAOA,GAAG,YAAY,EACtB,OAAOA,GAAG,YAAY,CAACb;QAE3B,OAAO;IACX;IAEA,OAAOc,uBAAuB;QAAE,SAASF;IAAc;AAC3D"}
@@ -1,15 +1,20 @@
1
1
  import { codeFrameColumns } from "@babel/code-frame";
2
2
  import error from "@webiny/error";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
3
4
  import { generateSchema } from "./generateSchema.js";
4
5
  import { generateCacheId } from "./getSchema/generateCacheId.js";
5
6
  import { generateCacheKey } from "./getSchema/generateCacheKey.js";
7
+ import { ListModelsUseCase } from "../features/contentModel/ListModels/index.js";
8
+ import { HeadlessCmsEndpointConfig } from "../HeadlessCmsEndpointConfig.js";
6
9
  const schemaList = new Map();
7
10
  const getSchema = async (params)=>{
8
11
  const { context } = params;
9
- const models = await context.security.withoutAuthorization(async ()=>await context.cms.listModels({
12
+ const modelsResult = await context.container.resolve(IdentityContext).withoutAuthorization(async ()=>context.container.resolve(ListModelsUseCase).execute({
10
13
  includePrivate: false,
11
14
  includePlugins: true
12
15
  }));
16
+ if (modelsResult.isFail()) throw modelsResult.error;
17
+ const models = modelsResult.value;
13
18
  const cacheId = generateCacheId(params);
14
19
  const cacheKey = await generateCacheKey({
15
20
  ...params,
@@ -33,7 +38,7 @@ const getSchema = async (params)=>{
33
38
  code: err.code || "INVALID_GRAPHQL_SCHEMA_LOCATIONS",
34
39
  data: {
35
40
  ...err.data || {},
36
- endpoint: context.cms.type
41
+ endpoint: context.container.resolve(HeadlessCmsEndpointConfig).type
37
42
  }
38
43
  });
39
44
  const [location] = err.locations;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/getSchema.js","sources":["../../src/graphql/getSchema.ts"],"sourcesContent":["import { codeFrameColumns } from \"@babel/code-frame\";\nimport WebinyError from \"@webiny/error\";\nimport { generateSchema } from \"./generateSchema.js\";\nimport type { ApiEndpoint, CmsContext } from \"~/types/index.js\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { generateCacheId } from \"./getSchema/generateCacheId.js\";\nimport { generateCacheKey } from \"./getSchema/generateCacheKey.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\n\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n getTenant: () => Tenant;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type\n */\nexport const getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = params;\n\n /**\n * We need all the API models.\n * Private models are hidden in the GraphQL, so filter them out.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return await context.cms.listModels({\n includePrivate: false,\n includePlugins: true\n });\n });\n\n const cacheId = generateCacheId(params);\n\n const cacheKey = await generateCacheKey({ ...params, models });\n const cachedSchema = schemaList.get(cacheId);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(cacheId, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n endpoint: context.cms.type\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrameColumns(err.source.body, {\n start: {\n line: location.line,\n column: location.column\n }\n })\n }\n });\n }\n};\n"],"names":["schemaList","Map","getSchema","params","context","models","cacheId","generateCacheId","cacheKey","generateCacheKey","cachedSchema","schema","generateSchema","err","Array","WebinyError","location","codeFrameColumns"],"mappings":";;;;;AAoBA,MAAMA,aAAa,IAAIC;AAMhB,MAAMC,YAAY,OAAOC;IAC5B,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAMpB,MAAME,SAAS,MAAMD,QAAQ,QAAQ,CAAC,oBAAoB,CAAC,UAChD,MAAMA,QAAQ,GAAG,CAAC,UAAU,CAAC;YAChC,gBAAgB;YAChB,gBAAgB;QACpB;IAGJ,MAAME,UAAUC,gBAAgBJ;IAEhC,MAAMK,WAAW,MAAMC,iBAAiB;QAAE,GAAGN,MAAM;QAAEE;IAAO;IAC5D,MAAMK,eAAeV,WAAW,GAAG,CAACM;IACpC,IAAII,cAAc,QAAQF,UACtB,OAAOE,aAAa,MAAM;IAG9B,IAAI;QACA,MAAMC,SAAS,MAAMC,eAAe;YAChC,GAAGT,MAAM;YACTE;QACJ;QACAL,WAAW,GAAG,CAACM,SAAS;YACpB,KAAKE;YACLG;QACJ;QACA,OAAOA;IACX,EAAE,OAAOE,KAAK;QACV,IAAI,CAACC,MAAM,OAAO,CAACD,IAAI,SAAS,GAC5B,MAAM,IAAIE,MAAY;YAClB,SAASF,IAAI,OAAO;YACpB,MAAMA,IAAI,IAAI,IAAI;YAClB,MAAM;gBACF,GAAIA,IAAI,IAAI,IAAI,CAAC,CAAC;gBAClB,UAAUT,QAAQ,GAAG,CAAC,IAAI;YAC9B;QACJ;QAEJ,MAAM,CAACY,SAAS,GAAGH,IAAI,SAAS;QAEhC,MAAM,IAAIE,MAAY;YAClB,MAAM;YACN,SAASF,IAAI,OAAO;YACpB,MAAM;gBACF,gBAAgBI,iBAAiBJ,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC9C,OAAO;wBACH,MAAMG,SAAS,IAAI;wBACnB,QAAQA,SAAS,MAAM;oBAC3B;gBACJ;YACJ;QACJ;IACJ;AACJ"}
1
+ {"version":3,"file":"graphql/getSchema.js","sources":["../../src/graphql/getSchema.ts"],"sourcesContent":["import { codeFrameColumns } from \"@babel/code-frame\";\nimport WebinyError from \"@webiny/error\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { generateSchema } from \"./generateSchema.js\";\nimport type { ApiEndpoint, CmsContext } from \"~/types/index.js\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { generateCacheId } from \"./getSchema/generateCacheId.js\";\nimport { generateCacheKey } from \"./getSchema/generateCacheKey.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { ListModelsUseCase } from \"~/features/contentModel/ListModels/index.js\";\nimport { HeadlessCmsEndpointConfig } from \"~/HeadlessCmsEndpointConfig.js\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\n\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n getTenant: () => Tenant;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type\n */\nexport const getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = params;\n\n /**\n * We need all the API models.\n * Private models are hidden in the GraphQL, so filter them out.\n */\n const modelsResult = await context.container\n .resolve(IdentityContext)\n .withoutAuthorization(async () => {\n return context.container.resolve(ListModelsUseCase).execute({\n includePrivate: false,\n includePlugins: true\n });\n });\n if (modelsResult.isFail()) {\n throw modelsResult.error;\n }\n const models = modelsResult.value;\n\n const cacheId = generateCacheId(params);\n\n const cacheKey = await generateCacheKey({ ...params, models });\n const cachedSchema = schemaList.get(cacheId);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(cacheId, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n endpoint: context.container.resolve(HeadlessCmsEndpointConfig).type\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrameColumns(err.source.body, {\n start: {\n line: location.line,\n column: location.column\n }\n })\n }\n });\n }\n};\n"],"names":["schemaList","Map","getSchema","params","context","modelsResult","IdentityContext","ListModelsUseCase","models","cacheId","generateCacheId","cacheKey","generateCacheKey","cachedSchema","schema","generateSchema","err","Array","WebinyError","HeadlessCmsEndpointConfig","location","codeFrameColumns"],"mappings":";;;;;;;;AAuBA,MAAMA,aAAa,IAAIC;AAMhB,MAAMC,YAAY,OAAOC;IAC5B,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAMpB,MAAME,eAAe,MAAMD,QAAQ,SAAS,CACvC,OAAO,CAACE,iBACR,oBAAoB,CAAC,UACXF,QAAQ,SAAS,CAAC,OAAO,CAACG,mBAAmB,OAAO,CAAC;YACxD,gBAAgB;YAChB,gBAAgB;QACpB;IAER,IAAIF,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;IAE5B,MAAMG,SAASH,aAAa,KAAK;IAEjC,MAAMI,UAAUC,gBAAgBP;IAEhC,MAAMQ,WAAW,MAAMC,iBAAiB;QAAE,GAAGT,MAAM;QAAEK;IAAO;IAC5D,MAAMK,eAAeb,WAAW,GAAG,CAACS;IACpC,IAAII,cAAc,QAAQF,UACtB,OAAOE,aAAa,MAAM;IAG9B,IAAI;QACA,MAAMC,SAAS,MAAMC,eAAe;YAChC,GAAGZ,MAAM;YACTK;QACJ;QACAR,WAAW,GAAG,CAACS,SAAS;YACpB,KAAKE;YACLG;QACJ;QACA,OAAOA;IACX,EAAE,OAAOE,KAAK;QACV,IAAI,CAACC,MAAM,OAAO,CAACD,IAAI,SAAS,GAC5B,MAAM,IAAIE,MAAY;YAClB,SAASF,IAAI,OAAO;YACpB,MAAMA,IAAI,IAAI,IAAI;YAClB,MAAM;gBACF,GAAIA,IAAI,IAAI,IAAI,CAAC,CAAC;gBAClB,UAAUZ,QAAQ,SAAS,CAAC,OAAO,CAACe,2BAA2B,IAAI;YACvE;QACJ;QAEJ,MAAM,CAACC,SAAS,GAAGJ,IAAI,SAAS;QAEhC,MAAM,IAAIE,MAAY;YAClB,MAAM;YACN,SAASF,IAAI,OAAO;YACpB,MAAM;gBACF,gBAAgBK,iBAAiBL,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC9C,OAAO;wBACH,MAAMI,SAAS,IAAI;wBACnB,QAAQA,SAAS,MAAM;oBAC3B;gBACJ;YACJ;QACJ;IACJ;AACJ"}
@@ -1,2 +1,2 @@
1
- import type { GraphQLScalarPlugin } from "@webiny/handler-graphql/types.js";
1
+ import type { GraphQLScalarPlugin } from "@webiny/api-graphql/types.js";
2
2
  export declare const createRevisionIdScalarPlugin: () => GraphQLScalarPlugin[];
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/scalars/RevisionIdScalarPlugin.js","sources":["../../../src/graphql/scalars/RevisionIdScalarPlugin.ts"],"sourcesContent":["import type { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types.js\";\nimport { RevisionIdScalar } from \"~/graphql/scalars/RevisionId.js\";\n\nexport const createRevisionIdScalarPlugin = (): GraphQLScalarPlugin[] => {\n const plugin: GraphQLScalarPlugin = {\n name: \"headlessCms.graphql.revisionIdScalar\",\n type: \"graphql-scalar\",\n scalar: RevisionIdScalar\n };\n return [plugin];\n};\n"],"names":["createRevisionIdScalarPlugin","plugin","RevisionIdScalar"],"mappings":";AAGO,MAAMA,+BAA+B;IACxC,MAAMC,SAA8B;QAChC,MAAM;QACN,MAAM;QACN,QAAQC;IACZ;IACA,OAAO;QAACD;KAAO;AACnB"}
1
+ {"version":3,"file":"graphql/scalars/RevisionIdScalarPlugin.js","sources":["../../../src/graphql/scalars/RevisionIdScalarPlugin.ts"],"sourcesContent":["import type { GraphQLScalarPlugin } from \"@webiny/api-graphql/types.js\";\nimport { RevisionIdScalar } from \"~/graphql/scalars/RevisionId.js\";\n\nexport const createRevisionIdScalarPlugin = (): GraphQLScalarPlugin[] => {\n const plugin: GraphQLScalarPlugin = {\n name: \"headlessCms.graphql.revisionIdScalar\",\n type: \"graphql-scalar\",\n scalar: RevisionIdScalar\n };\n return [plugin];\n};\n"],"names":["createRevisionIdScalarPlugin","plugin","RevisionIdScalar"],"mappings":";AAGO,MAAMA,+BAA+B;IACxC,MAAMC,SAA8B;QAChC,MAAM;QACN,MAAM;QACN,QAAQC;IACZ;IACA,OAAO;QAACD;KAAO;AACnB"}
@@ -1,7 +1,2 @@
1
- import type { CmsContext } from "../../types/index.js";
2
1
  import type { ICmsGraphQLSchemaPlugin } from "../../plugins/index.js";
3
- interface Params {
4
- context: CmsContext;
5
- }
6
- export declare const createBaseContentSchema: ({ context }: Params) => ICmsGraphQLSchemaPlugin;
7
- export {};
2
+ export declare const createBaseContentSchema: () => ICmsGraphQLSchemaPlugin;
@@ -1,10 +1,10 @@
1
- import { AnyScalar, DateScalar, DateTimeScalar, DateTimeZScalar, IconScalar, JsonScalar, LongScalar, NumberScalar, RefInputScalar, TimeScalar } from "@webiny/handler-graphql/builtInTypes/index.js";
1
+ import { AnyScalar, DateScalar, DateTimeScalar, DateTimeZScalar, IconScalar, JsonScalar, LongScalar, NumberScalar, RefInputScalar, TimeScalar } from "@webiny/api-graphql/builtInTypes/index.js";
2
2
  import { createCmsGraphQLSchemaPlugin } from "../../plugins/index.js";
3
- const createBaseContentSchema = ({ context })=>{
4
- const scalars = context.plugins.byType("graphql-scalar").map((item)=>item.scalar);
3
+ import { RevisionIdScalar } from "../scalars/RevisionId.js";
4
+ const createBaseContentSchema = ()=>{
5
5
  const plugin = createCmsGraphQLSchemaPlugin({
6
6
  typeDefs: `
7
- ${scalars.map((scalar)=>`scalar ${scalar.name}`).join(" ")}
7
+ scalar RevisionId
8
8
  scalar JSON
9
9
  scalar Long
10
10
  scalar RefInput
@@ -28,10 +28,7 @@ const createBaseContentSchema = ({ context })=>{
28
28
  }
29
29
  `,
30
30
  resolvers: {
31
- ...scalars.reduce((acc, s)=>{
32
- acc[s.name] = s;
33
- return acc;
34
- }, {}),
31
+ RevisionId: RevisionIdScalar,
35
32
  JSON: JsonScalar,
36
33
  Long: LongScalar,
37
34
  RefInput: RefInputScalar,
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/schema/baseContentSchema.js","sources":["../../../src/graphql/schema/baseContentSchema.ts"],"sourcesContent":["import type { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types.js\";\nimport type { CmsContext } from \"~/types/index.js\";\nimport {\n AnyScalar,\n DateScalar,\n DateTimeScalar,\n DateTimeZScalar,\n JsonScalar,\n LongScalar,\n NumberScalar,\n RefInputScalar,\n TimeScalar,\n IconScalar\n} from \"@webiny/handler-graphql/builtInTypes/index.js\";\nimport type { GraphQLScalarType } from \"graphql\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createBaseContentSchema = ({ context }: Params): ICmsGraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n const plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n scalar Icon\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce<Record<string, GraphQLScalarType>>((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {}),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput: RefInputScalar,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Icon: IconScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n plugin.name = `headless-cms.graphql.schema.baseContentSchema`;\n\n return plugin;\n};\n"],"names":["createBaseContentSchema","context","scalars","item","plugin","createCmsGraphQLSchemaPlugin","scalar","acc","s","JsonScalar","LongScalar","RefInputScalar","NumberScalar","AnyScalar","DateTimeScalar","DateTimeZScalar","DateScalar","TimeScalar","IconScalar"],"mappings":";;AAsBO,MAAMA,0BAA0B,CAAC,EAAEC,OAAO,EAAU;IACvD,MAAMC,UAAUD,QAAQ,OAAO,CAC1B,MAAM,CAAsB,kBAC5B,GAAG,CAACE,CAAAA,OAAQA,KAAK,MAAM;IAE5B,MAAMC,SAASC,6BAA6B;QACxC,UAAwB,CAAC;YACrB,EAAEH,QAAQ,GAAG,CAACI,CAAAA,SAAU,CAAC,OAAO,EAAEA,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;QAsB/D,CAAC;QACD,WAAW;YACP,GAAGJ,QAAQ,MAAM,CAAoC,CAACK,KAAKC;gBACvDD,GAAG,CAACC,EAAE,IAAI,CAAC,GAAGA;gBACd,OAAOD;YACX,GAAG,CAAC,EAAE;YACN,MAAME;YACN,MAAMC;YACN,UAAUC;YACV,QAAQC;YACR,KAAKC;YACL,UAAUC;YACV,WAAWC;YACX,MAAMC;YACN,MAAMC;YACN,MAAMC;YACN,UAAU;gBACN,QAAQ,IAAM;YAClB;QACJ;IACJ;IACAd,OAAO,IAAI,GAAG;IAEd,OAAOA;AACX"}
1
+ {"version":3,"file":"graphql/schema/baseContentSchema.js","sources":["../../../src/graphql/schema/baseContentSchema.ts"],"sourcesContent":["import {\n AnyScalar,\n DateScalar,\n DateTimeScalar,\n DateTimeZScalar,\n JsonScalar,\n LongScalar,\n NumberScalar,\n RefInputScalar,\n TimeScalar,\n IconScalar\n} from \"@webiny/api-graphql/builtInTypes/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { RevisionIdScalar } from \"~/graphql/scalars/RevisionId.js\";\n\nexport const createBaseContentSchema = (): ICmsGraphQLSchemaPlugin => {\n const plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n scalar RevisionId\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n scalar Icon\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n RevisionId: RevisionIdScalar,\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput: RefInputScalar,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Icon: IconScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n plugin.name = `headless-cms.graphql.schema.baseContentSchema`;\n\n return plugin;\n};\n"],"names":["createBaseContentSchema","plugin","createCmsGraphQLSchemaPlugin","RevisionIdScalar","JsonScalar","LongScalar","RefInputScalar","NumberScalar","AnyScalar","DateTimeScalar","DateTimeZScalar","DateScalar","TimeScalar","IconScalar"],"mappings":";;;AAgBO,MAAMA,0BAA0B;IACnC,MAAMC,SAASC,6BAA6B;QACxC,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;QAuBzB,CAAC;QACD,WAAW;YACP,YAAYC;YACZ,MAAMC;YACN,MAAMC;YACN,UAAUC;YACV,QAAQC;YACR,KAAKC;YACL,UAAUC;YACV,WAAWC;YACX,MAAMC;YACN,MAAMC;YACN,MAAMC;YACN,UAAU;gBACN,QAAQ,IAAM;YAClB;QACJ;IACJ;IACAZ,OAAO,IAAI,GAAG;IAEd,OAAOA;AACX"}
@@ -1,3 +1,3 @@
1
1
  import type { CmsContext } from "../../types/index.js";
2
- import { ContextPlugin } from "@webiny/api";
3
- export declare const createBaseSchema: () => ContextPlugin<CmsContext>;
2
+ import type { ICmsGraphQLSchemaPlugin } from "../../plugins/index.js";
3
+ export declare const createBaseSchemaPlugins: (_context: CmsContext) => ICmsGraphQLSchemaPlugin[];
@@ -1,25 +1,5 @@
1
1
  import { createCmsGraphQLSchemaPlugin } from "../../plugins/index.js";
2
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
3
- import { ContextPlugin } from "@webiny/api";
4
- import camelCase from "lodash/camelCase.js";
5
- import { CmsModelFieldValidatorRegistry } from "../../features/validation/index.js";
6
- const createSkipValidatorEnum = (container)=>{
7
- const registry = container.resolve(CmsModelFieldValidatorRegistry);
8
- const names = registry.getAll().reduce((collection, validator)=>{
9
- const name = camelCase(validator.name);
10
- if (collection.includes(name)) return collection;
11
- collection.push(name);
12
- return collection;
13
- }, []);
14
- if (0 === names.length) names.push("_empty");
15
- return `
16
- enum SkipValidatorEnum {
17
- ${names.join("\n")}
18
- }
19
- `;
20
- };
21
- const createSchema = (context)=>{
22
- const skipValidatorEnum = createSkipValidatorEnum(context.container);
2
+ const createBaseSchemaPlugins = (_context)=>{
23
3
  const cmsPlugin = createCmsGraphQLSchemaPlugin({
24
4
  typeDefs: `
25
5
  type CmsIdentity {
@@ -89,18 +69,16 @@ const createSchema = (context)=>{
89
69
  folderId_not_in: [ID!]
90
70
  }
91
71
 
92
- ${skipValidatorEnum}
93
-
94
72
  input CreateCmsEntryOptionsInput {
95
- skipValidators: [SkipValidatorEnum!]
73
+ skipValidation: Boolean
96
74
  }
97
75
 
98
76
  input CreateRevisionCmsEntryOptionsInput {
99
- skipValidators: [SkipValidatorEnum!]
77
+ skipValidation: Boolean
100
78
  }
101
79
 
102
80
  input UpdateCmsEntryOptionsInput {
103
- skipValidators: [SkipValidatorEnum!]
81
+ skipValidation: Boolean
104
82
  }
105
83
 
106
84
  input CmsIdentityInput {
@@ -147,23 +125,10 @@ const createSchema = (context)=>{
147
125
  resolvers: {}
148
126
  });
149
127
  cmsPlugin.name = "headless-cms.graphql.schema.base";
150
- const corePlugin = new GraphQLSchemaPlugin({
151
- typeDefs: cmsPlugin.schema.typeDefs,
152
- resolvers: cmsPlugin.schema.resolvers
153
- });
154
- corePlugin.name = "headless-cms.graphql.core.schema.base";
155
128
  return [
156
- cmsPlugin,
157
- corePlugin
129
+ cmsPlugin
158
130
  ];
159
131
  };
160
- const createBaseSchema = ()=>{
161
- const plugin = new ContextPlugin(async (context)=>{
162
- context.plugins.register(...createSchema(context));
163
- });
164
- plugin.name = "headless-cms.graphql.createBaseSchema";
165
- return plugin;
166
- };
167
- export { createBaseSchema };
132
+ export { createBaseSchemaPlugins };
168
133
 
169
134
  //# sourceMappingURL=baseSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql/schema/baseSchema.js","sources":["../../../src/graphql/schema/baseSchema.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { IGraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport camelCase from \"lodash/camelCase.js\";\nimport { CmsModelFieldValidatorRegistry } from \"~/features/validation/index.js\";\nimport type { Container } from \"@webiny/di\";\n\nconst createSkipValidatorEnum = (container: Container) => {\n const registry = container.resolve(CmsModelFieldValidatorRegistry);\n const names = registry.getAll().reduce<string[]>((collection, validator) => {\n const name = camelCase(validator.name);\n if (collection.includes(name)) {\n return collection;\n }\n collection.push(name);\n return collection;\n }, []);\n\n if (names.length === 0) {\n names.push(\"_empty\");\n }\n return /* GraphQL */ `\n enum SkipValidatorEnum {\n ${names.join(\"\\n\")}\n }\n `;\n};\n\nconst createSchema = (context: CmsContext): IGraphQLSchemaPlugin<CmsContext>[] => {\n const skipValidatorEnum = createSkipValidatorEnum(context.container);\n\n const cmsPlugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsIdentity {\n id: String\n displayName: String\n type: String\n }\n\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n input CmsDeleteEntryOptions {\n # force delete an entry that might have some records left behind in the database\n # see CmsDeleteEntryOptions in types.ts\n force: Boolean\n # permanently delete an entry without moving it to the bin\n permanently: Boolean\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsDeleteMultipleDataResponse {\n id: ID!\n }\n\n type CmsDeleteMultipleResponse {\n data: [CmsDeleteMultipleDataResponse!]\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n # Advanced Content Organization\n type WbyAcoLocation {\n folderId: ID\n }\n\n input WbyAcoLocationInput {\n folderId: ID!\n }\n\n input WbyAcoLocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n ${skipValidatorEnum}\n\n input CreateCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n input CreateRevisionCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n input UpdateCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n input CmsIdentityInput {\n id: String!\n displayName: String!\n type: String!\n }\n\n type CmsEntryValidationResponseData {\n error: String!\n id: String!\n fieldId: String!\n parents: [String!]!\n }\n\n type CmsEntryValidationResponse {\n data: [CmsEntryValidationResponseData!]\n error: CmsError\n }\n\n type CmsEntrySystem {\n _empty: String\n }\n\n type CmsEntryLive {\n version: Int!\n }\n\n input CmsEntryLiveWhereInput {\n version: Int\n version_gt: Int\n version_gte: Int\n version_lt: Int\n version_lte: Int\n version_not: Int\n version_in: [Int!]\n version_not_in: [Int!]\n }\n\n input ListWhereInputCmsEntrySystem {\n _empty: String\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n\nexport const createBaseSchema = () => {\n const plugin = new ContextPlugin<CmsContext>(async context => {\n context.plugins.register(...createSchema(context));\n });\n\n plugin.name = \"headless-cms.graphql.createBaseSchema\";\n\n return plugin;\n};\n"],"names":["createSkipValidatorEnum","container","registry","CmsModelFieldValidatorRegistry","names","collection","validator","name","camelCase","createSchema","context","skipValidatorEnum","cmsPlugin","createCmsGraphQLSchemaPlugin","corePlugin","GraphQLSchemaPlugin","createBaseSchema","plugin","ContextPlugin"],"mappings":";;;;;AASA,MAAMA,0BAA0B,CAACC;IAC7B,MAAMC,WAAWD,UAAU,OAAO,CAACE;IACnC,MAAMC,QAAQF,SAAS,MAAM,GAAG,MAAM,CAAW,CAACG,YAAYC;QAC1D,MAAMC,OAAOC,UAAUF,UAAU,IAAI;QACrC,IAAID,WAAW,QAAQ,CAACE,OACpB,OAAOF;QAEXA,WAAW,IAAI,CAACE;QAChB,OAAOF;IACX,GAAG,EAAE;IAEL,IAAID,AAAiB,MAAjBA,MAAM,MAAM,EACZA,MAAM,IAAI,CAAC;IAEf,OAAqB,CAAC;;WAEf,EAAEA,MAAM,IAAI,CAAC,MAAM;;IAE1B,CAAC;AACL;AAEA,MAAMK,eAAe,CAACC;IAClB,MAAMC,oBAAoBX,wBAAwBU,QAAQ,SAAS;IAEnE,MAAME,YAAYC,6BAA6B;QAC3C,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoErB,EAAEF,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsDxB,CAAC;QACD,WAAW,CAAC;IAChB;IACAC,UAAU,IAAI,GAAG;IACjB,MAAME,aAAa,IAAIC,oBAAgC;QACnD,UAAUH,UAAU,MAAM,CAAC,QAAQ;QACnC,WAAWA,UAAU,MAAM,CAAC,SAAS;IACzC;IACAE,WAAW,IAAI,GAAG;IAIlB,OAAO;QAACF;QAAWE;KAAW;AAClC;AAEO,MAAME,mBAAmB;IAC5B,MAAMC,SAAS,IAAIC,cAA0B,OAAMR;QAC/CA,QAAQ,OAAO,CAAC,QAAQ,IAAID,aAAaC;IAC7C;IAEAO,OAAO,IAAI,GAAG;IAEd,OAAOA;AACX"}
1
+ {"version":3,"file":"graphql/schema/baseSchema.js","sources":["../../../src/graphql/schema/baseSchema.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\n\nexport const createBaseSchemaPlugins = (_context: CmsContext): ICmsGraphQLSchemaPlugin[] => {\n const cmsPlugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsIdentity {\n id: String\n displayName: String\n type: String\n }\n\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n input CmsDeleteEntryOptions {\n # force delete an entry that might have some records left behind in the database\n # see CmsDeleteEntryOptions in types.ts\n force: Boolean\n # permanently delete an entry without moving it to the bin\n permanently: Boolean\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsDeleteMultipleDataResponse {\n id: ID!\n }\n\n type CmsDeleteMultipleResponse {\n data: [CmsDeleteMultipleDataResponse!]\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n # Advanced Content Organization\n type WbyAcoLocation {\n folderId: ID\n }\n\n input WbyAcoLocationInput {\n folderId: ID!\n }\n\n input WbyAcoLocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n input CreateCmsEntryOptionsInput {\n skipValidation: Boolean\n }\n\n input CreateRevisionCmsEntryOptionsInput {\n skipValidation: Boolean\n }\n\n input UpdateCmsEntryOptionsInput {\n skipValidation: Boolean\n }\n\n input CmsIdentityInput {\n id: String!\n displayName: String!\n type: String!\n }\n\n type CmsEntryValidationResponseData {\n error: String!\n id: String!\n fieldId: String!\n parents: [String!]!\n }\n\n type CmsEntryValidationResponse {\n data: [CmsEntryValidationResponseData!]\n error: CmsError\n }\n\n type CmsEntrySystem {\n _empty: String\n }\n\n type CmsEntryLive {\n version: Int!\n }\n\n input CmsEntryLiveWhereInput {\n version: Int\n version_gt: Int\n version_gte: Int\n version_lt: Int\n version_lte: Int\n version_not: Int\n version_in: [Int!]\n version_not_in: [Int!]\n }\n\n input ListWhereInputCmsEntrySystem {\n _empty: String\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n\n return [cmsPlugin];\n};\n"],"names":["createBaseSchemaPlugins","_context","cmsPlugin","createCmsGraphQLSchemaPlugin"],"mappings":";AAIO,MAAMA,0BAA0B,CAACC;IACpC,MAAMC,YAAYC,6BAA6B;QAC3C,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwHzB,CAAC;QACD,WAAW,CAAC;IAChB;IACAD,UAAU,IAAI,GAAG;IAEjB,OAAO;QAACA;KAAU;AACtB"}
@@ -0,0 +1,14 @@
1
+ import { CoreGraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.core.js";
2
+ /**
3
+ * Defines the CmsError type in the static schema so that CmsResponseTypeDefsImpl
4
+ * (which references CmsError) can be safely included at schema construction time.
5
+ * CmsError is also defined in the dynamic schema via createBaseSchema() — mergeSchemas
6
+ * handles the duplicate gracefully.
7
+ */
8
+ declare class CmsBaseErrorTypeDefs implements CoreGraphQLSchemaFactory.Interface {
9
+ execute(builder: CoreGraphQLSchemaFactory.SchemaBuilder): CoreGraphQLSchemaFactory.Return;
10
+ }
11
+ export declare const CmsBaseErrorTypeFactory: typeof CmsBaseErrorTypeDefs & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-graphql/graphql/abstractions.core.js").ICoreGraphQLSchemaFactory>;
13
+ };
14
+ export {};
@@ -0,0 +1,21 @@
1
+ import { CoreGraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.core.js";
2
+ class CmsBaseErrorTypeDefs {
3
+ async execute(builder) {
4
+ builder.addTypeDefs(`
5
+ type CmsError {
6
+ message: String!
7
+ code: String
8
+ data: JSON
9
+ stack: String
10
+ }
11
+ `);
12
+ return builder;
13
+ }
14
+ }
15
+ const CmsBaseErrorTypeFactory = CoreGraphQLSchemaFactory.createImplementation({
16
+ implementation: CmsBaseErrorTypeDefs,
17
+ dependencies: []
18
+ });
19
+ export { CmsBaseErrorTypeFactory };
20
+
21
+ //# sourceMappingURL=CmsBaseErrorTypeFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/schema/cms/CmsBaseErrorTypeFactory.js","sources":["../../../../src/graphql/schema/cms/CmsBaseErrorTypeFactory.ts"],"sourcesContent":["import { CoreGraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.core.js\";\n\n/**\n * Defines the CmsError type in the static schema so that CmsResponseTypeDefsImpl\n * (which references CmsError) can be safely included at schema construction time.\n * CmsError is also defined in the dynamic schema via createBaseSchema() — mergeSchemas\n * handles the duplicate gracefully.\n */\nclass CmsBaseErrorTypeDefs implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): CoreGraphQLSchemaFactory.Return {\n builder.addTypeDefs(/* GraphQL */ `\n type CmsError {\n message: String!\n code: String\n data: JSON\n stack: String\n }\n `);\n return builder;\n }\n}\n\nexport const CmsBaseErrorTypeFactory = CoreGraphQLSchemaFactory.createImplementation({\n implementation: CmsBaseErrorTypeDefs,\n dependencies: []\n});\n"],"names":["CmsBaseErrorTypeDefs","builder","CmsBaseErrorTypeFactory","CoreGraphQLSchemaFactory"],"mappings":";AAQA,MAAMA;IACF,MAAM,QACFC,OAA+C,EAChB;QAC/BA,QAAQ,WAAW,CAAe,CAAC;;;;;;;QAOnC,CAAC;QACD,OAAOA;IACX;AACJ;AAEO,MAAMC,0BAA0BC,yBAAyB,oBAAoB,CAAC;IACjF,gBAAgBH;IAChB,cAAc,EAAE;AACpB"}