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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1056) hide show
  1. package/constants.d.ts +2 -1
  2. package/constants.js +4 -0
  3. package/constants.js.map +1 -1
  4. package/context.d.ts +2 -5
  5. package/context.js +16 -7
  6. package/context.js.map +1 -1
  7. package/crud/AccessControl/AccessControl.d.ts +18 -28
  8. package/crud/AccessControl/AccessControl.js.map +1 -1
  9. package/crud/AccessControl/README.md +1 -1
  10. package/crud/contentEntry/entryDataFactories/createEntryData.js +27 -12
  11. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +13 -6
  13. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  14. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +4 -1
  15. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  16. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +4 -1
  17. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  18. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +2 -1
  19. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  20. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +4 -3
  21. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  22. package/crud/contentEntry/entryDataFactories/system.d.ts +10 -0
  23. package/crud/contentEntry/entryDataFactories/system.js +14 -0
  24. package/crud/contentEntry/entryDataFactories/system.js.map +1 -0
  25. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  26. package/crud/contentEntry/entryDataValidation.js +19 -16
  27. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  28. package/crud/contentEntry/references/buildPaths.d.ts +1 -1
  29. package/crud/contentEntry/references/buildPaths.js +3 -3
  30. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  31. package/crud/contentEntry/searchableFields.d.ts +2 -3
  32. package/crud/contentEntry/searchableFields.js +15 -19
  33. package/crud/contentEntry/searchableFields.js.map +1 -1
  34. package/crud/contentEntry.crud.js +16 -11
  35. package/crud/contentEntry.crud.js.map +1 -1
  36. package/crud/contentModel/fields/descriptionField.js +1 -1
  37. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  38. package/crud/contentModel/fields/imageField.js +1 -1
  39. package/crud/contentModel/fields/imageField.js.map +1 -1
  40. package/crud/contentModel/fields/titleField.js +1 -1
  41. package/crud/contentModel/fields/titleField.js.map +1 -1
  42. package/crud/contentModel/validation.d.ts +224 -902
  43. package/crud/contentModel/validation.js +64 -36
  44. package/crud/contentModel/validation.js.map +1 -1
  45. package/crud/contentModel.crud.js +2 -1
  46. package/crud/contentModel.crud.js.map +1 -1
  47. package/domain/contentEntry/EntryId.d.ts +1 -0
  48. package/domain/contentEntry/EntryId.js +2 -0
  49. package/domain/contentEntry/EntryId.js.map +1 -1
  50. package/domain/contentEntry/errors.d.ts +2 -2
  51. package/domain/contentEntry/errors.js.map +1 -1
  52. package/domain/contentModel/errors.d.ts +1 -1
  53. package/domain/contentModel/errors.js.map +1 -1
  54. package/domain/contentModel/schemas.d.ts +198 -616
  55. package/domain/contentModel/schemas.js +55 -37
  56. package/domain/contentModel/schemas.js.map +1 -1
  57. package/domain/contentModel/validation/fields/descriptionField.js +1 -1
  58. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  59. package/domain/contentModel/validation/fields/imageField.js +1 -1
  60. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  61. package/domain/contentModel/validation/fields/titleField.js +1 -1
  62. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  63. package/domain/contentModel/validation/modelFields.js +15 -20
  64. package/domain/contentModel/validation/modelFields.js.map +1 -1
  65. package/domain/contentModelGroup/validation.d.ts +34 -82
  66. package/domain/contentModelGroup/validation.js +2 -2
  67. package/domain/contentModelGroup/validation.js.map +1 -1
  68. package/export/graphql/index.js +1 -1
  69. package/export/graphql/index.js.map +1 -1
  70. package/export/types.js.map +1 -1
  71. package/exports/api/cms/entry.d.ts +3 -0
  72. package/exports/api/cms/entry.js +6 -0
  73. package/exports/api/cms/entry.js.map +1 -1
  74. package/exports/api/cms/graphql.d.ts +1 -0
  75. package/exports/api/cms/graphql.js +3 -0
  76. package/exports/api/cms/graphql.js.map +1 -0
  77. package/exports/api/cms/model.d.ts +5 -1
  78. package/exports/api/cms/model.js +3 -1
  79. package/exports/api/cms/model.js.map +1 -1
  80. package/exports/api/cms/storage.d.ts +3 -0
  81. package/exports/api/cms/storage.js +5 -0
  82. package/exports/api/cms/storage.js.map +1 -0
  83. package/exports/api/cms/validation.d.ts +4 -0
  84. package/exports/api/cms/validation.js +6 -0
  85. package/exports/api/cms/validation.js.map +1 -0
  86. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +3 -7
  87. package/extensions/index.d.ts +2 -6
  88. package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
  89. package/features/contentEntry/ContentEntriesFeature.js +6 -0
  90. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  91. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
  92. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +2 -2
  93. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  94. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
  95. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
  96. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
  97. package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
  98. package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
  99. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
  100. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -0
  101. package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
  102. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
  103. package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
  104. package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
  105. package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
  106. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  107. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  108. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  109. package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
  110. package/features/contentEntry/CreateEntry/abstractions.js +1 -0
  111. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  112. package/features/contentEntry/CreateEntry/events.d.ts +4 -2
  113. package/features/contentEntry/CreateEntry/events.js +5 -1
  114. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  115. package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
  116. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  117. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  118. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  119. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
  120. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
  121. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  122. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +4 -2
  123. package/features/contentEntry/CreateEntryRevisionFrom/events.js +5 -1
  124. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  125. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
  126. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  127. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  128. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  129. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  130. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  131. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  132. package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
  133. package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
  134. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  135. package/features/contentEntry/DeleteEntry/events.d.ts +4 -2
  136. package/features/contentEntry/DeleteEntry/events.js +5 -1
  137. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  138. package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
  139. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  140. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  141. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  142. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
  143. package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
  144. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  145. package/features/contentEntry/DeleteEntryRevision/events.d.ts +4 -2
  146. package/features/contentEntry/DeleteEntryRevision/events.js +5 -1
  147. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  148. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
  149. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  150. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  151. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  152. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
  153. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
  154. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  155. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +4 -2
  156. package/features/contentEntry/DeleteMultipleEntries/events.js +5 -1
  157. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  158. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
  159. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
  160. package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
  161. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  162. package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
  163. package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
  164. package/features/contentEntry/GetEntry/abstractions.js +1 -0
  165. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  166. package/features/contentEntry/GetEntry/feature.d.ts +4 -1
  167. package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
  168. package/features/contentEntry/GetEntryById/abstractions.js +1 -0
  169. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  170. package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
  171. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
  172. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
  173. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  174. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
  175. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
  176. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
  177. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  178. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
  179. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
  180. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
  181. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  182. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
  183. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
  184. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
  185. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  186. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
  187. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
  188. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
  189. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  190. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
  191. package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
  192. package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
  193. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  194. package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
  195. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
  196. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
  197. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  198. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
  199. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
  200. package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
  201. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  202. package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
  203. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
  204. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +9 -15
  205. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  206. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
  207. package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
  208. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  209. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  210. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  211. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  212. package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
  213. package/features/contentEntry/ListEntries/abstractions.js +4 -0
  214. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  215. package/features/contentEntry/ListEntries/feature.d.ts +4 -1
  216. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  217. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  218. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  219. package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
  220. package/features/contentEntry/MoveEntry/abstractions.js +1 -0
  221. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  222. package/features/contentEntry/MoveEntry/events.d.ts +4 -2
  223. package/features/contentEntry/MoveEntry/events.js +5 -1
  224. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  225. package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
  226. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  227. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  228. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  229. package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
  230. package/features/contentEntry/PublishEntry/abstractions.js +1 -0
  231. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  232. package/features/contentEntry/PublishEntry/events.d.ts +4 -2
  233. package/features/contentEntry/PublishEntry/events.js +5 -1
  234. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  235. package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
  236. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  237. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  238. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  239. package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
  240. package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
  241. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  242. package/features/contentEntry/RepublishEntry/events.d.ts +4 -2
  243. package/features/contentEntry/RepublishEntry/events.js +5 -1
  244. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  245. package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
  246. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  247. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  248. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  249. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
  250. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
  251. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  252. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +4 -2
  253. package/features/contentEntry/RestoreEntryFromBin/events.js +5 -1
  254. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  255. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
  256. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  257. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  258. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  259. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
  260. package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
  261. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  262. package/features/contentEntry/UnpublishEntry/events.d.ts +4 -2
  263. package/features/contentEntry/UnpublishEntry/events.js +5 -1
  264. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  265. package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
  266. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  267. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  268. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  269. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
  270. package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
  271. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  272. package/features/contentEntry/UpdateEntry/events.d.ts +4 -2
  273. package/features/contentEntry/UpdateEntry/events.js +5 -1
  274. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  275. package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
  276. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  277. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +90 -0
  278. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  279. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  280. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +10 -0
  281. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  282. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  283. package/features/contentEntry/UpdateRevisionDescription/events.js +33 -0
  284. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  285. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  286. package/features/contentEntry/UpdateRevisionDescription/feature.js +20 -0
  287. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  288. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  289. package/features/contentEntry/UpdateRevisionDescription/index.js +4 -0
  290. package/features/contentEntry/UpdateRevisionDescription/index.js.map +1 -0
  291. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
  292. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
  293. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  294. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
  295. package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
  296. package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
  297. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  298. package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
  299. package/features/contentModel/ContentModelFeature.d.ts +4 -1
  300. package/features/contentModel/ContentModelFeature.js +2 -0
  301. package/features/contentModel/ContentModelFeature.js.map +1 -1
  302. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +12 -12
  303. package/features/contentModel/CreateModel/CreateModelRepository.js +17 -12
  304. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  305. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  306. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  307. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  308. package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
  309. package/features/contentModel/CreateModel/abstractions.js +1 -0
  310. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  311. package/features/contentModel/CreateModel/events.d.ts +4 -2
  312. package/features/contentModel/CreateModel/events.js +5 -1
  313. package/features/contentModel/CreateModel/events.js.map +1 -1
  314. package/features/contentModel/CreateModel/feature.d.ts +4 -1
  315. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +12 -13
  316. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +25 -15
  317. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  318. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  319. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  320. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  321. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
  322. package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
  323. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  324. package/features/contentModel/CreateModelFrom/events.d.ts +4 -2
  325. package/features/contentModel/CreateModelFrom/events.js +5 -1
  326. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  327. package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
  328. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  329. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  330. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  331. package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
  332. package/features/contentModel/DeleteModel/abstractions.js +1 -0
  333. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  334. package/features/contentModel/DeleteModel/events.d.ts +4 -2
  335. package/features/contentModel/DeleteModel/events.js +5 -1
  336. package/features/contentModel/DeleteModel/events.js.map +1 -1
  337. package/features/contentModel/DeleteModel/feature.d.ts +4 -1
  338. package/features/contentModel/GetModel/abstractions.d.ts +1 -0
  339. package/features/contentModel/GetModel/abstractions.js +1 -0
  340. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  341. package/features/contentModel/GetModel/feature.d.ts +4 -1
  342. package/features/contentModel/ListModels/abstractions.d.ts +1 -0
  343. package/features/contentModel/ListModels/abstractions.js +1 -0
  344. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  345. package/features/contentModel/ListModels/feature.d.ts +4 -1
  346. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.d.ts +15 -0
  347. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +27 -0
  348. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -0
  349. package/features/contentModel/ModelFieldCompression/abstractions.d.ts +17 -0
  350. package/features/contentModel/ModelFieldCompression/abstractions.js +4 -0
  351. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -0
  352. package/features/contentModel/ModelFieldCompression/feature.d.ts +4 -0
  353. package/features/contentModel/ModelFieldCompression/feature.js +10 -0
  354. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -0
  355. package/features/contentModel/ModelFieldCompression/index.d.ts +1 -0
  356. package/features/contentModel/ModelFieldCompression/index.js +3 -0
  357. package/features/contentModel/ModelFieldCompression/index.js.map +1 -0
  358. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  359. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  360. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  361. package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
  362. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +9 -9
  363. package/features/contentModel/UpdateModel/UpdateModelRepository.js +21 -12
  364. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  365. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  366. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +6 -3
  367. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  368. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
  369. package/features/contentModel/UpdateModel/abstractions.js +1 -0
  370. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  371. package/features/contentModel/UpdateModel/events.d.ts +4 -2
  372. package/features/contentModel/UpdateModel/events.js +5 -1
  373. package/features/contentModel/UpdateModel/events.js.map +1 -1
  374. package/features/contentModel/UpdateModel/feature.d.ts +4 -1
  375. package/features/contentModel/shared/ModelsFetcher.d.ts +8 -6
  376. package/features/contentModel/shared/ModelsFetcher.js +14 -4
  377. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  378. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
  379. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  380. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  381. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  382. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  383. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  384. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  385. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
  386. package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
  387. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  388. package/features/contentModelGroup/CreateGroup/events.d.ts +4 -2
  389. package/features/contentModelGroup/CreateGroup/events.js +5 -1
  390. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  391. package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
  392. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  393. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  394. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  395. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
  396. package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
  397. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  398. package/features/contentModelGroup/DeleteGroup/events.d.ts +4 -2
  399. package/features/contentModelGroup/DeleteGroup/events.js +5 -1
  400. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  401. package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
  402. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  403. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  404. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  405. package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
  406. package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
  407. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  408. package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
  409. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  410. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  411. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  412. package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
  413. package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
  414. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  415. package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
  416. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  417. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  418. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  419. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
  420. package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
  421. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  422. package/features/contentModelGroup/UpdateGroup/events.d.ts +4 -2
  423. package/features/contentModelGroup/UpdateGroup/events.js +5 -1
  424. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  425. package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
  426. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  427. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  428. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  429. package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
  430. package/features/contentModelGroup/shared/abstractions.js +1 -0
  431. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  432. package/features/graphql/feature.d.ts +4 -0
  433. package/features/graphql/feature.js +34 -0
  434. package/features/graphql/feature.js.map +1 -0
  435. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  436. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  437. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  438. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  439. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  440. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  441. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  442. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  443. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  444. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  445. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  446. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  447. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  448. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  449. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  450. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  451. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  452. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  453. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  454. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  455. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  456. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  457. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  458. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  459. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  460. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  461. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  462. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  463. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  464. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  465. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  466. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  467. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  468. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  469. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  470. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  471. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  472. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  473. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  474. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  475. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  476. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  477. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  478. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  479. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  480. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  481. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  482. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  483. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  484. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  485. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  486. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  487. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +4 -4
  488. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  489. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  490. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  491. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  492. package/features/graphql/index.d.ts +4 -0
  493. package/features/graphql/index.js +6 -0
  494. package/features/graphql/index.js.map +1 -0
  495. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  496. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  497. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  498. package/features/installer/CmsInstaller.d.ts +1 -1
  499. package/features/installer/CmsInstaller.js +1 -1
  500. package/features/installer/CmsInstaller.js.map +1 -1
  501. package/features/installer/feature.d.ts +4 -1
  502. package/features/modelBuilder/abstractions.d.ts +8 -4
  503. package/features/modelBuilder/abstractions.js +5 -2
  504. package/features/modelBuilder/abstractions.js.map +1 -1
  505. package/features/modelBuilder/feature.d.ts +4 -1
  506. package/features/modelBuilder/feature.js +6 -0
  507. package/features/modelBuilder/feature.js.map +1 -1
  508. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
  509. package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
  510. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
  511. package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -2
  512. package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
  513. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  514. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +220 -0
  515. package/features/modelBuilder/fields/DataFieldBuilder.js +211 -0
  516. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
  517. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
  518. package/features/modelBuilder/fields/DateTimeFieldType.js +22 -2
  519. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  520. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +3 -3
  521. package/features/modelBuilder/fields/DynamicZoneFieldType.js +12 -5
  522. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  523. package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -46
  524. package/features/modelBuilder/fields/FieldBuilder.js +3 -152
  525. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  526. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
  527. package/features/modelBuilder/fields/FieldBuilderRegistry.js +11 -1
  528. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  529. package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
  530. package/features/modelBuilder/fields/FileFieldType.js +2 -2
  531. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  532. package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
  533. package/features/modelBuilder/fields/JsonFieldType.js +2 -2
  534. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  535. package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
  536. package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
  537. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
  538. package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
  539. package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
  540. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  541. package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
  542. package/features/modelBuilder/fields/NumberFieldType.js +2 -2
  543. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  544. package/features/modelBuilder/fields/ObjectFieldType.d.ts +7 -6
  545. package/features/modelBuilder/fields/ObjectFieldType.js +21 -6
  546. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  547. package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
  548. package/features/modelBuilder/fields/RefFieldType.js +2 -2
  549. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  550. package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
  551. package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
  552. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  553. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
  554. package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
  555. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  556. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
  557. package/features/modelBuilder/fields/TextFieldType.js +2 -2
  558. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  559. package/features/modelBuilder/fields/UiAlertFieldType.d.ts +19 -0
  560. package/features/modelBuilder/fields/UiAlertFieldType.js +36 -0
  561. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -0
  562. package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +17 -0
  563. package/features/modelBuilder/fields/UiSeparatorFieldType.js +31 -0
  564. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -0
  565. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
  566. package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
  567. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
  568. package/features/modelBuilder/fields/abstractions.d.ts +6 -3
  569. package/features/modelBuilder/fields/abstractions.js +1 -1
  570. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  571. package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +23 -1
  572. package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
  573. package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
  574. package/features/modelBuilder/index.d.ts +3 -0
  575. package/features/modelBuilder/index.js +3 -0
  576. package/features/modelBuilder/index.js.map +1 -1
  577. package/features/modelBuilder/models/BaseModelBuilder.d.ts +9 -4
  578. package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
  579. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  580. package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
  581. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  582. package/features/modelBuilder/models/PublicModelBuilder.js +16 -4
  583. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  584. package/features/shared/abstractions.d.ts +9 -2
  585. package/features/shared/abstractions.js +1 -0
  586. package/features/shared/abstractions.js.map +1 -1
  587. package/features/sortMapper/abstractions.d.ts +1 -0
  588. package/features/sortMapper/abstractions.js +1 -0
  589. package/features/sortMapper/abstractions.js.map +1 -1
  590. package/features/sortMapper/feature.d.ts +4 -1
  591. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  592. package/features/storage/StorageTransformRegistry.js +27 -0
  593. package/features/storage/StorageTransformRegistry.js.map +1 -0
  594. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  595. package/features/storage/abstractions/StorageTransform.js +4 -0
  596. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  597. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  598. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  599. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  600. package/features/storage/feature.d.ts +4 -0
  601. package/features/storage/feature.js +24 -0
  602. package/features/storage/feature.js.map +1 -0
  603. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  604. package/features/storage/fields/DateStorageTransform.js +110 -0
  605. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  606. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  607. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  608. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  609. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  610. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  611. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  612. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  613. package/features/storage/fields/JsonStorageTransform.js +31 -0
  614. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  615. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  616. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  617. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  618. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  619. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  620. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  621. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  622. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  623. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  624. package/features/storage/index.d.ts +3 -0
  625. package/features/storage/index.js +5 -0
  626. package/features/storage/index.js.map +1 -0
  627. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  628. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  629. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  630. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  631. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  632. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  633. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  634. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  635. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  636. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  637. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  638. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  639. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  640. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  641. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  642. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  643. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  644. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  645. package/features/validation/feature.d.ts +4 -0
  646. package/features/validation/feature.js +48 -0
  647. package/features/validation/feature.js.map +1 -0
  648. package/features/validation/index.d.ts +5 -0
  649. package/features/validation/index.js +7 -0
  650. package/features/validation/index.js.map +1 -0
  651. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  652. package/features/validation/validators/DateGteValidator.js +26 -0
  653. package/features/validation/validators/DateGteValidator.js.map +1 -0
  654. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  655. package/features/validation/validators/DateLteValidator.js +26 -0
  656. package/features/validation/validators/DateLteValidator.js.map +1 -0
  657. package/features/validation/validators/GteValidator.d.ts +10 -0
  658. package/features/validation/validators/GteValidator.js +21 -0
  659. package/features/validation/validators/GteValidator.js.map +1 -0
  660. package/features/validation/validators/InValidator.d.ts +10 -0
  661. package/features/validation/validators/InValidator.js +21 -0
  662. package/features/validation/validators/InValidator.js.map +1 -0
  663. package/features/validation/validators/LteValidator.d.ts +10 -0
  664. package/features/validation/validators/LteValidator.js +21 -0
  665. package/features/validation/validators/LteValidator.js.map +1 -0
  666. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  667. package/features/validation/validators/MaxLengthValidator.js +21 -0
  668. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  669. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  670. package/features/validation/validators/MinLengthValidator.js +21 -0
  671. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  672. package/features/validation/validators/PatternValidator.d.ts +13 -0
  673. package/features/validation/validators/PatternValidator.js +38 -0
  674. package/features/validation/validators/PatternValidator.js.map +1 -0
  675. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  676. package/features/validation/validators/RequiredValidator.js +16 -0
  677. package/features/validation/validators/RequiredValidator.js.map +1 -0
  678. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  679. package/features/validation/validators/TimeGteValidator.js +21 -0
  680. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  681. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  682. package/features/validation/validators/TimeLteValidator.js +21 -0
  683. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  684. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  685. package/features/validation/validators/UniqueValidator.js +47 -0
  686. package/features/validation/validators/UniqueValidator.js.map +1 -0
  687. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  688. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  689. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  690. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  691. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  692. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  693. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  694. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  695. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  696. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  697. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  698. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  699. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  700. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  701. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  702. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  703. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  704. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  705. package/features/whereMapper/abstractions.d.ts +1 -0
  706. package/features/whereMapper/abstractions.js +1 -0
  707. package/features/whereMapper/abstractions.js.map +1 -1
  708. package/features/whereMapper/feature.d.ts +4 -1
  709. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +2 -2
  710. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  711. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
  712. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  713. package/graphql/getSchema/generateCacheKey.js +15 -7
  714. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  715. package/graphql/index.js +2 -1
  716. package/graphql/index.js.map +1 -1
  717. package/graphql/schema/baseSchema.d.ts +2 -1
  718. package/graphql/schema/baseSchema.js +28 -24
  719. package/graphql/schema/baseSchema.js.map +1 -1
  720. package/graphql/schema/cms/createEntryResolver.d.ts +10 -0
  721. package/graphql/schema/cms/createEntryResolver.js +65 -0
  722. package/graphql/schema/cms/createEntryResolver.js.map +1 -0
  723. package/graphql/schema/cms/deleteEntryResolver.d.ts +10 -0
  724. package/graphql/schema/cms/deleteEntryResolver.js +65 -0
  725. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -0
  726. package/graphql/schema/cms/getEntryResolver.d.ts +11 -0
  727. package/graphql/schema/cms/getEntryResolver.js +67 -0
  728. package/graphql/schema/cms/getEntryResolver.js.map +1 -0
  729. package/graphql/schema/cms/helpers/buildFieldsSelection.d.ts +23 -0
  730. package/graphql/schema/cms/helpers/buildFieldsSelection.js +79 -0
  731. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -0
  732. package/graphql/schema/cms/helpers/getErrorMessage.d.ts +4 -0
  733. package/graphql/schema/cms/helpers/getErrorMessage.js +14 -0
  734. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -0
  735. package/graphql/schema/cms/helpers/getModel.d.ts +6 -0
  736. package/graphql/schema/cms/helpers/getModel.js +12 -0
  737. package/graphql/schema/cms/helpers/getModel.js.map +1 -0
  738. package/graphql/schema/cms/helpers/index.d.ts +5 -0
  739. package/graphql/schema/cms/helpers/index.js +7 -0
  740. package/graphql/schema/cms/helpers/index.js.map +1 -0
  741. package/graphql/schema/cms/helpers/transformSortToArray.d.ts +18 -0
  742. package/graphql/schema/cms/helpers/transformSortToArray.js +38 -0
  743. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -0
  744. package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
  745. package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
  746. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
  747. package/graphql/schema/cms/helpers.d.ts +5 -0
  748. package/graphql/schema/cms/helpers.js +7 -0
  749. package/graphql/schema/cms/helpers.js.map +1 -0
  750. package/graphql/schema/cms/index.d.ts +2 -0
  751. package/graphql/schema/cms/index.js +26 -0
  752. package/graphql/schema/cms/index.js.map +1 -0
  753. package/graphql/schema/cms/listEntriesResolver.d.ts +15 -0
  754. package/graphql/schema/cms/listEntriesResolver.js +115 -0
  755. package/graphql/schema/cms/listEntriesResolver.js.map +1 -0
  756. package/graphql/schema/cms/publishEntryResolver.d.ts +10 -0
  757. package/graphql/schema/cms/publishEntryResolver.js +65 -0
  758. package/graphql/schema/cms/publishEntryResolver.js.map +1 -0
  759. package/graphql/schema/cms/resolvers/createEntry.d.ts +8 -0
  760. package/graphql/schema/cms/resolvers/createEntry.js +17 -0
  761. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -0
  762. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +8 -0
  763. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +17 -0
  764. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -0
  765. package/graphql/schema/cms/resolvers/getEntry.d.ts +8 -0
  766. package/graphql/schema/cms/resolvers/getEntry.js +17 -0
  767. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -0
  768. package/graphql/schema/cms/resolvers/index.d.ts +9 -0
  769. package/graphql/schema/cms/resolvers/index.js +11 -0
  770. package/graphql/schema/cms/resolvers/index.js.map +1 -0
  771. package/graphql/schema/cms/resolvers/listEntries.d.ts +8 -0
  772. package/graphql/schema/cms/resolvers/listEntries.js +17 -0
  773. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -0
  774. package/graphql/schema/cms/resolvers/mutationCms.d.ts +8 -0
  775. package/graphql/schema/cms/resolvers/mutationCms.js +24 -0
  776. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -0
  777. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +8 -0
  778. package/graphql/schema/cms/resolvers/publishEntryRevision.js +17 -0
  779. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -0
  780. package/graphql/schema/cms/resolvers/queryCms.d.ts +8 -0
  781. package/graphql/schema/cms/resolvers/queryCms.js +23 -0
  782. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -0
  783. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +8 -0
  784. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +17 -0
  785. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -0
  786. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +8 -0
  787. package/graphql/schema/cms/resolvers/updateEntryRevision.js +17 -0
  788. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -0
  789. package/graphql/schema/cms/typeDefs/index.d.ts +3 -0
  790. package/graphql/schema/cms/typeDefs/index.js +5 -0
  791. package/graphql/schema/cms/typeDefs/index.js.map +1 -0
  792. package/graphql/schema/cms/typeDefs/mutation.d.ts +8 -0
  793. package/graphql/schema/cms/typeDefs/mutation.js +42 -0
  794. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -0
  795. package/graphql/schema/cms/typeDefs/query.d.ts +8 -0
  796. package/graphql/schema/cms/typeDefs/query.js +36 -0
  797. package/graphql/schema/cms/typeDefs/query.js.map +1 -0
  798. package/graphql/schema/cms/typeDefs/responses.d.ts +8 -0
  799. package/graphql/schema/cms/typeDefs/responses.js +35 -0
  800. package/graphql/schema/cms/typeDefs/responses.js.map +1 -0
  801. package/graphql/schema/cms/unpublishEntryResolver.d.ts +10 -0
  802. package/graphql/schema/cms/unpublishEntryResolver.js +65 -0
  803. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -0
  804. package/graphql/schema/cms/updateEntryResolver.d.ts +11 -0
  805. package/graphql/schema/cms/updateEntryResolver.js +67 -0
  806. package/graphql/schema/cms/updateEntryResolver.js.map +1 -0
  807. package/graphql/schema/contentEntries.js +1 -1
  808. package/graphql/schema/contentEntries.js.map +1 -1
  809. package/graphql/schema/contentModels.js +31 -9
  810. package/graphql/schema/contentModels.js.map +1 -1
  811. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  812. package/graphql/schema/createFieldResolvers.js +5 -4
  813. package/graphql/schema/createFieldResolvers.js.map +1 -1
  814. package/graphql/schema/createManageResolvers.d.ts +3 -2
  815. package/graphql/schema/createManageResolvers.js +5 -3
  816. package/graphql/schema/createManageResolvers.js.map +1 -1
  817. package/graphql/schema/createManageSDL.d.ts +4 -4
  818. package/graphql/schema/createManageSDL.js +16 -11
  819. package/graphql/schema/createManageSDL.js.map +1 -1
  820. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  821. package/graphql/schema/createPreviewResolvers.js +4 -4
  822. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  823. package/graphql/schema/createReadResolvers.d.ts +3 -2
  824. package/graphql/schema/createReadResolvers.js +4 -4
  825. package/graphql/schema/createReadResolvers.js.map +1 -1
  826. package/graphql/schema/createReadSDL.d.ts +4 -4
  827. package/graphql/schema/createReadSDL.js +7 -7
  828. package/graphql/schema/createReadSDL.js.map +1 -1
  829. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  830. package/graphql/schema/createSingularResolvers.js +3 -3
  831. package/graphql/schema/createSingularResolvers.js.map +1 -1
  832. package/graphql/schema/createSingularSDL.d.ts +3 -2
  833. package/graphql/schema/createSingularSDL.js +5 -4
  834. package/graphql/schema/createSingularSDL.js.map +1 -1
  835. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +9 -7
  836. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  837. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  838. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +13 -0
  839. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  840. package/graphql/schema/schemaPlugins.js +14 -17
  841. package/graphql/schema/schemaPlugins.js.map +1 -1
  842. package/index.d.ts +3 -5
  843. package/index.js +4 -7
  844. package/index.js.map +1 -1
  845. package/package.json +36 -32
  846. package/plugins/CmsModelPlugin.js +19 -4
  847. package/plugins/CmsModelPlugin.js.map +1 -1
  848. package/plugins/index.d.ts +0 -2
  849. package/plugins/index.js +0 -2
  850. package/plugins/index.js.map +1 -1
  851. package/types/context.d.ts +5 -5
  852. package/types/context.js.map +1 -1
  853. package/types/fields/objectField.d.ts +2 -0
  854. package/types/fields/objectField.js.map +1 -1
  855. package/types/model.d.ts +39 -3
  856. package/types/model.js.map +1 -1
  857. package/types/modelField.d.ts +47 -15
  858. package/types/modelField.js.map +1 -1
  859. package/types/plugins.d.ts +1 -305
  860. package/types/plugins.js.map +1 -1
  861. package/types/types.d.ts +28 -61
  862. package/types/types.js +0 -4
  863. package/types/types.js.map +1 -1
  864. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  865. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  866. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  867. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  868. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  869. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  870. package/utils/converters/ConverterCollection.d.ts +2 -0
  871. package/utils/converters/ConverterCollection.js +3 -2
  872. package/utils/converters/ConverterCollection.js.map +1 -1
  873. package/utils/converters/types.js.map +1 -1
  874. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  875. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  876. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  877. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  878. package/utils/converters/valueKeyStorageConverter.js +7 -3
  879. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  880. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  881. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  882. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  883. package/utils/createModelField.js +10 -8
  884. package/utils/createModelField.js.map +1 -1
  885. package/utils/createTypeFromFields.d.ts +3 -2
  886. package/utils/createTypeFromFields.js +3 -3
  887. package/utils/createTypeFromFields.js.map +1 -1
  888. package/utils/entryStorage.d.ts +8 -15
  889. package/utils/entryStorage.js +31 -59
  890. package/utils/entryStorage.js.map +1 -1
  891. package/utils/getBaseFieldType.js +3 -0
  892. package/utils/getBaseFieldType.js.map +1 -1
  893. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  894. package/utils/getSchemaFromFieldPlugins.js +5 -9
  895. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  896. package/utils/renderFields.d.ts +4 -3
  897. package/utils/renderFields.js +14 -9
  898. package/utils/renderFields.js.map +1 -1
  899. package/utils/renderGetFilterFields.d.ts +3 -2
  900. package/utils/renderGetFilterFields.js +2 -2
  901. package/utils/renderGetFilterFields.js.map +1 -1
  902. package/utils/renderInputFields.d.ts +4 -3
  903. package/utils/renderInputFields.js +5 -11
  904. package/utils/renderInputFields.js.map +1 -1
  905. package/utils/renderListFilterFields.d.ts +3 -2
  906. package/utils/renderListFilterFields.js +5 -3
  907. package/utils/renderListFilterFields.js.map +1 -1
  908. package/utils/renderSortEnum.d.ts +4 -4
  909. package/utils/renderSortEnum.js +11 -11
  910. package/utils/renderSortEnum.js.map +1 -1
  911. package/utils/toSlug.js +1 -1
  912. package/utils/toSlug.js.map +1 -1
  913. package/crud/contentEntry/entryDataFactories/state.d.ts +0 -10
  914. package/crud/contentEntry/entryDataFactories/state.js +0 -16
  915. package/crud/contentEntry/entryDataFactories/state.js.map +0 -1
  916. package/crud/contentModel/validateModel.d.ts +0 -9
  917. package/crud/contentModel/validateModel.js +0 -21
  918. package/crud/contentModel/validateModel.js.map +0 -1
  919. package/crud/contentModel/validateModelFields.d.ts +0 -9
  920. package/crud/contentModel/validateModelFields.js +0 -267
  921. package/crud/contentModel/validateModelFields.js.map +0 -1
  922. package/features/modelBuilder/fields/validators.js +0 -3
  923. package/features/modelBuilder/fields/validators.js.map +0 -1
  924. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  925. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  926. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  927. package/graphqlFields/boolean.d.ts +0 -2
  928. package/graphqlFields/boolean.js +0 -52
  929. package/graphqlFields/boolean.js.map +0 -1
  930. package/graphqlFields/datetime.d.ts +0 -2
  931. package/graphqlFields/datetime.js +0 -71
  932. package/graphqlFields/datetime.js.map +0 -1
  933. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  934. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  935. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  936. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  937. package/graphqlFields/dynamicZone/index.js +0 -3
  938. package/graphqlFields/dynamicZone/index.js.map +0 -1
  939. package/graphqlFields/file.d.ts +0 -2
  940. package/graphqlFields/file.js +0 -37
  941. package/graphqlFields/file.js.map +0 -1
  942. package/graphqlFields/helpers.js +0 -20
  943. package/graphqlFields/helpers.js.map +0 -1
  944. package/graphqlFields/index.d.ts +0 -2
  945. package/graphqlFields/index.js +0 -15
  946. package/graphqlFields/index.js.map +0 -1
  947. package/graphqlFields/json.d.ts +0 -2
  948. package/graphqlFields/json.js +0 -42
  949. package/graphqlFields/json.js.map +0 -1
  950. package/graphqlFields/longText.d.ts +0 -2
  951. package/graphqlFields/longText.js +0 -57
  952. package/graphqlFields/longText.js.map +0 -1
  953. package/graphqlFields/number.d.ts +0 -2
  954. package/graphqlFields/number.js +0 -63
  955. package/graphqlFields/number.js.map +0 -1
  956. package/graphqlFields/object.d.ts +0 -2
  957. package/graphqlFields/object.js +0 -245
  958. package/graphqlFields/object.js.map +0 -1
  959. package/graphqlFields/ref.d.ts +0 -2
  960. package/graphqlFields/ref.js +0 -286
  961. package/graphqlFields/ref.js.map +0 -1
  962. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  963. package/graphqlFields/richText.d.ts +0 -2
  964. package/graphqlFields/richText.js +0 -48
  965. package/graphqlFields/richText.js.map +0 -1
  966. package/graphqlFields/searchableJson.d.ts +0 -2
  967. package/graphqlFields/searchableJson.js +0 -53
  968. package/graphqlFields/searchableJson.js.map +0 -1
  969. package/graphqlFields/text.d.ts +0 -2
  970. package/graphqlFields/text.js +0 -59
  971. package/graphqlFields/text.js.map +0 -1
  972. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  973. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  974. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  975. package/plugins/StorageTransformPlugin.d.ts +0 -35
  976. package/plugins/StorageTransformPlugin.js +0 -26
  977. package/plugins/StorageTransformPlugin.js.map +0 -1
  978. package/storage/date.d.ts +0 -3
  979. package/storage/date.js +0 -110
  980. package/storage/date.js.map +0 -1
  981. package/storage/default.d.ts +0 -2
  982. package/storage/default.js +0 -19
  983. package/storage/default.js.map +0 -1
  984. package/storage/dynamicZone.d.ts +0 -2
  985. package/storage/dynamicZone.js +0 -149
  986. package/storage/dynamicZone.js.map +0 -1
  987. package/storage/index.d.ts +0 -1
  988. package/storage/index.js +0 -13
  989. package/storage/index.js.map +0 -1
  990. package/storage/json.d.ts +0 -2
  991. package/storage/json.js +0 -49
  992. package/storage/json.js.map +0 -1
  993. package/storage/object.d.ts +0 -2
  994. package/storage/object.js +0 -104
  995. package/storage/object.js.map +0 -1
  996. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +0 -1
  997. package/validators/dateGte.d.ts +0 -2
  998. package/validators/dateGte.js +0 -25
  999. package/validators/dateGte.js.map +0 -1
  1000. package/validators/dateLte.d.ts +0 -2
  1001. package/validators/dateLte.js +0 -25
  1002. package/validators/dateLte.js.map +0 -1
  1003. package/validators/gte.d.ts +0 -2
  1004. package/validators/gte.js +0 -22
  1005. package/validators/gte.js.map +0 -1
  1006. package/validators/in.d.ts +0 -2
  1007. package/validators/in.js +0 -22
  1008. package/validators/in.js.map +0 -1
  1009. package/validators/index.d.ts +0 -1
  1010. package/validators/index.js +0 -16
  1011. package/validators/index.js.map +0 -1
  1012. package/validators/lte.d.ts +0 -2
  1013. package/validators/lte.js +0 -22
  1014. package/validators/lte.js.map +0 -1
  1015. package/validators/maxLength.d.ts +0 -2
  1016. package/validators/maxLength.js +0 -22
  1017. package/validators/maxLength.js.map +0 -1
  1018. package/validators/minLength.d.ts +0 -2
  1019. package/validators/minLength.js +0 -22
  1020. package/validators/minLength.js.map +0 -1
  1021. package/validators/pattern.d.ts +0 -2
  1022. package/validators/pattern.js +0 -36
  1023. package/validators/pattern.js.map +0 -1
  1024. package/validators/patternPlugins/email.d.ts +0 -2
  1025. package/validators/patternPlugins/email.js +0 -13
  1026. package/validators/patternPlugins/email.js.map +0 -1
  1027. package/validators/patternPlugins/index.d.ts +0 -2
  1028. package/validators/patternPlugins/index.js +0 -11
  1029. package/validators/patternPlugins/index.js.map +0 -1
  1030. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  1031. package/validators/patternPlugins/lowerCase.js +0 -13
  1032. package/validators/patternPlugins/lowerCase.js.map +0 -1
  1033. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  1034. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  1035. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  1036. package/validators/patternPlugins/upperCase.d.ts +0 -2
  1037. package/validators/patternPlugins/upperCase.js +0 -13
  1038. package/validators/patternPlugins/upperCase.js.map +0 -1
  1039. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  1040. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  1041. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  1042. package/validators/patternPlugins/url.d.ts +0 -2
  1043. package/validators/patternPlugins/url.js +0 -13
  1044. package/validators/patternPlugins/url.js.map +0 -1
  1045. package/validators/required.d.ts +0 -2
  1046. package/validators/required.js +0 -17
  1047. package/validators/required.js.map +0 -1
  1048. package/validators/timeGte.d.ts +0 -2
  1049. package/validators/timeGte.js +0 -20
  1050. package/validators/timeGte.js.map +0 -1
  1051. package/validators/timeLte.d.ts +0 -2
  1052. package/validators/timeLte.js +0 -20
  1053. package/validators/timeLte.js.map +0 -1
  1054. package/validators/unique.d.ts +0 -6
  1055. package/validators/unique.js +0 -57
  1056. package/validators/unique.js.map +0 -1
@@ -12,6 +12,7 @@ export interface IListGroupsUseCaseErrors {
12
12
  repository: RepositoryError;
13
13
  }
14
14
  type UseCaseError = IListGroupsUseCaseErrors[keyof IListGroupsUseCaseErrors];
15
+ /** List all content model groups. */
15
16
  export declare const ListGroupsUseCase: import("@webiny/di").Abstraction<IListGroupsUseCase>;
16
17
  export declare namespace ListGroupsUseCase {
17
18
  type Interface = IListGroupsUseCase;
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * ListGroups Use Case
5
5
  */
6
6
 
7
+ /** List all content model groups. */
7
8
  export const ListGroupsUseCase = createAbstraction("ListGroupsUseCase");
8
9
 
9
10
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListGroupsUseCase","ListGroupsRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupPersistenceError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * ListGroups Use Case\n */\nexport interface IListGroupsUseCase {\n execute(): Promise<Result<CmsGroup[], UseCaseError>>;\n}\n\nexport interface IListGroupsUseCaseErrors {\n notAuthorized: GroupNotAuthorizedError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IListGroupsUseCaseErrors[keyof IListGroupsUseCaseErrors];\n\nexport const ListGroupsUseCase = createAbstraction<IListGroupsUseCase>(\"ListGroupsUseCase\");\n\nexport namespace ListGroupsUseCase {\n export type Interface = IListGroupsUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup[], UseCaseError>>;\n}\n\n/**\n * ListGroupsRepository - Fetches all groups from cache.\n */\nexport interface IListGroupsRepository {\n execute(): Promise<Result<CmsGroup[], RepositoryError>>;\n}\n\nexport interface IListGroupsRepositoryErrors {\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IListGroupsRepositoryErrors[keyof IListGroupsRepositoryErrors];\n\nexport const ListGroupsRepository =\n createAbstraction<IListGroupsRepository>(\"ListGroupsRepository\");\n\nexport namespace ListGroupsRepository {\n export type Interface = IListGroupsRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAYA,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAqB,mBAAmB,CAAC;;AAS3F;AACA;AACA;;AAWA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ListGroupsUseCase","ListGroupsRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupPersistenceError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * ListGroups Use Case\n */\nexport interface IListGroupsUseCase {\n execute(): Promise<Result<CmsGroup[], UseCaseError>>;\n}\n\nexport interface IListGroupsUseCaseErrors {\n notAuthorized: GroupNotAuthorizedError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IListGroupsUseCaseErrors[keyof IListGroupsUseCaseErrors];\n\n/** List all content model groups. */\nexport const ListGroupsUseCase = createAbstraction<IListGroupsUseCase>(\"ListGroupsUseCase\");\n\nexport namespace ListGroupsUseCase {\n export type Interface = IListGroupsUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup[], UseCaseError>>;\n}\n\n/**\n * ListGroupsRepository - Fetches all groups from cache.\n */\nexport interface IListGroupsRepository {\n execute(): Promise<Result<CmsGroup[], RepositoryError>>;\n}\n\nexport interface IListGroupsRepositoryErrors {\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IListGroupsRepositoryErrors[keyof IListGroupsRepositoryErrors];\n\nexport const ListGroupsRepository =\n createAbstraction<IListGroupsRepository>(\"ListGroupsRepository\");\n\nexport namespace ListGroupsRepository {\n export type Interface = IListGroupsRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,iBAAiB,GAAGD,iBAAiB,CAAqB,mBAAmB,CAAC;;AAS3F;AACA;AACA;;AAWA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC","ignoreList":[]}
@@ -4,4 +4,7 @@
4
4
  * Provides functionality for retrieving all content model groups.
5
5
  * Uses GroupCache (registered elsewhere) for fetching groups.
6
6
  */
7
- export declare const ListGroupsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
7
+ export declare const ListGroupsFeature: {
8
+ name: string;
9
+ register(container: import("@webiny/di").Container): void;
10
+ };
@@ -2,9 +2,9 @@ import { Result } from "@webiny/feature/api";
2
2
  import { UpdateGroupUseCase as UseCaseAbstraction } from "./abstractions.js";
3
3
  import { UpdateGroupRepository } from "./abstractions.js";
4
4
  import { GetGroupUseCase } from "../../../features/contentModelGroup/GetGroup/abstractions.js";
5
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
5
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
6
6
  import { AccessControl } from "../../../features/shared/abstractions.js";
7
- import { TenantContext } from "@webiny/api-core/features/TenantContext";
7
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
8
8
  import type { CmsGroup } from "../../../types/index.js";
9
9
  import type { CmsGroupUpdateInput } from "../../../types/index.js";
10
10
  /**
@@ -3,12 +3,12 @@ import { createImplementation } from "@webiny/feature/api";
3
3
  import { UpdateGroupUseCase as UseCaseAbstraction } from "./abstractions.js";
4
4
  import { UpdateGroupRepository } from "./abstractions.js";
5
5
  import { GetGroupUseCase } from "../GetGroup/abstractions.js";
6
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
6
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
7
7
  import { GroupBeforeUpdateEvent } from "./events.js";
8
8
  import { GroupAfterUpdateEvent } from "./events.js";
9
9
  import { GroupUpdateErrorEvent } from "./events.js";
10
10
  import { AccessControl } from "../../shared/abstractions.js";
11
- import { TenantContext } from "@webiny/api-core/features/TenantContext";
11
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
12
12
  import { GroupNotAuthorizedError, GroupValidationError } from "../../../domain/contentModelGroup/errors.js";
13
13
  import { createZodError } from "@webiny/utils";
14
14
  import { createGroupUpdateValidation } from "../../../domain/contentModelGroup/validation.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","UpdateGroupUseCase","UseCaseAbstraction","UpdateGroupRepository","GetGroupUseCase","EventPublisher","GroupBeforeUpdateEvent","GroupAfterUpdateEvent","GroupUpdateErrorEvent","AccessControl","TenantContext","GroupNotAuthorizedError","GroupValidationError","createZodError","createGroupUpdateValidation","UpdateGroupUseCaseImpl","constructor","eventPublisher","repository","getGroupUseCase","accessControl","tenantContext","execute","groupId","input","canAccess","canAccessGroup","rwd","fail","getResult","isFail","error","original","value","group","validationResult","safeParseAsync","success","zodError","message","data","invalidFields","Object","keys","length","ok","tenant","getTenant","id","savedOn","Date","toISOString","publish","result","abstraction","implementation","dependencies"],"sources":["UpdateGroupUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { UpdateGroupUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UpdateGroupRepository } from \"./abstractions.js\";\nimport { GetGroupUseCase } from \"~/features/contentModelGroup/GetGroup/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { GroupBeforeUpdateEvent } from \"./events.js\";\nimport { GroupAfterUpdateEvent } from \"./events.js\";\nimport { GroupUpdateErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport {\n GroupNotAuthorizedError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { createGroupUpdateValidation } from \"~/domain/contentModelGroup/validation.js\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport type { CmsGroupUpdateInput } from \"~/types/index.js\";\n\n/**\n * UpdateGroupUseCase - Orchestrates group updates.\n *\n * Responsibilities:\n * - Fetch original group\n * - Access control checks\n * - Validate input (Zod)\n * - Skip if no changes\n * - Merge changes\n * - Publish before event\n * - Delegate to repository\n * - Publish after event or error event\n */\nclass UpdateGroupUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateGroupRepository.Interface,\n private getGroupUseCase: GetGroupUseCase.Interface,\n private accessControl: AccessControl.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(\n groupId: string,\n input: CmsGroupUpdateInput\n ): Promise<Result<CmsGroup, UseCaseAbstraction.Error>> {\n // Initial access control check\n const canAccess = await this.accessControl.canAccessGroup({ rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(new GroupNotAuthorizedError());\n }\n\n // Fetch original group\n const getResult = await this.getGroupUseCase.execute(groupId);\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n const original = getResult.value;\n\n // Access control check on original group\n const canAccessGroup = await this.accessControl.canAccessGroup({ group: original });\n if (!canAccessGroup) {\n return Result.fail(new GroupNotAuthorizedError());\n }\n\n // Validate input\n const validationResult = await createGroupUpdateValidation().safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(\n new GroupValidationError(zodError.message, zodError.data!.invalidFields)\n );\n }\n const data = validationResult.data;\n\n // Skip if no changes\n if (Object.keys(data).length === 0) {\n return Result.ok(original);\n }\n\n // Merge changes\n const tenant = this.tenantContext.getTenant();\n const group: CmsGroup = {\n ...original,\n ...data,\n tenant: tenant.id,\n savedOn: new Date().toISOString()\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new GroupBeforeUpdateEvent({\n original,\n group\n })\n );\n\n // Persist via repository\n const result = await this.repository.execute(group);\n if (result.isFail()) {\n // Publish error event\n await this.eventPublisher.publish(\n new GroupUpdateErrorEvent({\n input,\n original,\n group,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new GroupAfterUpdateEvent({\n original,\n group\n })\n );\n\n return Result.ok(group);\n } catch (error) {\n // Publish error event for unexpected errors\n await this.eventPublisher.publish(\n new GroupUpdateErrorEvent({\n input,\n original,\n group,\n error: error as Error\n })\n );\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const UpdateGroupUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: UpdateGroupUseCaseImpl,\n dependencies: [\n EventPublisher,\n UpdateGroupRepository,\n GetGroupUseCase,\n AccessControl,\n TenantContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Result","createImplementation","UpdateGroupUseCase","UseCaseAbstraction","UpdateGroupRepository","GetGroupUseCase","EventPublisher","GroupBeforeUpdateEvent","GroupAfterUpdateEvent","GroupUpdateErrorEvent","AccessControl","TenantContext","GroupNotAuthorizedError","GroupValidationError","createZodError","createGroupUpdateValidation","UpdateGroupUseCaseImpl","constructor","eventPublisher","repository","getGroupUseCase","accessControl","tenantContext","execute","groupId","input","canAccess","canAccessGroup","rwd","fail","getResult","isFail","error","original","value","group","validationResult","safeParseAsync","success","zodError","message","data","invalidFields","Object","keys","length","ok","tenant","getTenant","id","savedOn","Date","toISOString","publish","result","abstraction","implementation","dependencies"],"sources":["UpdateGroupUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { UpdateGroupUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UpdateGroupRepository } from \"./abstractions.js\";\nimport { GetGroupUseCase } from \"~/features/contentModelGroup/GetGroup/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GroupBeforeUpdateEvent } from \"./events.js\";\nimport { GroupAfterUpdateEvent } from \"./events.js\";\nimport { GroupUpdateErrorEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport {\n GroupNotAuthorizedError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { createGroupUpdateValidation } from \"~/domain/contentModelGroup/validation.js\";\nimport type { CmsGroup } from \"~/types/index.js\";\nimport type { CmsGroupUpdateInput } from \"~/types/index.js\";\n\n/**\n * UpdateGroupUseCase - Orchestrates group updates.\n *\n * Responsibilities:\n * - Fetch original group\n * - Access control checks\n * - Validate input (Zod)\n * - Skip if no changes\n * - Merge changes\n * - Publish before event\n * - Delegate to repository\n * - Publish after event or error event\n */\nclass UpdateGroupUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateGroupRepository.Interface,\n private getGroupUseCase: GetGroupUseCase.Interface,\n private accessControl: AccessControl.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(\n groupId: string,\n input: CmsGroupUpdateInput\n ): Promise<Result<CmsGroup, UseCaseAbstraction.Error>> {\n // Initial access control check\n const canAccess = await this.accessControl.canAccessGroup({ rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(new GroupNotAuthorizedError());\n }\n\n // Fetch original group\n const getResult = await this.getGroupUseCase.execute(groupId);\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n const original = getResult.value;\n\n // Access control check on original group\n const canAccessGroup = await this.accessControl.canAccessGroup({ group: original });\n if (!canAccessGroup) {\n return Result.fail(new GroupNotAuthorizedError());\n }\n\n // Validate input\n const validationResult = await createGroupUpdateValidation().safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(\n new GroupValidationError(zodError.message, zodError.data!.invalidFields)\n );\n }\n const data = validationResult.data;\n\n // Skip if no changes\n if (Object.keys(data).length === 0) {\n return Result.ok(original);\n }\n\n // Merge changes\n const tenant = this.tenantContext.getTenant();\n const group: CmsGroup = {\n ...original,\n ...data,\n tenant: tenant.id,\n savedOn: new Date().toISOString()\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new GroupBeforeUpdateEvent({\n original,\n group\n })\n );\n\n // Persist via repository\n const result = await this.repository.execute(group);\n if (result.isFail()) {\n // Publish error event\n await this.eventPublisher.publish(\n new GroupUpdateErrorEvent({\n input,\n original,\n group,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new GroupAfterUpdateEvent({\n original,\n group\n })\n );\n\n return Result.ok(group);\n } catch (error) {\n // Publish error event for unexpected errors\n await this.eventPublisher.publish(\n new GroupUpdateErrorEvent({\n input,\n original,\n group,\n error: error as Error\n })\n );\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const UpdateGroupUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: UpdateGroupUseCaseImpl,\n dependencies: [\n EventPublisher,\n UpdateGroupRepository,\n GetGroupUseCase,\n AccessControl,\n TenantContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ export interface IUpdateGroupUseCaseErrors {
15
15
  repository: RepositoryError;
16
16
  }
17
17
  type UseCaseError = IUpdateGroupUseCaseErrors[keyof IUpdateGroupUseCaseErrors];
18
+ /** Update a content model group. */
18
19
  export declare const UpdateGroupUseCase: import("@webiny/di").Abstraction<IUpdateGroupUseCase>;
19
20
  export declare namespace UpdateGroupUseCase {
20
21
  type Interface = IUpdateGroupUseCase;
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * UpdateGroup Use Case
5
5
  */
6
6
 
7
+ /** Update a content model group. */
7
8
  export const UpdateGroupUseCase = createAbstraction("UpdateGroupUseCase");
8
9
 
9
10
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateGroupUseCase","UpdateGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsGroupUpdateInput } from \"~/types/index.js\";\nimport type {\n GroupCannotUpdateCodeDefinedError,\n GroupPersistenceError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateGroup Use Case\n */\nexport interface IUpdateGroupUseCase {\n execute(groupId: string, input: CmsGroupUpdateInput): Promise<Result<CmsGroup, UseCaseError>>;\n}\n\nexport interface IUpdateGroupUseCaseErrors {\n notFound: GroupNotFoundError;\n notAuthorized: GroupNotAuthorizedError;\n validation: GroupValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IUpdateGroupUseCaseErrors[keyof IUpdateGroupUseCaseErrors];\n\nexport const UpdateGroupUseCase = createAbstraction<IUpdateGroupUseCase>(\"UpdateGroupUseCase\");\n\nexport namespace UpdateGroupUseCase {\n export type Interface = IUpdateGroupUseCase;\n export type Input = CmsGroupUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup, UseCaseError>>;\n}\n\n/**\n * UpdateGroupRepository - Persists group updates to storage.\n */\nexport interface IUpdateGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateGroupRepositoryErrors {\n cannotUpdate: GroupCannotUpdateCodeDefinedError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IUpdateGroupRepositoryErrors[keyof IUpdateGroupRepositoryErrors];\n\nexport const UpdateGroupRepository =\n createAbstraction<IUpdateGroupRepository>(\"UpdateGroupRepository\");\n\nexport namespace UpdateGroupRepository {\n export type Interface = IUpdateGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAY/D;AACA;AACA;;AAcA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAYA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","UpdateGroupUseCase","UpdateGroupRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsGroupUpdateInput } from \"~/types/index.js\";\nimport type {\n GroupCannotUpdateCodeDefinedError,\n GroupPersistenceError,\n GroupValidationError\n} from \"~/domain/contentModelGroup/errors.js\";\nimport {\n GroupNotAuthorizedError,\n type GroupNotFoundError\n} from \"~/domain/contentModelGroup/errors.js\";\n\n/**\n * UpdateGroup Use Case\n */\nexport interface IUpdateGroupUseCase {\n execute(groupId: string, input: CmsGroupUpdateInput): Promise<Result<CmsGroup, UseCaseError>>;\n}\n\nexport interface IUpdateGroupUseCaseErrors {\n notFound: GroupNotFoundError;\n notAuthorized: GroupNotAuthorizedError;\n validation: GroupValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = IUpdateGroupUseCaseErrors[keyof IUpdateGroupUseCaseErrors];\n\n/** Update a content model group. */\nexport const UpdateGroupUseCase = createAbstraction<IUpdateGroupUseCase>(\"UpdateGroupUseCase\");\n\nexport namespace UpdateGroupUseCase {\n export type Interface = IUpdateGroupUseCase;\n export type Input = CmsGroupUpdateInput;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<CmsGroup, UseCaseError>>;\n}\n\n/**\n * UpdateGroupRepository - Persists group updates to storage.\n */\nexport interface IUpdateGroupRepository {\n execute(group: CmsGroup): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateGroupRepositoryErrors {\n cannotUpdate: GroupCannotUpdateCodeDefinedError;\n storage: GroupPersistenceError;\n}\n\ntype RepositoryError = IUpdateGroupRepositoryErrors[keyof IUpdateGroupRepositoryErrors];\n\nexport const UpdateGroupRepository =\n createAbstraction<IUpdateGroupRepository>(\"UpdateGroupRepository\");\n\nexport namespace UpdateGroupRepository {\n export type Interface = IUpdateGroupRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAY/D;AACA;AACA;;AAcA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAU9F;AACA;AACA;;AAYA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { CmsGroup, CmsGroupUpdateInput } from "../../../types/index.js";
4
4
  /**
5
5
  * Event payloads
@@ -25,6 +25,7 @@ export declare class GroupBeforeUpdateEvent extends DomainEvent<GroupBeforeUpdat
25
25
  eventType: "Cms/Group/BeforeUpdate";
26
26
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupBeforeUpdateEvent>>;
27
27
  }
28
+ /** Hook into group lifecycle before a group is updated. */
28
29
  export declare const GroupBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupBeforeUpdateEvent>>;
29
30
  export declare namespace GroupBeforeUpdateEventHandler {
30
31
  type Interface = IEventHandler<GroupBeforeUpdateEvent>;
@@ -37,6 +38,7 @@ export declare class GroupAfterUpdateEvent extends DomainEvent<GroupAfterUpdateE
37
38
  eventType: "Cms/Group/AfterUpdate";
38
39
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<GroupAfterUpdateEvent>>;
39
40
  }
41
+ /** Hook into group lifecycle after a group is updated. */
40
42
  export declare const GroupAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<GroupAfterUpdateEvent>>;
41
43
  export declare namespace GroupAfterUpdateEventHandler {
42
44
  type Interface = IEventHandler<GroupAfterUpdateEvent>;
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
 
4
4
  /**
5
5
  * Event payloads
@@ -14,6 +14,8 @@ export class GroupBeforeUpdateEvent extends DomainEvent {
14
14
  return GroupBeforeUpdateEventHandler;
15
15
  }
16
16
  }
17
+
18
+ /** Hook into group lifecycle before a group is updated. */
17
19
  export const GroupBeforeUpdateEventHandler = createAbstraction("GroupBeforeUpdateEventHandler");
18
20
  /**
19
21
  * GroupAfterUpdateEvent - Published after updating a group
@@ -24,6 +26,8 @@ export class GroupAfterUpdateEvent extends DomainEvent {
24
26
  return GroupAfterUpdateEventHandler;
25
27
  }
26
28
  }
29
+
30
+ /** Hook into group lifecycle after a group is updated. */
27
31
  export const GroupAfterUpdateEventHandler = createAbstraction("GroupAfterUpdateEventHandler");
28
32
  /**
29
33
  * GroupUpdateErrorEvent - Published when update fails
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeUpdateEvent","eventType","getHandlerAbstraction","GroupBeforeUpdateEventHandler","GroupAfterUpdateEvent","GroupAfterUpdateEventHandler","GroupUpdateErrorEvent","GroupUpdateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { CmsGroup, CmsGroupUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeUpdateEventPayload {\n original: CmsGroup;\n group: CmsGroup;\n}\n\nexport interface GroupAfterUpdateEventPayload {\n original: CmsGroup;\n group: CmsGroup;\n}\n\nexport interface GroupUpdateErrorEventPayload {\n input: CmsGroupUpdateInput;\n original: CmsGroup;\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeUpdateEvent - Published before updating a group\n */\nexport class GroupBeforeUpdateEvent extends DomainEvent<GroupBeforeUpdateEventPayload> {\n eventType = \"Cms/Group/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeUpdateEventHandler;\n }\n}\n\nexport const GroupBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<GroupBeforeUpdateEvent>\n>(\"GroupBeforeUpdateEventHandler\");\n\nexport namespace GroupBeforeUpdateEventHandler {\n export type Interface = IEventHandler<GroupBeforeUpdateEvent>;\n export type Event = GroupBeforeUpdateEvent;\n}\n\n/**\n * GroupAfterUpdateEvent - Published after updating a group\n */\nexport class GroupAfterUpdateEvent extends DomainEvent<GroupAfterUpdateEventPayload> {\n eventType = \"Cms/Group/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterUpdateEventHandler;\n }\n}\n\nexport const GroupAfterUpdateEventHandler = createAbstraction<IEventHandler<GroupAfterUpdateEvent>>(\n \"GroupAfterUpdateEventHandler\"\n);\n\nexport namespace GroupAfterUpdateEventHandler {\n export type Interface = IEventHandler<GroupAfterUpdateEvent>;\n export type Event = GroupAfterUpdateEvent;\n}\n\n/**\n * GroupUpdateErrorEvent - Published when update fails\n */\nexport class GroupUpdateErrorEvent extends DomainEvent<GroupUpdateErrorEventPayload> {\n eventType = \"Cms/Group/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return GroupUpdateErrorEventHandler;\n }\n}\n\nexport const GroupUpdateErrorEventHandler = createAbstraction<IEventHandler<GroupUpdateErrorEvent>>(\n \"GroupUpdateErrorEventHandler\"\n);\n\nexport namespace GroupUpdateErrorEventHandler {\n export type Interface = IEventHandler<GroupUpdateErrorEvent>;\n export type Event = GroupUpdateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;;AAGtE;AACA;AACA;;AAkBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;AAEA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","GroupBeforeUpdateEvent","eventType","getHandlerAbstraction","GroupBeforeUpdateEventHandler","GroupAfterUpdateEvent","GroupAfterUpdateEventHandler","GroupUpdateErrorEvent","GroupUpdateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { CmsGroup, CmsGroupUpdateInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface GroupBeforeUpdateEventPayload {\n original: CmsGroup;\n group: CmsGroup;\n}\n\nexport interface GroupAfterUpdateEventPayload {\n original: CmsGroup;\n group: CmsGroup;\n}\n\nexport interface GroupUpdateErrorEventPayload {\n input: CmsGroupUpdateInput;\n original: CmsGroup;\n group: CmsGroup;\n error: Error;\n}\n\n/**\n * GroupBeforeUpdateEvent - Published before updating a group\n */\nexport class GroupBeforeUpdateEvent extends DomainEvent<GroupBeforeUpdateEventPayload> {\n eventType = \"Cms/Group/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return GroupBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into group lifecycle before a group is updated. */\nexport const GroupBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<GroupBeforeUpdateEvent>\n>(\"GroupBeforeUpdateEventHandler\");\n\nexport namespace GroupBeforeUpdateEventHandler {\n export type Interface = IEventHandler<GroupBeforeUpdateEvent>;\n export type Event = GroupBeforeUpdateEvent;\n}\n\n/**\n * GroupAfterUpdateEvent - Published after updating a group\n */\nexport class GroupAfterUpdateEvent extends DomainEvent<GroupAfterUpdateEventPayload> {\n eventType = \"Cms/Group/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return GroupAfterUpdateEventHandler;\n }\n}\n\n/** Hook into group lifecycle after a group is updated. */\nexport const GroupAfterUpdateEventHandler = createAbstraction<IEventHandler<GroupAfterUpdateEvent>>(\n \"GroupAfterUpdateEventHandler\"\n);\n\nexport namespace GroupAfterUpdateEventHandler {\n export type Interface = IEventHandler<GroupAfterUpdateEvent>;\n export type Event = GroupAfterUpdateEvent;\n}\n\n/**\n * GroupUpdateErrorEvent - Published when update fails\n */\nexport class GroupUpdateErrorEvent extends DomainEvent<GroupUpdateErrorEventPayload> {\n eventType = \"Cms/Group/UpdateError\" as const;\n\n getHandlerAbstraction() {\n return GroupUpdateErrorEventHandler;\n }\n}\n\nexport const GroupUpdateErrorEventHandler = createAbstraction<IEventHandler<GroupUpdateErrorEvent>>(\n \"GroupUpdateErrorEventHandler\"\n);\n\nexport namespace GroupUpdateErrorEventHandler {\n export type Interface = IEventHandler<GroupUpdateErrorEvent>;\n export type Event = GroupUpdateErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;;AAG/E;AACA;AACA;;AAkBA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
@@ -4,4 +4,7 @@
4
4
  * Provides functionality for updating existing content model groups.
5
5
  * Prevents updates to plugin-based groups.
6
6
  */
7
- export declare const UpdateGroupFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
7
+ export declare const UpdateGroupFeature: {
8
+ name: string;
9
+ register(container: import("@webiny/di").Container): void;
10
+ };
@@ -1,7 +1,7 @@
1
- import { TenantContext } from "@webiny/api-core/features/TenantContext";
1
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
2
2
  import { CmsContext } from "../../../features/shared/abstractions.js";
3
3
  import { AccessControl } from "../../../features/shared/abstractions.js";
4
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
5
  import { ModelGroupFactory, PluginGroupsProvider as ProviderAbstraction } from "./abstractions.js";
6
6
  import type { CmsGroup } from "../../../types/index.js";
7
7
  /**
@@ -1,8 +1,8 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { TenantContext } from "@webiny/api-core/features/TenantContext";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
3
  import { CmsContext } from "../../shared/abstractions.js";
4
4
  import { AccessControl } from "../../shared/abstractions.js";
5
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
5
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
6
6
  import { ModelGroupFactory, PluginGroupsProvider as ProviderAbstraction } from "./abstractions.js";
7
7
  import { CmsGroupPlugin } from "../../../plugins/CmsGroupPlugin.js";
8
8
  import { filterAsync } from "../../../utils/filterAsync.js";
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","TenantContext","CmsContext","AccessControl","IdentityContext","ModelGroupFactory","PluginGroupsProvider","ProviderAbstraction","CmsGroupPlugin","filterAsync","createCacheKey","createMemoryCache","PluginGroupsProviderImpl","cache","constructor","tenantContext","cmsContext","accessControl","identityContext","groupFactories","getGroups","tenant","getTenant","pluginGroups","plugins","byType","type","cacheKey","id","identity","security","isAuthorizationEnabled","getIdentity","undefined","groups","map","contentModelGroup","group","slug","savedOn","join","codeGroups","length","getOrSet","Promise","all","factory","execute","then","result","flat","description","filter","plugin","t","canAccessGroup","abstraction","implementation","dependencies","multiple"],"sources":["PluginGroupsProvider.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport { CmsContext } from \"~/features/shared/abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { ModelGroupFactory, PluginGroupsProvider as ProviderAbstraction } from \"./abstractions.js\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin.js\";\nimport { filterAsync } from \"~/utils/filterAsync.js\";\nimport { createCacheKey } from \"~/utils/index.js\";\nimport { createMemoryCache } from \"~/utils/index.js\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * PluginGroupsProvider implementation\n *\n * Fetches groups from CmsGroupPlugin instances.\n * Filters by tenant and applies access control.\n * Results are cached based on tenant + identity + plugin signatures.\n */\nclass PluginGroupsProviderImpl implements ProviderAbstraction.Interface {\n private cache = createMemoryCache<Promise<CmsGroup[]>>();\n\n public constructor(\n private tenantContext: TenantContext.Interface,\n private cmsContext: CmsContext.Interface,\n private accessControl: AccessControl.Interface,\n private identityContext: IdentityContext.Interface,\n private groupFactories: ModelGroupFactory.Interface[]\n ) {}\n\n async getGroups(): Promise<CmsGroup[]> {\n const tenant = this.tenantContext.getTenant();\n const pluginGroups = this.cmsContext.plugins.byType<CmsGroupPlugin>(CmsGroupPlugin.type);\n\n const cacheKey = createCacheKey({\n tenant: tenant.id,\n identity: this.cmsContext.security.isAuthorizationEnabled()\n ? this.identityContext.getIdentity()?.id\n : undefined,\n groups: pluginGroups\n .map(({ contentModelGroup: group }) => {\n return `${group.id}#${group.slug}#${group.savedOn || \"unknown\"}`;\n })\n .join(\"/\"),\n codeGroups: this.groupFactories.length\n });\n\n return this.cache.getOrSet(cacheKey, async (): Promise<CmsGroup[]> => {\n // TODO: once the legacy code plugins are removed, clean this up.\n // Currently, this code makes the new group compatible with the legacy one.\n const codeGroups: CmsGroup[] = await Promise.all(\n this.groupFactories.map(factory => factory.execute())\n ).then(result => {\n return result.flat().map<CmsGroup>(group => ({\n ...group,\n id: group.slug,\n tenant: tenant.id,\n description: \"\"\n }));\n });\n\n const groups = pluginGroups\n // Filter by tenant if specified in plugin\n // If not specified, plugin group is available for all tenants\n .filter(plugin => {\n const { tenant: t } = plugin.contentModelGroup;\n if (t && t !== tenant.id) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant: tenant.id\n };\n });\n\n // Apply access control filtering\n return filterAsync([...codeGroups, ...groups], async (group?: CmsGroup) => {\n if (!group) {\n return false;\n }\n return this.accessControl.canAccessGroup({ group });\n });\n });\n }\n}\n\nexport const PluginGroupsProvider = createImplementation({\n abstraction: ProviderAbstraction,\n implementation: PluginGroupsProviderImpl,\n dependencies: [\n TenantContext,\n CmsContext,\n AccessControl,\n IdentityContext,\n [ModelGroupFactory, { multiple: true }]\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","TenantContext","CmsContext","AccessControl","IdentityContext","ModelGroupFactory","PluginGroupsProvider","ProviderAbstraction","CmsGroupPlugin","filterAsync","createCacheKey","createMemoryCache","PluginGroupsProviderImpl","cache","constructor","tenantContext","cmsContext","accessControl","identityContext","groupFactories","getGroups","tenant","getTenant","pluginGroups","plugins","byType","type","cacheKey","id","identity","security","isAuthorizationEnabled","getIdentity","undefined","groups","map","contentModelGroup","group","slug","savedOn","join","codeGroups","length","getOrSet","Promise","all","factory","execute","then","result","flat","description","filter","plugin","t","canAccessGroup","abstraction","implementation","dependencies","multiple"],"sources":["PluginGroupsProvider.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { CmsContext } from \"~/features/shared/abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ModelGroupFactory, PluginGroupsProvider as ProviderAbstraction } from \"./abstractions.js\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin.js\";\nimport { filterAsync } from \"~/utils/filterAsync.js\";\nimport { createCacheKey } from \"~/utils/index.js\";\nimport { createMemoryCache } from \"~/utils/index.js\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * PluginGroupsProvider implementation\n *\n * Fetches groups from CmsGroupPlugin instances.\n * Filters by tenant and applies access control.\n * Results are cached based on tenant + identity + plugin signatures.\n */\nclass PluginGroupsProviderImpl implements ProviderAbstraction.Interface {\n private cache = createMemoryCache<Promise<CmsGroup[]>>();\n\n public constructor(\n private tenantContext: TenantContext.Interface,\n private cmsContext: CmsContext.Interface,\n private accessControl: AccessControl.Interface,\n private identityContext: IdentityContext.Interface,\n private groupFactories: ModelGroupFactory.Interface[]\n ) {}\n\n async getGroups(): Promise<CmsGroup[]> {\n const tenant = this.tenantContext.getTenant();\n const pluginGroups = this.cmsContext.plugins.byType<CmsGroupPlugin>(CmsGroupPlugin.type);\n\n const cacheKey = createCacheKey({\n tenant: tenant.id,\n identity: this.cmsContext.security.isAuthorizationEnabled()\n ? this.identityContext.getIdentity()?.id\n : undefined,\n groups: pluginGroups\n .map(({ contentModelGroup: group }) => {\n return `${group.id}#${group.slug}#${group.savedOn || \"unknown\"}`;\n })\n .join(\"/\"),\n codeGroups: this.groupFactories.length\n });\n\n return this.cache.getOrSet(cacheKey, async (): Promise<CmsGroup[]> => {\n // TODO: once the legacy code plugins are removed, clean this up.\n // Currently, this code makes the new group compatible with the legacy one.\n const codeGroups: CmsGroup[] = await Promise.all(\n this.groupFactories.map(factory => factory.execute())\n ).then(result => {\n return result.flat().map<CmsGroup>(group => ({\n ...group,\n id: group.slug,\n tenant: tenant.id,\n description: \"\"\n }));\n });\n\n const groups = pluginGroups\n // Filter by tenant if specified in plugin\n // If not specified, plugin group is available for all tenants\n .filter(plugin => {\n const { tenant: t } = plugin.contentModelGroup;\n if (t && t !== tenant.id) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant: tenant.id\n };\n });\n\n // Apply access control filtering\n return filterAsync([...codeGroups, ...groups], async (group?: CmsGroup) => {\n if (!group) {\n return false;\n }\n return this.accessControl.canAccessGroup({ group });\n });\n });\n }\n}\n\nexport const PluginGroupsProvider = createImplementation({\n abstraction: ProviderAbstraction,\n implementation: PluginGroupsProviderImpl,\n dependencies: [\n TenantContext,\n CmsContext,\n AccessControl,\n IdentityContext,\n [ModelGroupFactory, { multiple: true }]\n ]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,7 @@ interface IModelGroup {
22
22
  export interface IModelGroupFactory {
23
23
  execute(): Promise<IModelGroup[]>;
24
24
  }
25
+ /** Provide code-defined content model groups. */
25
26
  export declare const ModelGroupFactory: import("@webiny/di").Abstraction<IModelGroupFactory>;
26
27
  export declare namespace ModelGroupFactory {
27
28
  type Interface = IModelGroupFactory;
@@ -6,6 +6,7 @@ import { createAbstraction } from "@webiny/feature/api";
6
6
 
7
7
  export const PluginGroupsProvider = createAbstraction("PluginGroupsProvider");
8
8
  export const GroupCache = createAbstraction("GroupCache");
9
+ /** Provide code-defined content model groups. */
9
10
  export const ModelGroupFactory = createAbstraction("ModelGroupFactory");
10
11
 
11
12
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","PluginGroupsProvider","GroupCache","ModelGroupFactory"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsIcon } from \"~/types/index.js\";\nimport type { ICache } from \"~/utils/caching/types.js\";\n\n/**\n * PluginGroupsProvider provides access to plugin-defined (code) groups.\n */\nexport interface IPluginGroupsProvider {\n getGroups(): Promise<CmsGroup[]>;\n}\n\nexport const PluginGroupsProvider =\n createAbstraction<IPluginGroupsProvider>(\"PluginGroupsProvider\");\n\nexport namespace PluginGroupsProvider {\n export type Interface = IPluginGroupsProvider;\n}\n\nexport const GroupCache = createAbstraction<ICache<Promise<CmsGroup[]>>>(\"GroupCache\");\n\nexport namespace GroupCache {\n export type Interface = ICache;\n}\n\ninterface IModelGroup {\n slug: string;\n name: string;\n icon: CmsIcon;\n}\n\nexport interface IModelGroupFactory {\n execute(): Promise<IModelGroup[]>;\n}\n\nexport const ModelGroupFactory = createAbstraction<IModelGroupFactory>(\"ModelGroupFactory\");\nexport namespace ModelGroupFactory {\n export type Interface = IModelGroupFactory;\n export type Return = Promise<IModelGroup[]>;\n export type Group = IModelGroup;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AAKA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;AAMpE,OAAO,MAAME,UAAU,GAAGF,iBAAiB,CAA8B,YAAY,CAAC;AAgBtF,OAAO,MAAMG,iBAAiB,GAAGH,iBAAiB,CAAqB,mBAAmB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","PluginGroupsProvider","GroupCache","ModelGroupFactory"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsGroup, CmsIcon } from \"~/types/index.js\";\nimport type { ICache } from \"~/utils/caching/types.js\";\n\n/**\n * PluginGroupsProvider provides access to plugin-defined (code) groups.\n */\nexport interface IPluginGroupsProvider {\n getGroups(): Promise<CmsGroup[]>;\n}\n\nexport const PluginGroupsProvider =\n createAbstraction<IPluginGroupsProvider>(\"PluginGroupsProvider\");\n\nexport namespace PluginGroupsProvider {\n export type Interface = IPluginGroupsProvider;\n}\n\nexport const GroupCache = createAbstraction<ICache<Promise<CmsGroup[]>>>(\"GroupCache\");\n\nexport namespace GroupCache {\n export type Interface = ICache;\n}\n\ninterface IModelGroup {\n slug: string;\n name: string;\n icon: CmsIcon;\n}\n\nexport interface IModelGroupFactory {\n execute(): Promise<IModelGroup[]>;\n}\n\n/** Provide code-defined content model groups. */\nexport const ModelGroupFactory = createAbstraction<IModelGroupFactory>(\"ModelGroupFactory\");\nexport namespace ModelGroupFactory {\n export type Interface = IModelGroupFactory;\n export type Return = Promise<IModelGroup[]>;\n export type Group = IModelGroup;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AAKA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;AAMpE,OAAO,MAAME,UAAU,GAAGF,iBAAiB,CAA8B,YAAY,CAAC;AAgBtF;AACA,OAAO,MAAMG,iBAAiB,GAAGH,iBAAiB,CAAqB,mBAAmB,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare const GraphQLFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,34 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CmsModelFieldToGraphQLRegistry } from "./fields/CmsModelFieldToGraphQLRegistry.js";
3
+ import { BooleanFieldToGraphQL } from "./fields/base/BooleanToGraphQL.js";
4
+ import { DateTimeFieldToGraphQL } from "./fields/base/DateTimeToGraphQL.js";
5
+ import { DynamicZoneFieldToGraphQL } from "./fields/base/DynamicZoneToGraphQL.js";
6
+ import { FileFieldToGraphQL } from "./fields/base/FileToGraphQL.js";
7
+ import { JsonFieldToGraphQL } from "./fields/base/JsonToGraphQL.js";
8
+ import { LongTextFieldToGraphQL } from "./fields/base/LongTextToGraphQL.js";
9
+ import { NumberFieldToGraphQL } from "./fields/base/NumberToGraphQL.js";
10
+ import { ObjectFieldToGraphQL } from "./fields/base/ObjectToGraphQL.js";
11
+ import { RefFieldToGraphQL } from "./fields/base/RefToGraphQL.js";
12
+ import { SearchableJsonFieldToGraphQL } from "./fields/base/SearchableJsonToGraphQL.js";
13
+ import { TextFieldToGraphQL } from "./fields/base/TextToGraphQL.js";
14
+ import { RichTextFieldToGraphQL } from "./fields/base/RichTextToGraphQL.js";
15
+ export const GraphQLFeature = createFeature({
16
+ name: "Cms/GraphQLFeature",
17
+ register: container => {
18
+ container.register(BooleanFieldToGraphQL);
19
+ container.register(DateTimeFieldToGraphQL);
20
+ container.register(DynamicZoneFieldToGraphQL);
21
+ container.register(FileFieldToGraphQL);
22
+ container.register(JsonFieldToGraphQL);
23
+ container.register(LongTextFieldToGraphQL);
24
+ container.register(NumberFieldToGraphQL);
25
+ container.register(ObjectFieldToGraphQL);
26
+ container.register(RefFieldToGraphQL);
27
+ container.register(RichTextFieldToGraphQL);
28
+ container.register(SearchableJsonFieldToGraphQL);
29
+ container.register(TextFieldToGraphQL);
30
+ container.register(CmsModelFieldToGraphQLRegistry);
31
+ }
32
+ });
33
+
34
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","CmsModelFieldToGraphQLRegistry","BooleanFieldToGraphQL","DateTimeFieldToGraphQL","DynamicZoneFieldToGraphQL","FileFieldToGraphQL","JsonFieldToGraphQL","LongTextFieldToGraphQL","NumberFieldToGraphQL","ObjectFieldToGraphQL","RefFieldToGraphQL","SearchableJsonFieldToGraphQL","TextFieldToGraphQL","RichTextFieldToGraphQL","GraphQLFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsModelFieldToGraphQLRegistry } from \"./fields/CmsModelFieldToGraphQLRegistry.js\";\nimport { BooleanFieldToGraphQL } from \"./fields/base/BooleanToGraphQL.js\";\nimport { DateTimeFieldToGraphQL } from \"./fields/base/DateTimeToGraphQL.js\";\nimport { DynamicZoneFieldToGraphQL } from \"./fields/base/DynamicZoneToGraphQL.js\";\nimport { FileFieldToGraphQL } from \"./fields/base/FileToGraphQL.js\";\nimport { JsonFieldToGraphQL } from \"./fields/base/JsonToGraphQL.js\";\nimport { LongTextFieldToGraphQL } from \"./fields/base/LongTextToGraphQL.js\";\nimport { NumberFieldToGraphQL } from \"./fields/base/NumberToGraphQL.js\";\nimport { ObjectFieldToGraphQL } from \"./fields/base/ObjectToGraphQL.js\";\nimport { RefFieldToGraphQL } from \"./fields/base/RefToGraphQL.js\";\nimport { SearchableJsonFieldToGraphQL } from \"./fields/base/SearchableJsonToGraphQL.js\";\nimport { TextFieldToGraphQL } from \"./fields/base/TextToGraphQL.js\";\nimport { RichTextFieldToGraphQL } from \"./fields/base/RichTextToGraphQL.js\";\n\nexport const GraphQLFeature = createFeature({\n name: \"Cms/GraphQLFeature\",\n register: container => {\n container.register(BooleanFieldToGraphQL);\n container.register(DateTimeFieldToGraphQL);\n container.register(DynamicZoneFieldToGraphQL);\n container.register(FileFieldToGraphQL);\n container.register(JsonFieldToGraphQL);\n container.register(LongTextFieldToGraphQL);\n container.register(NumberFieldToGraphQL);\n container.register(ObjectFieldToGraphQL);\n container.register(RefFieldToGraphQL);\n container.register(RichTextFieldToGraphQL);\n container.register(SearchableJsonFieldToGraphQL);\n container.register(TextFieldToGraphQL);\n container.register(CmsModelFieldToGraphQLRegistry);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,8BAA8B;AACvC,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,4BAA4B;AACrC,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,cAAc,GAAGd,aAAa,CAAC;EACxCe,IAAI,EAAE,oBAAoB;EAC1BC,QAAQ,EAAEC,SAAS,IAAI;IACnBA,SAAS,CAACD,QAAQ,CAACd,qBAAqB,CAAC;IACzCe,SAAS,CAACD,QAAQ,CAACb,sBAAsB,CAAC;IAC1Cc,SAAS,CAACD,QAAQ,CAACZ,yBAAyB,CAAC;IAC7Ca,SAAS,CAACD,QAAQ,CAACX,kBAAkB,CAAC;IACtCY,SAAS,CAACD,QAAQ,CAACV,kBAAkB,CAAC;IACtCW,SAAS,CAACD,QAAQ,CAACT,sBAAsB,CAAC;IAC1CU,SAAS,CAACD,QAAQ,CAACR,oBAAoB,CAAC;IACxCS,SAAS,CAACD,QAAQ,CAACP,oBAAoB,CAAC;IACxCQ,SAAS,CAACD,QAAQ,CAACN,iBAAiB,CAAC;IACrCO,SAAS,CAACD,QAAQ,CAACH,sBAAsB,CAAC;IAC1CI,SAAS,CAACD,QAAQ,CAACL,4BAA4B,CAAC;IAChDM,SAAS,CAACD,QAAQ,CAACJ,kBAAkB,CAAC;IACtCK,SAAS,CAACD,QAAQ,CAACf,8BAA8B,CAAC;EACtD;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { CmsModelFieldToGraphQLRegistry as CmsModelFieldToGraphQLRegistryAbstraction } from "./abstractions/CmsModelFieldToGraphQLRegistry.js";
2
+ import { CmsModelFieldToGraphQL } from "./abstractions/CmsModelFieldToGraphQL.js";
3
+ import type { CmsModelFieldType } from "../../../types/modelField.js";
4
+ declare class CmsModelFieldToGraphQLRegistryImpl implements CmsModelFieldToGraphQLRegistryAbstraction.Interface {
5
+ private readonly fields;
6
+ constructor(fields: CmsModelFieldToGraphQL.Interface[]);
7
+ get(type: CmsModelFieldType): CmsModelFieldToGraphQL.Interface | undefined;
8
+ getAll(): CmsModelFieldToGraphQL.Interface[];
9
+ }
10
+ export declare const CmsModelFieldToGraphQLRegistry: typeof CmsModelFieldToGraphQLRegistryImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsModelFieldToGraphQLRegistry.js").ICmsModelFieldToGraphQLRegistry>;
12
+ };
13
+ export {};
@@ -0,0 +1,27 @@
1
+ import { CmsModelFieldToGraphQLRegistry as CmsModelFieldToGraphQLRegistryAbstraction } from "./abstractions/CmsModelFieldToGraphQLRegistry.js";
2
+ import { CmsModelFieldToGraphQL } from "./abstractions/CmsModelFieldToGraphQL.js";
3
+ import { getBaseFieldType } from "../../../utils/getBaseFieldType.js";
4
+ class CmsModelFieldToGraphQLRegistryImpl {
5
+ constructor(fields) {
6
+ this.fields = fields;
7
+ }
8
+ get(type) {
9
+ const fieldType = getBaseFieldType({
10
+ type
11
+ });
12
+ return this.fields.find(field => {
13
+ return field.fieldType === fieldType;
14
+ });
15
+ }
16
+ getAll() {
17
+ return this.fields;
18
+ }
19
+ }
20
+ export const CmsModelFieldToGraphQLRegistry = CmsModelFieldToGraphQLRegistryAbstraction.createImplementation({
21
+ implementation: CmsModelFieldToGraphQLRegistryImpl,
22
+ dependencies: [[CmsModelFieldToGraphQL, {
23
+ multiple: true
24
+ }]]
25
+ });
26
+
27
+ //# sourceMappingURL=CmsModelFieldToGraphQLRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldToGraphQLRegistry","CmsModelFieldToGraphQLRegistryAbstraction","CmsModelFieldToGraphQL","getBaseFieldType","CmsModelFieldToGraphQLRegistryImpl","constructor","fields","get","type","fieldType","find","field","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsModelFieldToGraphQLRegistry.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLRegistry as CmsModelFieldToGraphQLRegistryAbstraction } from \"./abstractions/CmsModelFieldToGraphQLRegistry.js\";\nimport { CmsModelFieldToGraphQL } from \"./abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\nclass CmsModelFieldToGraphQLRegistryImpl\n implements CmsModelFieldToGraphQLRegistryAbstraction.Interface\n{\n public constructor(private readonly fields: CmsModelFieldToGraphQL.Interface[]) {}\n\n public get(type: CmsModelFieldType): CmsModelFieldToGraphQL.Interface | undefined {\n const fieldType = getBaseFieldType({\n type\n });\n return this.fields.find(field => {\n return field.fieldType === fieldType;\n });\n }\n\n public getAll(): CmsModelFieldToGraphQL.Interface[] {\n return this.fields;\n }\n}\n\nexport const CmsModelFieldToGraphQLRegistry =\n CmsModelFieldToGraphQLRegistryAbstraction.createImplementation({\n implementation: CmsModelFieldToGraphQLRegistryImpl,\n dependencies: [[CmsModelFieldToGraphQL, { multiple: true }]]\n });\n"],"mappings":"AAAA,SAASA,8BAA8B,IAAIC,yCAAyC;AACpF,SAASC,sBAAsB;AAE/B,SAASC,gBAAgB;AAEzB,MAAMC,kCAAkC,CAExC;EACWC,WAAWA,CAAkBC,MAA0C,EAAE;IAAA,KAA5CA,MAA0C,GAA1CA,MAA0C;EAAG;EAE1EC,GAAGA,CAACC,IAAuB,EAAgD;IAC9E,MAAMC,SAAS,GAAGN,gBAAgB,CAAC;MAC/BK;IACJ,CAAC,CAAC;IACF,OAAO,IAAI,CAACF,MAAM,CAACI,IAAI,CAACC,KAAK,IAAI;MAC7B,OAAOA,KAAK,CAACF,SAAS,KAAKA,SAAS;IACxC,CAAC,CAAC;EACN;EAEOG,MAAMA,CAAA,EAAuC;IAChD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMN,8BAA8B,GACvCC,yCAAyC,CAACY,oBAAoB,CAAC;EAC3DC,cAAc,EAAEV,kCAAkC;EAClDW,YAAY,EAAE,CAAC,CAACb,sBAAsB,EAAE;IAAEc,QAAQ,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ import type { GraphQLFieldResolver, Resolvers } from "@webiny/handler-graphql/types.js";
2
+ import type { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types.js";
3
+ import type { CmsModelField, CmsModelFieldType } from "../../../../types/modelField.js";
4
+ import type { CmsModel } from "../../../../types/model.js";
5
+ import type { CmsModelFieldDefinition } from "../../../../types/types.js";
6
+ import type { CmsContext } from "../../../../types/types.js";
7
+ export interface ValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
8
+ fields: TField[];
9
+ originalFields: TField[];
10
+ }
11
+ export interface ValidateChildFieldsValidate {
12
+ (params: ValidateChildFieldsValidateParams): void;
13
+ }
14
+ export interface ValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
15
+ field: TField;
16
+ originalField?: TField;
17
+ validate: ValidateChildFieldsValidate;
18
+ }
19
+ export interface ValidateChildFields<TField extends CmsModelField = CmsModelField> {
20
+ (params: ValidateChildFieldsParams<TField>): void;
21
+ }
22
+ import type { GenericRecord } from "@webiny/api/types.js";
23
+ import type { GetCmsModelFieldAst } from "../../../../types/modelAst.js";
24
+ import type { CmsModelFieldToGraphQLRegistry } from "./CmsModelFieldToGraphQLRegistry.js";
25
+ export interface CreateTypeFieldParams<TField extends CmsModelField = CmsModelField> {
26
+ models: CmsModel[];
27
+ model: CmsModel;
28
+ field: TField;
29
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
30
+ }
31
+ export interface CreateGetFiltersParams<TField extends CmsModelField = CmsModelField> {
32
+ field: TField;
33
+ }
34
+ export interface CreateListFiltersParams<TField extends CmsModelField = CmsModelField> {
35
+ model: Pick<CmsModel, "singularApiName">;
36
+ field: TField;
37
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
38
+ }
39
+ export interface CreateResolverParams<TField extends CmsModelField = CmsModelField> {
40
+ models: CmsModel[];
41
+ model: CmsModel;
42
+ graphQLType: string;
43
+ field: TField;
44
+ createFieldResolvers: any;
45
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
46
+ }
47
+ export type ResolverResult = GraphQLFieldResolver | {
48
+ resolver: GraphQLFieldResolver | null;
49
+ typeResolvers: Resolvers<CmsContext>;
50
+ } | false;
51
+ export interface CreateSchemaParams {
52
+ models: CmsModel[];
53
+ }
54
+ export interface NormalizeInputParams<TField extends CmsModelField = CmsModelField> {
55
+ model: CmsModel;
56
+ field: TField;
57
+ input: GenericRecord<string> | Array<GenericRecord<string>>;
58
+ }
59
+ export interface ICmsFieldReadApi<TField extends CmsModelField = CmsModelField> {
60
+ createTypeField(params: CreateTypeFieldParams<TField>): CmsModelFieldDefinition | string | null;
61
+ createGetFilters?(params: CreateGetFiltersParams<TField>): string;
62
+ createListFilters?(params: CreateListFiltersParams<TField>): string;
63
+ createResolver?(params: CreateResolverParams<TField>): ResolverResult;
64
+ createSchema?(params: CreateSchemaParams): GraphQLSchemaDefinition<CmsContext>;
65
+ }
66
+ export interface ICmsFieldManageApi<TField extends CmsModelField = CmsModelField> extends ICmsFieldReadApi<TField> {
67
+ createInputField(params: CreateTypeFieldParams<TField>): CmsModelFieldDefinition | string | null;
68
+ normalizeInput?<T>(params: NormalizeInputParams<TField>): Promise<T>;
69
+ }
70
+ export interface ICmsModelFieldToGraphQL<TField extends CmsModelField = CmsModelField> {
71
+ readonly fieldType: CmsModelFieldType;
72
+ readonly isSearchable: boolean;
73
+ readonly isSortable: boolean;
74
+ readonly isFullTextSearchable: boolean;
75
+ readonly read: ICmsFieldReadApi<TField>;
76
+ readonly manage: ICmsFieldManageApi<TField>;
77
+ getReadApi(): ICmsFieldReadApi<TField>;
78
+ getManageApi(): ICmsFieldManageApi<TField>;
79
+ validateChildFields?: ValidateChildFields<TField>;
80
+ getFieldAst?: GetCmsModelFieldAst<TField>;
81
+ }
82
+ export declare const CmsModelFieldToGraphQL: import("@webiny/di").Abstraction<ICmsModelFieldToGraphQL<CmsModelField>>;
83
+ export declare namespace CmsModelFieldToGraphQL {
84
+ type Interface = ICmsModelFieldToGraphQL;
85
+ type ReadApi<TField extends CmsModelField = CmsModelField> = ICmsFieldReadApi<TField>;
86
+ type ManageApi<TField extends CmsModelField = CmsModelField> = ICmsFieldManageApi<TField>;
87
+ type TypeFieldParams<TField extends CmsModelField = CmsModelField> = CreateTypeFieldParams<TField>;
88
+ type GetFiltersParams<TField extends CmsModelField = CmsModelField> = CreateGetFiltersParams<TField>;
89
+ type ListFiltersParams<TField extends CmsModelField = CmsModelField> = CreateListFiltersParams<TField>;
90
+ type ResolverParams<TField extends CmsModelField = CmsModelField> = CreateResolverParams<TField>;
91
+ type SchemaParams = CreateSchemaParams;
92
+ type InputNormalizeParams<TField extends CmsModelField = CmsModelField> = NormalizeInputParams<TField>;
93
+ type Resolver = ResolverResult;
94
+ type ChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> = ValidateChildFieldsParams<TField>;
95
+ type ChildFieldsValidate<TField extends CmsModelField = CmsModelField> = ValidateChildFields<TField>;
96
+ type ChildFieldsValidateValidate = ValidateChildFieldsValidate;
97
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsModelFieldToGraphQL = createAbstraction("Cms/GraphQL/Schema/ModelField");
3
+
4
+ //# sourceMappingURL=CmsModelFieldToGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsModelFieldToGraphQL"],"sources":["CmsModelFieldToGraphQL.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GraphQLFieldResolver, Resolvers } from \"@webiny/handler-graphql/types.js\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\nimport type { CmsModelField, CmsModelFieldType } from \"~/types/modelField.js\";\nimport type { CmsModel } from \"~/types/model.js\";\nimport type { CmsModelFieldDefinition } from \"~/types/types.js\";\nimport type { CmsContext } from \"~/types/types.js\";\n\nexport interface ValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {\n fields: TField[];\n originalFields: TField[];\n}\n\nexport interface ValidateChildFieldsValidate {\n (params: ValidateChildFieldsValidateParams): void;\n}\n\nexport interface ValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {\n field: TField;\n originalField?: TField;\n validate: ValidateChildFieldsValidate;\n}\n\nexport interface ValidateChildFields<TField extends CmsModelField = CmsModelField> {\n (params: ValidateChildFieldsParams<TField>): void;\n}\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { GetCmsModelFieldAst } from \"~/types/modelAst.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"./CmsModelFieldToGraphQLRegistry.js\";\n\nexport interface CreateTypeFieldParams<TField extends CmsModelField = CmsModelField> {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateGetFiltersParams<TField extends CmsModelField = CmsModelField> {\n field: TField;\n}\n\nexport interface CreateListFiltersParams<TField extends CmsModelField = CmsModelField> {\n model: Pick<CmsModel, \"singularApiName\">;\n field: TField;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateResolverParams<TField extends CmsModelField = CmsModelField> {\n models: CmsModel[];\n model: CmsModel;\n graphQLType: string;\n field: TField;\n createFieldResolvers: any;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport type ResolverResult =\n | GraphQLFieldResolver\n | {\n resolver: GraphQLFieldResolver | null;\n typeResolvers: Resolvers<CmsContext>;\n }\n | false;\n\nexport interface CreateSchemaParams {\n models: CmsModel[];\n}\n\nexport interface NormalizeInputParams<TField extends CmsModelField = CmsModelField> {\n model: CmsModel;\n field: TField;\n input: GenericRecord<string> | Array<GenericRecord<string>>;\n}\n\nexport interface ICmsFieldReadApi<TField extends CmsModelField = CmsModelField> {\n createTypeField(params: CreateTypeFieldParams<TField>): CmsModelFieldDefinition | string | null;\n createGetFilters?(params: CreateGetFiltersParams<TField>): string;\n createListFilters?(params: CreateListFiltersParams<TField>): string;\n createResolver?(params: CreateResolverParams<TField>): ResolverResult;\n createSchema?(params: CreateSchemaParams): GraphQLSchemaDefinition<CmsContext>;\n}\n\nexport interface ICmsFieldManageApi<\n TField extends CmsModelField = CmsModelField\n> extends ICmsFieldReadApi<TField> {\n createInputField(\n params: CreateTypeFieldParams<TField>\n ): CmsModelFieldDefinition | string | null;\n normalizeInput?<T>(params: NormalizeInputParams<TField>): Promise<T>;\n}\n\nexport interface ICmsModelFieldToGraphQL<TField extends CmsModelField = CmsModelField> {\n /* Metadata. */\n readonly fieldType: CmsModelFieldType;\n readonly isSearchable: boolean;\n readonly isSortable: boolean;\n readonly isFullTextSearchable: boolean;\n\n /* API surfaces. */\n readonly read: ICmsFieldReadApi<TField>;\n readonly manage: ICmsFieldManageApi<TField>;\n getReadApi(): ICmsFieldReadApi<TField>;\n getManageApi(): ICmsFieldManageApi<TField>;\n\n /* Validation & AST. */\n validateChildFields?: ValidateChildFields<TField>;\n getFieldAst?: GetCmsModelFieldAst<TField>;\n}\n\nexport const CmsModelFieldToGraphQL = createAbstraction<ICmsModelFieldToGraphQL>(\n \"Cms/GraphQL/Schema/ModelField\"\n);\n\nexport namespace CmsModelFieldToGraphQL {\n export type Interface = ICmsModelFieldToGraphQL;\n export type ReadApi<TField extends CmsModelField = CmsModelField> = ICmsFieldReadApi<TField>;\n export type ManageApi<TField extends CmsModelField = CmsModelField> =\n ICmsFieldManageApi<TField>;\n export type TypeFieldParams<TField extends CmsModelField = CmsModelField> =\n CreateTypeFieldParams<TField>;\n export type GetFiltersParams<TField extends CmsModelField = CmsModelField> =\n CreateGetFiltersParams<TField>;\n export type ListFiltersParams<TField extends CmsModelField = CmsModelField> =\n CreateListFiltersParams<TField>;\n export type ResolverParams<TField extends CmsModelField = CmsModelField> =\n CreateResolverParams<TField>;\n export type SchemaParams = CreateSchemaParams;\n export type InputNormalizeParams<TField extends CmsModelField = CmsModelField> =\n NormalizeInputParams<TField>;\n export type Resolver = ResolverResult;\n export type ChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> =\n ValidateChildFieldsParams<TField>;\n export type ChildFieldsValidate<TField extends CmsModelField = CmsModelField> =\n ValidateChildFields<TField>;\n export type ChildFieldsValidateValidate = ValidateChildFieldsValidate;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AA6GvD,OAAO,MAAMC,sBAAsB,GAAGD,iBAAiB,CACnD,+BACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { CmsModelFieldType } from "../../../../types/modelField.js";
2
+ import type { CmsModelFieldToGraphQL } from "./CmsModelFieldToGraphQL.js";
3
+ export interface ICmsModelFieldToGraphQLRegistry {
4
+ get(fieldType: CmsModelFieldType): CmsModelFieldToGraphQL.Interface | undefined;
5
+ getAll(): CmsModelFieldToGraphQL.Interface[];
6
+ }
7
+ export declare const CmsModelFieldToGraphQLRegistry: import("@webiny/di").Abstraction<ICmsModelFieldToGraphQLRegistry>;
8
+ export declare namespace CmsModelFieldToGraphQLRegistry {
9
+ type Interface = ICmsModelFieldToGraphQLRegistry;
10
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsModelFieldToGraphQLRegistry = createAbstraction("Cms/GraphQL/Schema/ModelFieldRegistry");
3
+
4
+ //# sourceMappingURL=CmsModelFieldToGraphQLRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsModelFieldToGraphQLRegistry"],"sources":["CmsModelFieldToGraphQLRegistry.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport type { CmsModelFieldToGraphQL } from \"./CmsModelFieldToGraphQL.js\";\n\nexport interface ICmsModelFieldToGraphQLRegistry {\n get(fieldType: CmsModelFieldType): CmsModelFieldToGraphQL.Interface | undefined;\n getAll(): CmsModelFieldToGraphQL.Interface[];\n}\n\nexport const CmsModelFieldToGraphQLRegistry = createAbstraction<ICmsModelFieldToGraphQLRegistry>(\n \"Cms/GraphQL/Schema/ModelFieldRegistry\"\n);\n\nexport namespace CmsModelFieldToGraphQLRegistry {\n export type Interface = ICmsModelFieldToGraphQLRegistry;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AASvD,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,uCACJ,CAAC","ignoreList":[]}