@webiny/api-headless-cms 6.3.0-beta.4 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1241) hide show
  1. package/abstractions/entryHooks/OnEntryBeforeCreate.js +2 -1
  2. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
  3. package/abstractions/entryHooks/index.js +0 -2
  4. package/abstractions/index.js +0 -2
  5. package/constants.js +56 -56
  6. package/constants.js.map +1 -1
  7. package/context.js +97 -127
  8. package/context.js.map +1 -1
  9. package/crud/AccessControl/AccessControl.js +315 -470
  10. package/crud/AccessControl/AccessControl.js.map +1 -1
  11. package/crud/contentEntry/entryDataValidation.js +191 -309
  12. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  13. package/crud/contentEntry/referenceFieldsMapping.js +29 -59
  14. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  15. package/crud/contentEntry/references/buildPaths.js +105 -130
  16. package/crud/contentEntry/references/buildPaths.js.map +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +36 -74
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry/searchableFields.js +42 -57
  20. package/crud/contentEntry/searchableFields.js.map +1 -1
  21. package/crud/contentEntry.crud.js +287 -348
  22. package/crud/contentEntry.crud.js.map +1 -1
  23. package/crud/contentModel/compatibility/modelApiName.js +7 -10
  24. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  25. package/crud/contentModel/createFieldStorageId.js +6 -8
  26. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  27. package/crud/contentModel/defaultFields.js +56 -49
  28. package/crud/contentModel/defaultFields.js.map +1 -1
  29. package/crud/contentModel/fields/descriptionField.js +8 -18
  30. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  31. package/crud/contentModel/fields/getApplicableFieldById.js +4 -5
  32. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
  33. package/crud/contentModel/fields/imageField.js +8 -13
  34. package/crud/contentModel/fields/imageField.js.map +1 -1
  35. package/crud/contentModel/fields/titleField.js +8 -18
  36. package/crud/contentModel/fields/titleField.js.map +1 -1
  37. package/crud/contentModel/validate/endingAllowed.js +10 -14
  38. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  39. package/crud/contentModel/validate/isModelEndingAllowed.js +15 -14
  40. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  41. package/crud/contentModel/validate/modelId.js +19 -24
  42. package/crud/contentModel/validate/modelId.js.map +1 -1
  43. package/crud/contentModel/validate/pluralApiName.js +8 -13
  44. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  45. package/crud/contentModel/validate/singularApiName.js +8 -13
  46. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  47. package/crud/contentModel/validateStorageId.js +10 -8
  48. package/crud/contentModel/validateStorageId.js.map +1 -1
  49. package/crud/contentModel/validation.js +190 -209
  50. package/crud/contentModel/validation.js.map +1 -1
  51. package/crud/contentModel.crud.js +65 -109
  52. package/crud/contentModel.crud.js.map +1 -1
  53. package/crud/contentModelGroup.crud.js +65 -90
  54. package/crud/contentModelGroup.crud.js.map +1 -1
  55. package/domain/contentEntry/EntryId.js +37 -45
  56. package/domain/contentEntry/EntryId.js.map +1 -1
  57. package/domain/contentEntry/errors.js +38 -42
  58. package/domain/contentEntry/errors.js.map +1 -1
  59. package/domain/contentModel/createFieldStorageId.js +6 -8
  60. package/domain/contentModel/createFieldStorageId.js.map +1 -1
  61. package/domain/contentModel/ensureTypeTag.js +5 -11
  62. package/domain/contentModel/ensureTypeTag.js.map +1 -1
  63. package/domain/contentModel/errors.js +82 -91
  64. package/domain/contentModel/errors.js.map +1 -1
  65. package/domain/contentModel/schemas.js +130 -161
  66. package/domain/contentModel/schemas.js.map +1 -1
  67. package/domain/contentModel/validation/endingAllowed.js +10 -14
  68. package/domain/contentModel/validation/endingAllowed.js.map +1 -1
  69. package/domain/contentModel/validation/fields/descriptionField.js +8 -18
  70. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
  71. package/domain/contentModel/validation/fields/getApplicableFieldById.js +4 -5
  72. package/domain/contentModel/validation/fields/getApplicableFieldById.js.map +1 -1
  73. package/domain/contentModel/validation/fields/imageField.js +8 -13
  74. package/domain/contentModel/validation/fields/imageField.js.map +1 -1
  75. package/domain/contentModel/validation/fields/titleField.js +8 -18
  76. package/domain/contentModel/validation/fields/titleField.js.map +1 -1
  77. package/domain/contentModel/validation/isModelEndingAllowed.js +15 -14
  78. package/domain/contentModel/validation/isModelEndingAllowed.js.map +1 -1
  79. package/domain/contentModel/validation/modelFields.js +140 -242
  80. package/domain/contentModel/validation/modelFields.js.map +1 -1
  81. package/domain/contentModel/validation/modelId.js +19 -24
  82. package/domain/contentModel/validation/modelId.js.map +1 -1
  83. package/domain/contentModel/validation/pluralApiName.js +8 -13
  84. package/domain/contentModel/validation/pluralApiName.js.map +1 -1
  85. package/domain/contentModel/validation/singularApiName.js +8 -13
  86. package/domain/contentModel/validation/singularApiName.js.map +1 -1
  87. package/domain/contentModelGroup/errors.js +60 -67
  88. package/domain/contentModelGroup/errors.js.map +1 -1
  89. package/domain/contentModelGroup/validation.js +22 -31
  90. package/domain/contentModelGroup/validation.js.map +1 -1
  91. package/export/crud/exporting.js +18 -38
  92. package/export/crud/exporting.js.map +1 -1
  93. package/export/crud/importing.js +48 -67
  94. package/export/crud/importing.js.map +1 -1
  95. package/export/crud/imports/importData.js +28 -39
  96. package/export/crud/imports/importData.js.map +1 -1
  97. package/export/crud/imports/importGroups.js +75 -90
  98. package/export/crud/imports/importGroups.js.map +1 -1
  99. package/export/crud/imports/importModels.js +99 -120
  100. package/export/crud/imports/importModels.js.map +1 -1
  101. package/export/crud/imports/remapIcon.js +7 -10
  102. package/export/crud/imports/remapIcon.js.map +1 -1
  103. package/export/crud/imports/validateGroups.js +75 -99
  104. package/export/crud/imports/validateGroups.js.map +1 -1
  105. package/export/crud/imports/validateInput.js +42 -60
  106. package/export/crud/imports/validateInput.js.map +1 -1
  107. package/export/crud/imports/validateModels.js +117 -175
  108. package/export/crud/imports/validateModels.js.map +1 -1
  109. package/export/crud/index.js +4 -5
  110. package/export/crud/index.js.map +1 -1
  111. package/export/crud/sanitize.js +23 -26
  112. package/export/crud/sanitize.js.map +1 -1
  113. package/export/graphql/index.js +43 -46
  114. package/export/graphql/index.js.map +1 -1
  115. package/export/index.js +0 -2
  116. package/export/types.js +7 -13
  117. package/export/types.js.map +1 -1
  118. package/exports/api/cms/entry.d.ts +2 -0
  119. package/exports/api/cms/entry.js +15 -69
  120. package/exports/api/cms/graphql.js +1 -3
  121. package/exports/api/cms/group.js +3 -14
  122. package/exports/api/cms/model.js +5 -21
  123. package/exports/api/cms/storage.js +0 -2
  124. package/exports/api/cms/validation.js +0 -2
  125. package/extensions/entryHooks/OnEntryBeforeCreate.js +16 -19
  126. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
  127. package/extensions/entryHooks/index.js +0 -2
  128. package/extensions/index.js +4 -2
  129. package/extensions/index.js.map +1 -1
  130. package/features/contentEntry/ContentEntriesFeature.js +36 -36
  131. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  132. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js +61 -81
  133. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  134. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +18 -16
  135. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -1
  136. package/features/contentEntry/ContentEntryTraverser/abstractions.js +2 -4
  137. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -1
  138. package/features/contentEntry/ContentEntryTraverser/feature.js +6 -5
  139. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -1
  140. package/features/contentEntry/ContentEntryTraverser/index.js +0 -2
  141. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +25 -30
  142. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  143. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +4 -16
  144. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +50 -88
  145. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  146. package/features/contentEntry/CreateEntry/abstractions.js +3 -14
  147. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  148. package/features/contentEntry/CreateEntry/events.js +17 -27
  149. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  150. package/features/contentEntry/CreateEntry/feature.js +7 -18
  151. package/features/contentEntry/CreateEntry/feature.js.map +1 -1
  152. package/features/contentEntry/CreateEntry/index.js +1 -3
  153. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +29 -41
  154. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  155. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +4 -20
  156. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +81 -129
  157. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  158. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +3 -25
  159. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  160. package/features/contentEntry/CreateEntryRevisionFrom/events.js +25 -31
  161. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  162. package/features/contentEntry/CreateEntryRevisionFrom/feature.js +7 -9
  163. package/features/contentEntry/CreateEntryRevisionFrom/feature.js.map +1 -1
  164. package/features/contentEntry/CreateEntryRevisionFrom/index.js +0 -2
  165. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +21 -23
  166. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  167. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +70 -96
  168. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  169. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +26 -30
  170. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  171. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +86 -115
  172. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  173. package/features/contentEntry/DeleteEntry/abstractions.js +5 -40
  174. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  175. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +30 -41
  176. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  177. package/features/contentEntry/DeleteEntry/events.js +25 -31
  178. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  179. package/features/contentEntry/DeleteEntry/feature.js +10 -14
  180. package/features/contentEntry/DeleteEntry/feature.js.map +1 -1
  181. package/features/contentEntry/DeleteEntry/index.js +2 -4
  182. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +37 -43
  183. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  184. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +85 -126
  185. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  186. package/features/contentEntry/DeleteEntryRevision/abstractions.js +3 -26
  187. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  188. package/features/contentEntry/DeleteEntryRevision/events.js +25 -31
  189. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  190. package/features/contentEntry/DeleteEntryRevision/feature.js +7 -9
  191. package/features/contentEntry/DeleteEntryRevision/feature.js.map +1 -1
  192. package/features/contentEntry/DeleteEntryRevision/index.js +2 -4
  193. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +21 -27
  194. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  195. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +82 -122
  196. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  197. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +3 -25
  198. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  199. package/features/contentEntry/DeleteMultipleEntries/events.js +25 -31
  200. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  201. package/features/contentEntry/DeleteMultipleEntries/feature.js +7 -9
  202. package/features/contentEntry/DeleteMultipleEntries/feature.js.map +1 -1
  203. package/features/contentEntry/DeleteMultipleEntries/index.js +0 -2
  204. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +30 -35
  205. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  206. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +21 -34
  207. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  208. package/features/contentEntry/GetEntriesByIds/abstractions.js +3 -14
  209. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  210. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js +15 -25
  211. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js.map +1 -1
  212. package/features/contentEntry/GetEntriesByIds/feature.js +8 -7
  213. package/features/contentEntry/GetEntriesByIds/feature.js.map +1 -1
  214. package/features/contentEntry/GetEntriesByIds/index.js +1 -3
  215. package/features/contentEntry/GetEntry/GetEntryUseCase.js +22 -31
  216. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  217. package/features/contentEntry/GetEntry/abstractions.js +2 -8
  218. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  219. package/features/contentEntry/GetEntry/feature.js +6 -5
  220. package/features/contentEntry/GetEntry/feature.js.map +1 -1
  221. package/features/contentEntry/GetEntry/index.js +0 -2
  222. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +20 -25
  223. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  224. package/features/contentEntry/GetEntryById/abstractions.js +2 -8
  225. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  226. package/features/contentEntry/GetEntryById/feature.js +6 -5
  227. package/features/contentEntry/GetEntryById/feature.js.map +1 -1
  228. package/features/contentEntry/GetEntryById/index.js +0 -2
  229. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +24 -30
  230. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  231. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +21 -34
  232. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  233. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +3 -14
  234. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  235. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js +15 -25
  236. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js.map +1 -1
  237. package/features/contentEntry/GetLatestEntriesByIds/feature.js +8 -7
  238. package/features/contentEntry/GetLatestEntriesByIds/feature.js.map +1 -1
  239. package/features/contentEntry/GetLatestEntriesByIds/index.js +1 -3
  240. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +21 -35
  241. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  242. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +23 -29
  243. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  244. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +6 -21
  245. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  246. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js +10 -19
  247. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js.map +1 -1
  248. package/features/contentEntry/GetLatestRevisionByEntryId/index.js +1 -3
  249. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +17 -29
  250. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  251. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +14 -16
  252. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  253. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +17 -27
  254. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  255. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +21 -35
  256. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  257. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +23 -29
  258. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  259. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +17 -28
  260. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  261. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +4 -16
  262. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  263. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js +8 -12
  264. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js.map +1 -1
  265. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js +1 -3
  266. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +24 -29
  267. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  268. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +21 -34
  269. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  270. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +3 -14
  271. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  272. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js +15 -25
  273. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js.map +1 -1
  274. package/features/contentEntry/GetPublishedEntriesByIds/feature.js +8 -7
  275. package/features/contentEntry/GetPublishedEntriesByIds/feature.js.map +1 -1
  276. package/features/contentEntry/GetPublishedEntriesByIds/index.js +1 -3
  277. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +25 -31
  278. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  279. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +16 -23
  280. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  281. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +3 -13
  282. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  283. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js +7 -17
  284. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js.map +1 -1
  285. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js +1 -3
  286. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +26 -33
  287. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  288. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +14 -17
  289. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  290. package/features/contentEntry/GetRevisionById/abstractions.js +3 -15
  291. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  292. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js +14 -26
  293. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js.map +1 -1
  294. package/features/contentEntry/GetRevisionById/feature.js +8 -21
  295. package/features/contentEntry/GetRevisionById/feature.js.map +1 -1
  296. package/features/contentEntry/GetRevisionById/index.js +1 -3
  297. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +24 -30
  298. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  299. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +21 -34
  300. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  301. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +3 -14
  302. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  303. package/features/contentEntry/GetRevisionsByEntryId/feature.js +7 -6
  304. package/features/contentEntry/GetRevisionsByEntryId/feature.js.map +1 -1
  305. package/features/contentEntry/GetRevisionsByEntryId/index.js +1 -3
  306. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +25 -43
  307. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  308. package/features/contentEntry/GetSingletonEntry/abstractions.js +2 -9
  309. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  310. package/features/contentEntry/GetSingletonEntry/feature.js +6 -13
  311. package/features/contentEntry/GetSingletonEntry/feature.js.map +1 -1
  312. package/features/contentEntry/GetSingletonEntry/index.js +0 -2
  313. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +23 -24
  314. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  315. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +45 -61
  316. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  317. package/features/contentEntry/GetUniqueFieldValues/abstractions.js +3 -13
  318. package/features/contentEntry/GetUniqueFieldValues/abstractions.js.map +1 -1
  319. package/features/contentEntry/GetUniqueFieldValues/errors.js +19 -20
  320. package/features/contentEntry/GetUniqueFieldValues/errors.js.map +1 -1
  321. package/features/contentEntry/GetUniqueFieldValues/feature.js +7 -6
  322. package/features/contentEntry/GetUniqueFieldValues/feature.js.map +1 -1
  323. package/features/contentEntry/GetUniqueFieldValues/index.js +1 -3
  324. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +22 -29
  325. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  326. package/features/contentEntry/ListEntries/ListEntriesRepository.js +55 -57
  327. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  328. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +33 -53
  329. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  330. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +25 -27
  331. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  332. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +22 -29
  333. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  334. package/features/contentEntry/ListEntries/abstractions.js +6 -35
  335. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  336. package/features/contentEntry/ListEntries/feature.js +10 -12
  337. package/features/contentEntry/ListEntries/feature.js.map +1 -1
  338. package/features/contentEntry/ListEntries/index.js +1 -3
  339. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +19 -25
  340. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  341. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +66 -94
  342. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  343. package/features/contentEntry/MoveEntry/abstractions.js +3 -25
  344. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  345. package/features/contentEntry/MoveEntry/events.js +25 -31
  346. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  347. package/features/contentEntry/MoveEntry/feature.js +7 -9
  348. package/features/contentEntry/MoveEntry/feature.js.map +1 -1
  349. package/features/contentEntry/MoveEntry/index.js +1 -3
  350. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +28 -38
  351. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  352. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -17
  353. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +77 -118
  354. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  355. package/features/contentEntry/PublishEntry/abstractions.js +3 -25
  356. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  357. package/features/contentEntry/PublishEntry/events.js +25 -31
  358. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  359. package/features/contentEntry/PublishEntry/feature.js +7 -9
  360. package/features/contentEntry/PublishEntry/feature.js.map +1 -1
  361. package/features/contentEntry/PublishEntry/index.js +1 -3
  362. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +33 -48
  363. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  364. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -15
  365. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +68 -103
  366. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  367. package/features/contentEntry/RepublishEntry/abstractions.js +3 -26
  368. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  369. package/features/contentEntry/RepublishEntry/events.js +25 -31
  370. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  371. package/features/contentEntry/RepublishEntry/feature.js +7 -9
  372. package/features/contentEntry/RepublishEntry/feature.js.map +1 -1
  373. package/features/contentEntry/RepublishEntry/index.js +0 -2
  374. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +28 -38
  375. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  376. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +80 -110
  377. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  378. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +3 -26
  379. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  380. package/features/contentEntry/RestoreEntryFromBin/events.js +25 -31
  381. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  382. package/features/contentEntry/RestoreEntryFromBin/feature.js +7 -9
  383. package/features/contentEntry/RestoreEntryFromBin/feature.js.map +1 -1
  384. package/features/contentEntry/RestoreEntryFromBin/index.js +0 -2
  385. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +25 -30
  386. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  387. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -14
  388. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +70 -115
  389. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  390. package/features/contentEntry/UnpublishEntry/abstractions.js +3 -14
  391. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  392. package/features/contentEntry/UnpublishEntry/events.js +25 -36
  393. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  394. package/features/contentEntry/UnpublishEntry/feature.js +7 -18
  395. package/features/contentEntry/UnpublishEntry/feature.js.map +1 -1
  396. package/features/contentEntry/UnpublishEntry/index.js +1 -3
  397. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +25 -30
  398. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  399. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +5 -22
  400. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +58 -107
  401. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  402. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -3
  403. package/features/contentEntry/UpdateEntry/abstractions.js +3 -14
  404. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  405. package/features/contentEntry/UpdateEntry/events.js +17 -27
  406. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  407. package/features/contentEntry/UpdateEntry/feature.js +7 -18
  408. package/features/contentEntry/UpdateEntry/feature.js.map +1 -1
  409. package/features/contentEntry/UpdateEntry/index.js +1 -3
  410. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
  411. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +77 -0
  412. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
  413. package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
  414. package/features/contentEntry/UpdateRevisionDescription/abstractions.js +5 -0
  415. package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
  416. package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
  417. package/features/contentEntry/UpdateRevisionDescription/events.js +23 -0
  418. package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
  419. package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
  420. package/features/contentEntry/UpdateRevisionDescription/feature.js +11 -0
  421. package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
  422. package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
  423. package/features/contentEntry/UpdateRevisionDescription/index.js +2 -0
  424. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js +17 -26
  425. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js.map +1 -1
  426. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +2 -9
  427. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  428. package/features/contentEntry/UpdateSingletonEntry/feature.js +6 -13
  429. package/features/contentEntry/UpdateSingletonEntry/feature.js.map +1 -1
  430. package/features/contentEntry/UpdateSingletonEntry/index.js +0 -2
  431. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +42 -63
  432. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  433. package/features/contentEntry/ValidateEntry/abstractions.js +2 -8
  434. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  435. package/features/contentEntry/ValidateEntry/feature.js +6 -6
  436. package/features/contentEntry/ValidateEntry/feature.js.map +1 -1
  437. package/features/contentEntry/ValidateEntry/index.js +0 -2
  438. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +15 -0
  439. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +212 -0
  440. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -0
  441. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.d.ts +13 -0
  442. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js +5 -0
  443. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js.map +1 -0
  444. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.d.ts +4 -0
  445. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js +11 -0
  446. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js.map +1 -0
  447. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.d.ts +2 -0
  448. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js +2 -0
  449. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +15 -0
  450. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +150 -0
  451. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -0
  452. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.d.ts +13 -0
  453. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js +5 -0
  454. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js.map +1 -0
  455. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.d.ts +4 -0
  456. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js +11 -0
  457. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js.map +1 -0
  458. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.d.ts +2 -0
  459. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js +2 -0
  460. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +12 -0
  461. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +66 -0
  462. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -0
  463. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.d.ts +12 -0
  464. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js +5 -0
  465. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js.map +1 -0
  466. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.d.ts +4 -0
  467. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js +11 -0
  468. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js.map +1 -0
  469. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.d.ts +2 -0
  470. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.js +2 -0
  471. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +12 -0
  472. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +62 -0
  473. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -0
  474. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.d.ts +12 -0
  475. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js +5 -0
  476. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js.map +1 -0
  477. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.d.ts +4 -0
  478. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js +11 -0
  479. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js.map +1 -0
  480. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.d.ts +2 -0
  481. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.js +2 -0
  482. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +10 -0
  483. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +41 -0
  484. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -0
  485. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.d.ts +12 -0
  486. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js +5 -0
  487. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js.map +1 -0
  488. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.d.ts +4 -0
  489. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js +11 -0
  490. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js.map +1 -0
  491. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.d.ts +2 -0
  492. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.js +2 -0
  493. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.d.ts +4 -0
  494. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js +21 -0
  495. package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js.map +1 -0
  496. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +12 -0
  497. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +104 -0
  498. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -0
  499. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.d.ts +13 -0
  500. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js +5 -0
  501. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js.map +1 -0
  502. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.d.ts +4 -0
  503. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js +11 -0
  504. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js.map +1 -0
  505. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.d.ts +2 -0
  506. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.js +2 -0
  507. package/{crud → features}/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +0 -3
  508. package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +17 -0
  509. package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  510. package/features/contentEntry/entryDataFactories/statuses.js +7 -0
  511. package/features/contentEntry/entryDataFactories/statuses.js.map +1 -0
  512. package/features/contentEntry/entryDataFactories/system.js +10 -0
  513. package/features/contentEntry/entryDataFactories/system.js.map +1 -0
  514. package/features/contentModel/ContentModelFeature.js +16 -19
  515. package/features/contentModel/ContentModelFeature.js.map +1 -1
  516. package/features/contentModel/CreateModel/CreateModelRepository.js +104 -148
  517. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  518. package/features/contentModel/CreateModel/CreateModelUseCase.js +74 -119
  519. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  520. package/features/contentModel/CreateModel/abstractions.js +3 -13
  521. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  522. package/features/contentModel/CreateModel/events.js +25 -36
  523. package/features/contentModel/CreateModel/events.js.map +1 -1
  524. package/features/contentModel/CreateModel/feature.js +7 -16
  525. package/features/contentModel/CreateModel/feature.js.map +1 -1
  526. package/features/contentModel/CreateModel/index.js +1 -3
  527. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +107 -150
  528. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  529. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +84 -119
  530. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  531. package/features/contentModel/CreateModelFrom/abstractions.js +3 -13
  532. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  533. package/features/contentModel/CreateModelFrom/events.js +25 -36
  534. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  535. package/features/contentModel/CreateModelFrom/feature.js +7 -16
  536. package/features/contentModel/CreateModelFrom/feature.js.map +1 -1
  537. package/features/contentModel/CreateModelFrom/index.js +1 -3
  538. package/features/contentModel/DeleteModel/DeleteModelRepository.js +27 -41
  539. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  540. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +44 -72
  541. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  542. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +50 -83
  543. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  544. package/features/contentModel/DeleteModel/abstractions.js +3 -13
  545. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  546. package/features/contentModel/DeleteModel/events.js +25 -36
  547. package/features/contentModel/DeleteModel/events.js.map +1 -1
  548. package/features/contentModel/DeleteModel/feature.js +8 -19
  549. package/features/contentModel/DeleteModel/feature.js.map +1 -1
  550. package/features/contentModel/DeleteModel/index.js +1 -3
  551. package/features/contentModel/GetModel/GetModelRepository.js +15 -23
  552. package/features/contentModel/GetModel/GetModelRepository.js.map +1 -1
  553. package/features/contentModel/GetModel/GetModelUseCase.js +21 -34
  554. package/features/contentModel/GetModel/GetModelUseCase.js.map +1 -1
  555. package/features/contentModel/GetModel/abstractions.js +3 -13
  556. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  557. package/features/contentModel/GetModel/feature.js +7 -16
  558. package/features/contentModel/GetModel/feature.js.map +1 -1
  559. package/features/contentModel/GetModel/index.js +0 -2
  560. package/features/contentModel/ListModels/ListModelsRepository.js +18 -36
  561. package/features/contentModel/ListModels/ListModelsRepository.js.map +1 -1
  562. package/features/contentModel/ListModels/ListModelsUseCase.js +23 -41
  563. package/features/contentModel/ListModels/ListModelsUseCase.js.map +1 -1
  564. package/features/contentModel/ListModels/abstractions.js +3 -13
  565. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  566. package/features/contentModel/ListModels/feature.js +7 -17
  567. package/features/contentModel/ListModels/feature.js.map +1 -1
  568. package/features/contentModel/ListModels/index.js +0 -2
  569. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +18 -18
  570. package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -1
  571. package/features/contentModel/ModelFieldCompression/abstractions.js +2 -1
  572. package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -1
  573. package/features/contentModel/ModelFieldCompression/feature.js +6 -5
  574. package/features/contentModel/ModelFieldCompression/feature.js.map +1 -1
  575. package/features/contentModel/ModelFieldCompression/index.js +0 -2
  576. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +15 -19
  577. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  578. package/features/contentModel/ModelToAstConverter/abstractions.js +2 -6
  579. package/features/contentModel/ModelToAstConverter/abstractions.js.map +1 -1
  580. package/features/contentModel/ModelToAstConverter/feature.js +6 -5
  581. package/features/contentModel/ModelToAstConverter/feature.js.map +1 -1
  582. package/features/contentModel/ModelToAstConverter/index.js +0 -2
  583. package/features/contentModel/UpdateModel/UpdateModelRepository.js +71 -97
  584. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  585. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +75 -118
  586. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  587. package/features/contentModel/UpdateModel/abstractions.js +3 -13
  588. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  589. package/features/contentModel/UpdateModel/events.js +25 -36
  590. package/features/contentModel/UpdateModel/events.js.map +1 -1
  591. package/features/contentModel/UpdateModel/feature.js +7 -16
  592. package/features/contentModel/UpdateModel/feature.js.map +1 -1
  593. package/features/contentModel/UpdateModel/index.js +1 -3
  594. package/features/contentModel/shared/ModelsFetcher.js +66 -81
  595. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  596. package/features/contentModel/shared/PluginModelsProvider.js +38 -54
  597. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  598. package/features/contentModel/shared/abstractions.js +4 -16
  599. package/features/contentModel/shared/abstractions.js.map +1 -1
  600. package/features/contentModelGroup/ContentModelGroupFeature.js +12 -16
  601. package/features/contentModelGroup/ContentModelGroupFeature.js.map +1 -1
  602. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +63 -94
  603. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  604. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +80 -107
  605. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  606. package/features/contentModelGroup/CreateGroup/abstractions.js +3 -13
  607. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  608. package/features/contentModelGroup/CreateGroup/events.js +25 -36
  609. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  610. package/features/contentModelGroup/CreateGroup/feature.js +7 -16
  611. package/features/contentModelGroup/CreateGroup/feature.js.map +1 -1
  612. package/features/contentModelGroup/CreateGroup/index.js +0 -2
  613. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +37 -56
  614. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  615. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +53 -80
  616. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  617. package/features/contentModelGroup/DeleteGroup/abstractions.js +3 -13
  618. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  619. package/features/contentModelGroup/DeleteGroup/events.js +25 -36
  620. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  621. package/features/contentModelGroup/DeleteGroup/feature.js +7 -16
  622. package/features/contentModelGroup/DeleteGroup/feature.js.map +1 -1
  623. package/features/contentModelGroup/DeleteGroup/index.js +0 -2
  624. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +60 -80
  625. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  626. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +19 -34
  627. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  628. package/features/contentModelGroup/GetGroup/abstractions.js +3 -13
  629. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  630. package/features/contentModelGroup/GetGroup/feature.js +7 -16
  631. package/features/contentModelGroup/GetGroup/feature.js.map +1 -1
  632. package/features/contentModelGroup/GetGroup/index.js +0 -2
  633. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +57 -74
  634. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  635. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +19 -34
  636. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  637. package/features/contentModelGroup/ListGroups/abstractions.js +3 -13
  638. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  639. package/features/contentModelGroup/ListGroups/feature.js +7 -16
  640. package/features/contentModelGroup/ListGroups/feature.js.map +1 -1
  641. package/features/contentModelGroup/ListGroups/index.js +0 -2
  642. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +31 -44
  643. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  644. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +75 -111
  645. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  646. package/features/contentModelGroup/UpdateGroup/abstractions.js +3 -13
  647. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  648. package/features/contentModelGroup/UpdateGroup/events.js +25 -36
  649. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  650. package/features/contentModelGroup/UpdateGroup/feature.js +7 -16
  651. package/features/contentModelGroup/UpdateGroup/feature.js.map +1 -1
  652. package/features/contentModelGroup/UpdateGroup/index.js +0 -2
  653. package/features/contentModelGroup/shared/PluginGroupsProvider.js +61 -78
  654. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  655. package/features/contentModelGroup/shared/abstractions.js +4 -9
  656. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  657. package/features/contentModelGroup/shared/index.js +1 -3
  658. package/features/graphql/feature.js +18 -17
  659. package/features/graphql/feature.js.map +1 -1
  660. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +24 -20
  661. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -1
  662. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +2 -1
  663. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  664. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +2 -1
  665. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -1
  666. package/features/graphql/fields/base/BooleanToGraphQL.js +37 -52
  667. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -1
  668. package/features/graphql/fields/base/DateTimeToGraphQL.js +48 -63
  669. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -1
  670. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +168 -252
  671. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  672. package/features/graphql/fields/base/FileToGraphQL.js +24 -27
  673. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -1
  674. package/features/graphql/fields/base/JsonToGraphQL.js +30 -39
  675. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -1
  676. package/features/graphql/fields/base/LongTextToGraphQL.js +31 -42
  677. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -1
  678. package/features/graphql/fields/base/NumberToGraphQL.js +37 -52
  679. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -1
  680. package/features/graphql/fields/base/ObjectToGraphQL.js +180 -239
  681. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  682. package/features/graphql/fields/base/RefToGraphQL.js +150 -210
  683. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  684. package/features/graphql/fields/base/RichTextToGraphQL.js +35 -46
  685. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -1
  686. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +38 -51
  687. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -1
  688. package/features/graphql/fields/base/TextToGraphQL.js +37 -52
  689. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -1
  690. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +26 -31
  691. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -1
  692. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +7 -10
  693. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -1
  694. package/features/graphql/fields/base/richText/richTextResolver.js +11 -20
  695. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  696. package/features/graphql/fields/base/utils/createGraphQLInputField.js +6 -13
  697. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -1
  698. package/features/graphql/index.js +0 -2
  699. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +2 -1
  700. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -1
  701. package/features/installer/CmsInstaller.js +31 -32
  702. package/features/installer/CmsInstaller.js.map +1 -1
  703. package/features/installer/feature.js +6 -5
  704. package/features/installer/feature.js.map +1 -1
  705. package/features/modelBuilder/LayoutBuilder.js +66 -122
  706. package/features/modelBuilder/LayoutBuilder.js.map +1 -1
  707. package/features/modelBuilder/abstractions.js +3 -17
  708. package/features/modelBuilder/abstractions.js.map +1 -1
  709. package/features/modelBuilder/feature.js +31 -42
  710. package/features/modelBuilder/feature.js.map +1 -1
  711. package/features/modelBuilder/fields/BaseFieldBuilder.js +31 -38
  712. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
  713. package/features/modelBuilder/fields/BooleanFieldType.js +18 -17
  714. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  715. package/features/modelBuilder/fields/DataFieldBuilder.js +157 -201
  716. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  717. package/features/modelBuilder/fields/DateTimeFieldType.js +59 -78
  718. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  719. package/features/modelBuilder/fields/DynamicZoneFieldType.js +51 -54
  720. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  721. package/features/modelBuilder/fields/FieldBuilder.js +0 -2
  722. package/features/modelBuilder/fields/FieldBuilderRegistry.js +38 -62
  723. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
  724. package/features/modelBuilder/fields/FileFieldType.js +25 -24
  725. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  726. package/features/modelBuilder/fields/JsonFieldType.js +13 -12
  727. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  728. package/features/modelBuilder/fields/LayoutFieldBuilder.js +3 -6
  729. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -1
  730. package/features/modelBuilder/fields/LocationFieldType.js +15 -14
  731. package/features/modelBuilder/fields/LocationFieldType.js.map +1 -1
  732. package/features/modelBuilder/fields/LongTextFieldType.js +115 -114
  733. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  734. package/features/modelBuilder/fields/NumberFieldType.js +38 -37
  735. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  736. package/features/modelBuilder/fields/ObjectFieldType.js +50 -67
  737. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  738. package/features/modelBuilder/fields/RefFieldType.js +25 -24
  739. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  740. package/features/modelBuilder/fields/RichTextFieldType.js +20 -19
  741. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  742. package/features/modelBuilder/fields/SearchableJsonFieldType.js +13 -12
  743. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  744. package/features/modelBuilder/fields/TextFieldType.js +123 -123
  745. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  746. package/features/modelBuilder/fields/UiAlertFieldType.js +27 -27
  747. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
  748. package/features/modelBuilder/fields/UiSeparatorFieldType.js +23 -22
  749. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
  750. package/features/modelBuilder/fields/UiTabsFieldType.js +58 -63
  751. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -1
  752. package/features/modelBuilder/fields/abstractions.js +2 -9
  753. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  754. package/features/modelBuilder/fields/fieldTypeValidator.js +0 -31
  755. package/features/modelBuilder/index.js +10 -16
  756. package/features/modelBuilder/models/BaseModelBuilder.js +70 -130
  757. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  758. package/features/modelBuilder/models/ModelBuilder.js +18 -33
  759. package/features/modelBuilder/models/ModelBuilder.js.map +1 -1
  760. package/features/modelBuilder/models/ModelsProvider.js +24 -33
  761. package/features/modelBuilder/models/ModelsProvider.js.map +1 -1
  762. package/features/modelBuilder/models/PrivateModelBuilder.js +15 -24
  763. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  764. package/features/modelBuilder/models/PublicModelBuilder.js +89 -114
  765. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  766. package/features/modelBuilder/models/abstractions.js +2 -6
  767. package/features/modelBuilder/models/abstractions.js.map +1 -1
  768. package/features/shared/abstractions.js +5 -16
  769. package/features/shared/abstractions.js.map +1 -1
  770. package/features/sortMapper/SortMapper.js +27 -46
  771. package/features/sortMapper/SortMapper.js.map +1 -1
  772. package/features/sortMapper/abstractions.js +2 -2
  773. package/features/sortMapper/abstractions.js.map +1 -1
  774. package/features/sortMapper/feature.js +7 -6
  775. package/features/sortMapper/feature.js.map +1 -1
  776. package/features/storage/StorageTransformRegistry.js +24 -20
  777. package/features/storage/StorageTransformRegistry.js.map +1 -1
  778. package/features/storage/abstractions/StorageTransform.js +2 -1
  779. package/features/storage/abstractions/StorageTransform.js.map +1 -1
  780. package/features/storage/abstractions/StorageTransformRegistry.js +2 -1
  781. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -1
  782. package/features/storage/feature.js +13 -12
  783. package/features/storage/feature.js.map +1 -1
  784. package/features/storage/fields/DateStorageTransform.js +67 -96
  785. package/features/storage/fields/DateStorageTransform.js.map +1 -1
  786. package/features/storage/fields/DefaultStorageTransform.js +13 -14
  787. package/features/storage/fields/DefaultStorageTransform.js.map +1 -1
  788. package/features/storage/fields/DynamicZoneStorageTransform.js +91 -128
  789. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -1
  790. package/features/storage/fields/JsonStorageTransform.js +17 -22
  791. package/features/storage/fields/JsonStorageTransform.js.map +1 -1
  792. package/features/storage/fields/LongTextStorageTransform.js +33 -44
  793. package/features/storage/fields/LongTextStorageTransform.js.map +1 -1
  794. package/features/storage/fields/ObjectStorageTransform.js +64 -87
  795. package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
  796. package/features/storage/fields/RichTextStorageTransform.js +23 -28
  797. package/features/storage/fields/RichTextStorageTransform.js.map +1 -1
  798. package/features/storage/index.js +0 -2
  799. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -15
  800. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
  801. package/features/validation/CmsModelFieldValidatorRegistry.js +21 -17
  802. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -1
  803. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +2 -1
  804. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -1
  805. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +2 -1
  806. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
  807. package/features/validation/abstractions/CmsModelFieldValidator.js +2 -1
  808. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -1
  809. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +2 -1
  810. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -1
  811. package/features/validation/feature.js +25 -24
  812. package/features/validation/feature.js.map +1 -1
  813. package/features/validation/index.js +0 -2
  814. package/features/validation/validators/DateGteValidator.js +12 -18
  815. package/features/validation/validators/DateGteValidator.js.map +1 -1
  816. package/features/validation/validators/DateLteValidator.js +12 -18
  817. package/features/validation/validators/DateLteValidator.js.map +1 -1
  818. package/features/validation/validators/GteValidator.js +11 -13
  819. package/features/validation/validators/GteValidator.js.map +1 -1
  820. package/features/validation/validators/InValidator.js +11 -13
  821. package/features/validation/validators/InValidator.js.map +1 -1
  822. package/features/validation/validators/LteValidator.js +11 -13
  823. package/features/validation/validators/LteValidator.js.map +1 -1
  824. package/features/validation/validators/MaxLengthValidator.js +11 -13
  825. package/features/validation/validators/MaxLengthValidator.js.map +1 -1
  826. package/features/validation/validators/MinLengthValidator.js +11 -13
  827. package/features/validation/validators/MinLengthValidator.js.map +1 -1
  828. package/features/validation/validators/PatternValidator.js +20 -29
  829. package/features/validation/validators/PatternValidator.js.map +1 -1
  830. package/features/validation/validators/RequiredValidator.js +10 -9
  831. package/features/validation/validators/RequiredValidator.js.map +1 -1
  832. package/features/validation/validators/TimeGteValidator.js +11 -13
  833. package/features/validation/validators/TimeGteValidator.js.map +1 -1
  834. package/features/validation/validators/TimeLteValidator.js +11 -13
  835. package/features/validation/validators/TimeLteValidator.js.map +1 -1
  836. package/features/validation/validators/UniqueValidator.js +31 -38
  837. package/features/validation/validators/UniqueValidator.js.map +1 -1
  838. package/features/validation/validators/patterns/EmailPattern.js +11 -8
  839. package/features/validation/validators/patterns/EmailPattern.js.map +1 -1
  840. package/features/validation/validators/patterns/LowerCasePattern.js +11 -8
  841. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -1
  842. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +11 -8
  843. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -1
  844. package/features/validation/validators/patterns/UpperCasePattern.js +11 -8
  845. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -1
  846. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +11 -8
  847. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -1
  848. package/features/validation/validators/patterns/UrlPattern.js +11 -8
  849. package/features/validation/validators/patterns/UrlPattern.js.map +1 -1
  850. package/features/whereMapper/WhereMapper.js +42 -69
  851. package/features/whereMapper/WhereMapper.js.map +1 -1
  852. package/features/whereMapper/abstractions.js +2 -2
  853. package/features/whereMapper/abstractions.js.map +1 -1
  854. package/features/whereMapper/feature.js +7 -6
  855. package/features/whereMapper/feature.js.map +1 -1
  856. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +18 -37
  857. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  858. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +92 -136
  859. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  860. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +103 -152
  861. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  862. package/fieldConverters/index.js +6 -6
  863. package/fieldConverters/index.js.map +1 -1
  864. package/graphql/buildSchemaPlugins.js +16 -20
  865. package/graphql/buildSchemaPlugins.js.map +1 -1
  866. package/graphql/checkEndpointAccess.js +4 -5
  867. package/graphql/checkEndpointAccess.js.map +1 -1
  868. package/graphql/createExecutableSchema.js +30 -41
  869. package/graphql/createExecutableSchema.js.map +1 -1
  870. package/graphql/formatErrorPayload.js +13 -14
  871. package/graphql/formatErrorPayload.js.map +1 -1
  872. package/graphql/generateSchema.js +20 -24
  873. package/graphql/generateSchema.js.map +1 -1
  874. package/graphql/getSchema/generateCacheId.js +7 -6
  875. package/graphql/getSchema/generateCacheId.js.map +1 -1
  876. package/graphql/getSchema/generateCacheKey.js +23 -23
  877. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  878. package/graphql/getSchema.js +46 -63
  879. package/graphql/getSchema.js.map +1 -1
  880. package/graphql/graphQLHandlerFactory.js +15 -23
  881. package/graphql/graphQLHandlerFactory.js.map +1 -1
  882. package/graphql/handleRequest.js +50 -63
  883. package/graphql/handleRequest.js.map +1 -1
  884. package/graphql/index.js +6 -3
  885. package/graphql/index.js.map +1 -1
  886. package/graphql/scalars/RevisionId.js +10 -14
  887. package/graphql/scalars/RevisionId.js.map +1 -1
  888. package/graphql/scalars/RevisionIdScalarPlugin.js +10 -7
  889. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  890. package/graphql/schema/baseContentSchema.js +29 -30
  891. package/graphql/schema/baseContentSchema.js.map +1 -1
  892. package/graphql/schema/baseSchema.js +33 -36
  893. package/graphql/schema/baseSchema.js.map +1 -1
  894. package/graphql/schema/cms/createEntryResolver.js +37 -49
  895. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  896. package/graphql/schema/cms/deleteEntryResolver.js +39 -51
  897. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  898. package/graphql/schema/cms/getEntryResolver.js +37 -51
  899. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  900. package/graphql/schema/cms/helpers/buildFieldsSelection.js +26 -71
  901. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  902. package/graphql/schema/cms/helpers/getErrorMessage.js +5 -11
  903. package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -1
  904. package/graphql/schema/cms/helpers/getModel.js +5 -9
  905. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  906. package/graphql/schema/cms/helpers/index.js +0 -2
  907. package/graphql/schema/cms/helpers/transformSortToArray.js +7 -34
  908. package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -1
  909. package/graphql/schema/cms/helpers/transformWhereToNested.js +23 -50
  910. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
  911. package/graphql/schema/cms/helpers.js +0 -2
  912. package/graphql/schema/cms/index.js +20 -22
  913. package/graphql/schema/cms/index.js.map +1 -1
  914. package/graphql/schema/cms/listEntriesResolver.js +58 -82
  915. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  916. package/graphql/schema/cms/publishEntryResolver.js +37 -49
  917. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  918. package/graphql/schema/cms/resolvers/createEntry.js +11 -10
  919. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  920. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +11 -10
  921. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  922. package/graphql/schema/cms/resolvers/getEntry.js +11 -10
  923. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  924. package/graphql/schema/cms/resolvers/index.js +0 -2
  925. package/graphql/schema/cms/resolvers/listEntries.js +11 -10
  926. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  927. package/graphql/schema/cms/resolvers/mutationCms.js +13 -18
  928. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  929. package/graphql/schema/cms/resolvers/publishEntryRevision.js +11 -10
  930. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  931. package/graphql/schema/cms/resolvers/queryCms.js +13 -17
  932. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  933. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +11 -10
  934. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  935. package/graphql/schema/cms/resolvers/updateEntryRevision.js +11 -10
  936. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  937. package/graphql/schema/cms/typeDefs/index.js +0 -2
  938. package/graphql/schema/cms/typeDefs/mutation.js +8 -7
  939. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  940. package/graphql/schema/cms/typeDefs/query.js +8 -7
  941. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  942. package/graphql/schema/cms/typeDefs/responses.js +8 -7
  943. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  944. package/graphql/schema/cms/unpublishEntryResolver.js +37 -49
  945. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  946. package/graphql/schema/cms/updateEntryResolver.js +38 -51
  947. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  948. package/graphql/schema/contentEntries.js +218 -305
  949. package/graphql/schema/contentEntries.js.map +1 -1
  950. package/graphql/schema/contentModelGroups.js +70 -89
  951. package/graphql/schema/contentModelGroups.js.map +1 -1
  952. package/graphql/schema/contentModels.js +92 -105
  953. package/graphql/schema/contentModels.js.map +1 -1
  954. package/graphql/schema/createFieldResolvers.js +67 -121
  955. package/graphql/schema/createFieldResolvers.js.map +1 -1
  956. package/graphql/schema/createManageResolvers.js +70 -86
  957. package/graphql/schema/createManageResolvers.js.map +1 -1
  958. package/graphql/schema/createManageSDL.js +48 -58
  959. package/graphql/schema/createManageSDL.js.map +1 -1
  960. package/graphql/schema/createPreviewResolvers.js +24 -27
  961. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  962. package/graphql/schema/createReadResolvers.js +26 -35
  963. package/graphql/schema/createReadResolvers.js.map +1 -1
  964. package/graphql/schema/createReadSDL.js +35 -42
  965. package/graphql/schema/createReadSDL.js.map +1 -1
  966. package/graphql/schema/createSingularResolvers.js +32 -40
  967. package/graphql/schema/createSingularResolvers.js.map +1 -1
  968. package/graphql/schema/createSingularSDL.js +32 -44
  969. package/graphql/schema/createSingularSDL.js.map +1 -1
  970. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +36 -48
  971. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  972. package/graphql/schema/resolvers/manage/resolveCreate.js +9 -10
  973. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  974. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +9 -10
  975. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  976. package/graphql/schema/resolvers/manage/resolveDelete.js +18 -28
  977. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  978. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +11 -12
  979. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  980. package/graphql/schema/resolvers/manage/resolveGet.js +41 -53
  981. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  982. package/graphql/schema/resolvers/manage/resolveGetByIds.js +9 -10
  983. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  984. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +9 -10
  985. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  986. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +9 -10
  987. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  988. package/graphql/schema/resolvers/manage/resolveList.js +10 -11
  989. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  990. package/graphql/schema/resolvers/manage/resolveListDeleted.js +10 -11
  991. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  992. package/graphql/schema/resolvers/manage/resolveMove.js +11 -17
  993. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  994. package/graphql/schema/resolvers/manage/resolvePublish.js +9 -10
  995. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  996. package/graphql/schema/resolvers/manage/resolveRepublish.js +10 -11
  997. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  998. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +9 -10
  999. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  1000. package/graphql/schema/resolvers/manage/resolveUnpublish.js +10 -11
  1001. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  1002. package/graphql/schema/resolvers/manage/resolveUpdate.js +9 -10
  1003. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  1004. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
  1005. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +12 -0
  1006. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
  1007. package/graphql/schema/resolvers/manage/resolveValidate.js +10 -11
  1008. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  1009. package/graphql/schema/resolvers/preview/resolveGet.js +13 -16
  1010. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  1011. package/graphql/schema/resolvers/preview/resolveList.js +10 -11
  1012. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  1013. package/graphql/schema/resolvers/read/resolveGet.js +13 -16
  1014. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  1015. package/graphql/schema/resolvers/read/resolveList.js +10 -11
  1016. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  1017. package/graphql/schema/resolvers/singular/resolveGet.js +7 -10
  1018. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  1019. package/graphql/schema/resolvers/singular/resolveUpdate.js +7 -10
  1020. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  1021. package/graphql/schema/schemaPlugins.js +81 -97
  1022. package/graphql/schema/schemaPlugins.js.map +1 -1
  1023. package/index.js +17 -23
  1024. package/index.js.map +1 -1
  1025. package/legacy/abstractions.js +5 -22
  1026. package/legacy/abstractions.js.map +1 -1
  1027. package/package.json +25 -25
  1028. package/parameters/context.js +4 -7
  1029. package/parameters/context.js.map +1 -1
  1030. package/parameters/header.js +10 -22
  1031. package/parameters/header.js.map +1 -1
  1032. package/parameters/index.js +0 -2
  1033. package/parameters/path.js +9 -19
  1034. package/parameters/path.js.map +1 -1
  1035. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +6 -5
  1036. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  1037. package/plugins/CmsGraphQLSchemaPlugin/index.js +0 -2
  1038. package/plugins/CmsGroupPlugin.js +15 -26
  1039. package/plugins/CmsGroupPlugin.js.map +1 -1
  1040. package/plugins/CmsModelFieldConverterPlugin.js +5 -5
  1041. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  1042. package/plugins/CmsModelPlugin.js +135 -213
  1043. package/plugins/CmsModelPlugin.js.map +1 -1
  1044. package/plugins/CmsParametersPlugin.js +12 -14
  1045. package/plugins/CmsParametersPlugin.js.map +1 -1
  1046. package/plugins/StorageOperationsCmsModelPlugin.js +22 -29
  1047. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  1048. package/plugins/index.js +0 -2
  1049. package/types/context.d.ts +6 -2
  1050. package/types/context.js +0 -3
  1051. package/types/fields/dynamicZoneField.js +0 -3
  1052. package/types/fields/objectField.js +0 -3
  1053. package/types/identity.js +0 -3
  1054. package/types/index.js +0 -2
  1055. package/types/model.js +0 -3
  1056. package/types/modelAst.js +0 -3
  1057. package/types/modelField.js +0 -3
  1058. package/types/modelGroup.js +0 -3
  1059. package/types/plugins.js +0 -3
  1060. package/types/types.d.ts +4 -9
  1061. package/types/types.js +6 -218
  1062. package/types/types.js.map +1 -1
  1063. package/utils/caching/Cache.js +28 -35
  1064. package/utils/caching/Cache.js.map +1 -1
  1065. package/utils/caching/CacheKey.js +13 -14
  1066. package/utils/caching/CacheKey.js.map +1 -1
  1067. package/utils/caching/index.js +0 -2
  1068. package/utils/caching/types.js +0 -3
  1069. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +12 -15
  1070. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  1071. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +13 -12
  1072. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  1073. package/utils/contentModelAst/CmsModelToAstConverter.js +14 -18
  1074. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
  1075. package/utils/contentModelAst/index.js +0 -2
  1076. package/utils/converters/Converter.js +35 -44
  1077. package/utils/converters/Converter.js.map +1 -1
  1078. package/utils/converters/ConverterCollection.js +70 -107
  1079. package/utils/converters/ConverterCollection.js.map +1 -1
  1080. package/utils/converters/types.js +0 -3
  1081. package/utils/converters/valueKeyFromStorageConverter.js +13 -19
  1082. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  1083. package/utils/converters/valueKeyStorageConverter.js +18 -21
  1084. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  1085. package/utils/converters/valueKeyToStorageConverter.js +13 -19
  1086. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  1087. package/utils/createModelField.js +24 -44
  1088. package/utils/createModelField.js.map +1 -1
  1089. package/utils/createTypeFromFields.js +30 -52
  1090. package/utils/createTypeFromFields.js.map +1 -1
  1091. package/utils/createTypeName.js +2 -3
  1092. package/utils/createTypeName.js.map +1 -1
  1093. package/utils/date.js +9 -24
  1094. package/utils/date.js.map +1 -1
  1095. package/utils/entryStorage.js +57 -90
  1096. package/utils/entryStorage.js.map +1 -1
  1097. package/utils/errors.js +7 -7
  1098. package/utils/errors.js.map +1 -1
  1099. package/utils/filterAsync.js +8 -9
  1100. package/utils/filterAsync.js.map +1 -1
  1101. package/utils/getBaseFieldType.js +4 -5
  1102. package/utils/getBaseFieldType.js.map +1 -1
  1103. package/utils/getEntryDescription.js +9 -14
  1104. package/utils/getEntryDescription.js.map +1 -1
  1105. package/utils/getEntryImage.js +9 -14
  1106. package/utils/getEntryImage.js.map +1 -1
  1107. package/utils/getEntryTitle.js +11 -26
  1108. package/utils/getEntryTitle.js.map +1 -1
  1109. package/utils/getSchemaFromFieldPlugins.js +27 -39
  1110. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  1111. package/utils/identity.js +9 -16
  1112. package/utils/identity.js.map +1 -1
  1113. package/utils/incrementEntryIdVersion.js +14 -18
  1114. package/utils/incrementEntryIdVersion.js.map +1 -1
  1115. package/utils/index.js +0 -2
  1116. package/utils/isHeadlessCmsReady.js +5 -14
  1117. package/utils/isHeadlessCmsReady.js.map +1 -1
  1118. package/utils/modelFieldTraverser/ModelFieldTraverser.js +27 -29
  1119. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
  1120. package/utils/modelFieldTraverser/index.js +0 -2
  1121. package/utils/renderFields.js +26 -49
  1122. package/utils/renderFields.js.map +1 -1
  1123. package/utils/renderGetFilterFields.js +31 -37
  1124. package/utils/renderGetFilterFields.js.map +1 -1
  1125. package/utils/renderInputFields.js +23 -40
  1126. package/utils/renderInputFields.js.map +1 -1
  1127. package/utils/renderListFilterFields.js +60 -56
  1128. package/utils/renderListFilterFields.js.map +1 -1
  1129. package/utils/renderSortEnum.js +21 -23
  1130. package/utils/renderSortEnum.js.map +1 -1
  1131. package/utils/toSlug.js +6 -7
  1132. package/utils/toSlug.js.map +1 -1
  1133. package/abstractions/entryHooks/index.js.map +0 -1
  1134. package/abstractions/index.js.map +0 -1
  1135. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +0 -19
  1136. package/crud/contentEntry/entryDataFactories/createEntryData.js +0 -263
  1137. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +0 -1
  1138. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +0 -22
  1139. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +0 -165
  1140. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +0 -1
  1141. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +0 -14
  1142. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +0 -59
  1143. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +0 -1
  1144. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +0 -13
  1145. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +0 -54
  1146. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +0 -1
  1147. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +0 -11
  1148. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +0 -34
  1149. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +0 -1
  1150. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +0 -19
  1151. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +0 -131
  1152. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +0 -1
  1153. package/crud/contentEntry/entryDataFactories/index.d.ts +0 -8
  1154. package/crud/contentEntry/entryDataFactories/index.js +0 -10
  1155. package/crud/contentEntry/entryDataFactories/index.js.map +0 -1
  1156. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +0 -32
  1157. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +0 -1
  1158. package/crud/contentEntry/entryDataFactories/statuses.js +0 -6
  1159. package/crud/contentEntry/entryDataFactories/statuses.js.map +0 -1
  1160. package/crud/contentEntry/entryDataFactories/system.js +0 -14
  1161. package/crud/contentEntry/entryDataFactories/system.js.map +0 -1
  1162. package/export/index.js.map +0 -1
  1163. package/exports/api/cms/entry.js.map +0 -1
  1164. package/exports/api/cms/graphql.js.map +0 -1
  1165. package/exports/api/cms/group.js.map +0 -1
  1166. package/exports/api/cms/model.js.map +0 -1
  1167. package/exports/api/cms/storage.js.map +0 -1
  1168. package/exports/api/cms/validation.js.map +0 -1
  1169. package/extensions/entryHooks/index.js.map +0 -1
  1170. package/features/contentEntry/ContentEntryTraverser/index.js.map +0 -1
  1171. package/features/contentEntry/CreateEntry/index.js.map +0 -1
  1172. package/features/contentEntry/CreateEntryRevisionFrom/index.js.map +0 -1
  1173. package/features/contentEntry/DeleteEntry/index.js.map +0 -1
  1174. package/features/contentEntry/DeleteEntryRevision/index.js.map +0 -1
  1175. package/features/contentEntry/DeleteMultipleEntries/index.js.map +0 -1
  1176. package/features/contentEntry/GetEntriesByIds/index.js.map +0 -1
  1177. package/features/contentEntry/GetEntry/index.js.map +0 -1
  1178. package/features/contentEntry/GetEntryById/index.js.map +0 -1
  1179. package/features/contentEntry/GetLatestEntriesByIds/index.js.map +0 -1
  1180. package/features/contentEntry/GetLatestRevisionByEntryId/index.js.map +0 -1
  1181. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js.map +0 -1
  1182. package/features/contentEntry/GetPublishedEntriesByIds/index.js.map +0 -1
  1183. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js.map +0 -1
  1184. package/features/contentEntry/GetRevisionById/index.js.map +0 -1
  1185. package/features/contentEntry/GetRevisionsByEntryId/index.js.map +0 -1
  1186. package/features/contentEntry/GetSingletonEntry/index.js.map +0 -1
  1187. package/features/contentEntry/GetUniqueFieldValues/index.js.map +0 -1
  1188. package/features/contentEntry/ListEntries/index.js.map +0 -1
  1189. package/features/contentEntry/MoveEntry/index.js.map +0 -1
  1190. package/features/contentEntry/PublishEntry/index.js.map +0 -1
  1191. package/features/contentEntry/RepublishEntry/index.js.map +0 -1
  1192. package/features/contentEntry/RestoreEntryFromBin/index.js.map +0 -1
  1193. package/features/contentEntry/UnpublishEntry/index.js.map +0 -1
  1194. package/features/contentEntry/UpdateEntry/index.js.map +0 -1
  1195. package/features/contentEntry/UpdateSingletonEntry/index.js.map +0 -1
  1196. package/features/contentEntry/ValidateEntry/index.js.map +0 -1
  1197. package/features/contentModel/CreateModel/index.js.map +0 -1
  1198. package/features/contentModel/CreateModelFrom/index.js.map +0 -1
  1199. package/features/contentModel/DeleteModel/index.js.map +0 -1
  1200. package/features/contentModel/GetModel/index.js.map +0 -1
  1201. package/features/contentModel/ListModels/index.js.map +0 -1
  1202. package/features/contentModel/ModelFieldCompression/index.js.map +0 -1
  1203. package/features/contentModel/ModelToAstConverter/index.js.map +0 -1
  1204. package/features/contentModel/UpdateModel/index.js.map +0 -1
  1205. package/features/contentModelGroup/CreateGroup/index.js.map +0 -1
  1206. package/features/contentModelGroup/DeleteGroup/index.js.map +0 -1
  1207. package/features/contentModelGroup/GetGroup/index.js.map +0 -1
  1208. package/features/contentModelGroup/ListGroups/index.js.map +0 -1
  1209. package/features/contentModelGroup/UpdateGroup/index.js.map +0 -1
  1210. package/features/contentModelGroup/shared/index.js.map +0 -1
  1211. package/features/graphql/index.js.map +0 -1
  1212. package/features/modelBuilder/fields/FieldBuilder.js.map +0 -1
  1213. package/features/modelBuilder/fields/fieldTypeValidator.js.map +0 -1
  1214. package/features/modelBuilder/index.js.map +0 -1
  1215. package/features/storage/index.js.map +0 -1
  1216. package/features/validation/index.js.map +0 -1
  1217. package/graphql/schema/cms/helpers/index.js.map +0 -1
  1218. package/graphql/schema/cms/helpers.js.map +0 -1
  1219. package/graphql/schema/cms/resolvers/index.js.map +0 -1
  1220. package/graphql/schema/cms/typeDefs/index.js.map +0 -1
  1221. package/parameters/index.js.map +0 -1
  1222. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +0 -1
  1223. package/plugins/index.js.map +0 -1
  1224. package/types/context.js.map +0 -1
  1225. package/types/fields/dynamicZoneField.js.map +0 -1
  1226. package/types/fields/objectField.js.map +0 -1
  1227. package/types/identity.js.map +0 -1
  1228. package/types/index.js.map +0 -1
  1229. package/types/model.js.map +0 -1
  1230. package/types/modelAst.js.map +0 -1
  1231. package/types/modelField.js.map +0 -1
  1232. package/types/modelGroup.js.map +0 -1
  1233. package/types/plugins.js.map +0 -1
  1234. package/utils/caching/index.js.map +0 -1
  1235. package/utils/caching/types.js.map +0 -1
  1236. package/utils/contentModelAst/index.js.map +0 -1
  1237. package/utils/converters/types.js.map +0 -1
  1238. package/utils/index.js.map +0 -1
  1239. package/utils/modelFieldTraverser/index.js.map +0 -1
  1240. /package/{crud → features}/contentEntry/entryDataFactories/statuses.d.ts +0 -0
  1241. /package/{crud → features}/contentEntry/entryDataFactories/system.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Result","ModelCache","ModelsFetcher","FetcherAbstraction","PluginModelsProvider","StorageOperations","TenantContext","ModelNotFoundError","ModelPersistenceError","createCacheKey","ensureTypeTag","ModelFieldCompression","ModelsFetcherImpl","constructor","modelCache","pluginModelsProvider","storageOperations","tenantContext","modelFieldCompression","fetchAll","tenant","getTenant","cacheKey","id","pluginModels","list","cached","getOrSet","fetchAndMergeModels","ok","error","fail","fetchById","modelId","result","isFail","model","value","find","m","dbCacheKey","databaseModels","models","where","Promise","all","map","fields","decompress","taggedDatabaseModels","tags","createImplementation","implementation","dependencies"],"sources":["ModelsFetcher.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ModelCache,\n ModelsFetcher as FetcherAbstraction\n} from \"~/features/contentModel/shared/abstractions.js\";\nimport { PluginModelsProvider } from \"~/features/contentModel/shared/abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { ModelNotFoundError, ModelPersistenceError } from \"~/domain/contentModel/errors.js\";\nimport { createCacheKey } from \"~/utils/index.js\";\nimport { ensureTypeTag } from \"~/domain/contentModel/ensureTypeTag.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { ModelFieldCompression } from \"~/features/contentModel/ModelFieldCompression/index.js\";\n\n/**\n * ModelsFetcherImpl - Implementation with multi-level caching.\n *\n * Caching strategy:\n * 1. Plugin models are cached per tenant (with access control applied by PluginModelsProvider)\n * 2. Database models are cached per tenant (raw from DB)\n * 3. Filtered database models are cached per tenant + identity (with access control applied)\n * 4. Final merged list is cached per tenant + identity\n */\nclass ModelsFetcherImpl implements FetcherAbstraction.Interface {\n public constructor(\n private readonly modelCache: ModelCache.Interface,\n private readonly pluginModelsProvider: PluginModelsProvider.Interface,\n private readonly storageOperations: StorageOperations.Interface,\n private readonly tenantContext: TenantContext.Interface,\n private readonly modelFieldCompression: ModelFieldCompression.Interface\n ) {}\n\n async fetchAll(): Promise<Result<CmsModel[], FetcherAbstraction.Error>> {\n try {\n const tenant = this.tenantContext.getTenant();\n\n // Create a cache key based on tenant + identity\n const cacheKey = createCacheKey({\n tenant: tenant.id\n });\n\n // Fetch plugin models (with caching and access control)\n const pluginModels = await this.pluginModelsProvider.list(tenant.id);\n\n // Try to get from cache first\n const cached = await this.modelCache.getOrSet(cacheKey, async () => {\n return this.fetchAndMergeModels(tenant.id);\n });\n\n return Result.ok([...cached, ...pluginModels]);\n } catch (error) {\n return Result.fail(new ModelPersistenceError(error as Error));\n }\n }\n\n async fetchById(modelId: string): Promise<Result<CmsModel, FetcherAbstraction.Error>> {\n const result = await this.fetchAll();\n if (result.isFail()) {\n return Result.fail(new ModelPersistenceError(result.error));\n }\n\n const model = result.value.find(m => m.modelId === modelId);\n if (!model) {\n return Result.fail(new ModelNotFoundError(modelId));\n }\n\n return Result.ok(model);\n }\n\n private async fetchAndMergeModels(tenant: string): Promise<CmsModel[]> {\n // 1. Fetch database models (with caching)\n const dbCacheKey = createCacheKey({ tenant, id: \"storage\" });\n const databaseModels = await this.modelCache.getOrSet(dbCacheKey, async () => {\n const models = await this.storageOperations.models.list({ where: { tenant } });\n\n return Promise.all(\n models.map(async model => {\n const fields = await this.modelFieldCompression.decompress(model.fields);\n\n return {\n ...model,\n fields\n };\n })\n );\n });\n\n // 2. Ensure type tags on database models\n const taggedDatabaseModels = databaseModels.map(model => {\n model.tags = ensureTypeTag(model);\n return model;\n });\n\n // 3. Return merged models.\n return taggedDatabaseModels;\n }\n}\n\nexport const ModelsFetcher = FetcherAbstraction.createImplementation({\n implementation: ModelsFetcherImpl,\n dependencies: [\n ModelCache,\n PluginModelsProvider,\n StorageOperations,\n TenantContext,\n ModelFieldCompression\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,UAAU,EACVC,aAAa,IAAIC,kBAAkB;AAEvC,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,aAAa,QAAQ,0DAA0D;AACxF,SAASC,kBAAkB,EAAEC,qBAAqB;AAClD,SAASC,cAAc;AACvB,SAASC,aAAa;AAEtB,SAASC,qBAAqB;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,CAAyC;EACrDC,WAAWA,CACGC,UAAgC,EAChCC,oBAAoD,EACpDC,iBAA8C,EAC9CC,aAAsC,EACtCC,qBAAsD,EACzE;IAAA,KALmBJ,UAAgC,GAAhCA,UAAgC;IAAA,KAChCC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,iBAA8C,GAA9CA,iBAA8C;IAAA,KAC9CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,qBAAsD,GAAtDA,qBAAsD;EACxE;EAEH,MAAMC,QAAQA,CAAA,EAA0D;IACpE,IAAI;MACA,MAAMC,MAAM,GAAG,IAAI,CAACH,aAAa,CAACI,SAAS,CAAC,CAAC;;MAE7C;MACA,MAAMC,QAAQ,GAAGb,cAAc,CAAC;QAC5BW,MAAM,EAAEA,MAAM,CAACG;MACnB,CAAC,CAAC;;MAEF;MACA,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACT,oBAAoB,CAACU,IAAI,CAACL,MAAM,CAACG,EAAE,CAAC;;MAEpE;MACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACZ,UAAU,CAACa,QAAQ,CAACL,QAAQ,EAAE,YAAY;QAChE,OAAO,IAAI,CAACM,mBAAmB,CAACR,MAAM,CAACG,EAAE,CAAC;MAC9C,CAAC,CAAC;MAEF,OAAOvB,MAAM,CAAC6B,EAAE,CAAC,CAAC,GAAGH,MAAM,EAAE,GAAGF,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,OAAOM,KAAK,EAAE;MACZ,OAAO9B,MAAM,CAAC+B,IAAI,CAAC,IAAIvB,qBAAqB,CAACsB,KAAc,CAAC,CAAC;IACjE;EACJ;EAEA,MAAME,SAASA,CAACC,OAAe,EAAuD;IAClF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACf,QAAQ,CAAC,CAAC;IACpC,IAAIe,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOnC,MAAM,CAAC+B,IAAI,CAAC,IAAIvB,qBAAqB,CAAC0B,MAAM,CAACJ,KAAK,CAAC,CAAC;IAC/D;IAEA,MAAMM,KAAK,GAAGF,MAAM,CAACG,KAAK,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACN,OAAO,KAAKA,OAAO,CAAC;IAC3D,IAAI,CAACG,KAAK,EAAE;MACR,OAAOpC,MAAM,CAAC+B,IAAI,CAAC,IAAIxB,kBAAkB,CAAC0B,OAAO,CAAC,CAAC;IACvD;IAEA,OAAOjC,MAAM,CAAC6B,EAAE,CAACO,KAAK,CAAC;EAC3B;EAEA,MAAcR,mBAAmBA,CAACR,MAAc,EAAuB;IACnE;IACA,MAAMoB,UAAU,GAAG/B,cAAc,CAAC;MAAEW,MAAM;MAAEG,EAAE,EAAE;IAAU,CAAC,CAAC;IAC5D,MAAMkB,cAAc,GAAG,MAAM,IAAI,CAAC3B,UAAU,CAACa,QAAQ,CAACa,UAAU,EAAE,YAAY;MAC1E,MAAME,MAAM,GAAG,MAAM,IAAI,CAAC1B,iBAAiB,CAAC0B,MAAM,CAACjB,IAAI,CAAC;QAAEkB,KAAK,EAAE;UAAEvB;QAAO;MAAE,CAAC,CAAC;MAE9E,OAAOwB,OAAO,CAACC,GAAG,CACdH,MAAM,CAACI,GAAG,CAAC,MAAMV,KAAK,IAAI;QACtB,MAAMW,MAAM,GAAG,MAAM,IAAI,CAAC7B,qBAAqB,CAAC8B,UAAU,CAACZ,KAAK,CAACW,MAAM,CAAC;QAExE,OAAO;UACH,GAAGX,KAAK;UACRW;QACJ,CAAC;MACL,CAAC,CACL,CAAC;IACL,CAAC,CAAC;;IAEF;IACA,MAAME,oBAAoB,GAAGR,cAAc,CAACK,GAAG,CAACV,KAAK,IAAI;MACrDA,KAAK,CAACc,IAAI,GAAGxC,aAAa,CAAC0B,KAAK,CAAC;MACjC,OAAOA,KAAK;IAChB,CAAC,CAAC;;IAEF;IACA,OAAOa,oBAAoB;EAC/B;AACJ;AAEA,OAAO,MAAM/C,aAAa,GAAGC,kBAAkB,CAACgD,oBAAoB,CAAC;EACjEC,cAAc,EAAExC,iBAAiB;EACjCyC,YAAY,EAAE,CACVpD,UAAU,EACVG,oBAAoB,EACpBC,iBAAiB,EACjBC,aAAa,EACbK,qBAAqB;AAE7B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/shared/ModelsFetcher.js","sources":["../../../../src/features/contentModel/shared/ModelsFetcher.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ModelCache,\n ModelsFetcher as FetcherAbstraction\n} from \"~/features/contentModel/shared/abstractions.js\";\nimport { PluginModelsProvider } from \"~/features/contentModel/shared/abstractions.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { ModelNotFoundError, ModelPersistenceError } from \"~/domain/contentModel/errors.js\";\nimport { createCacheKey } from \"~/utils/index.js\";\nimport { ensureTypeTag } from \"~/domain/contentModel/ensureTypeTag.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { ModelFieldCompression } from \"~/features/contentModel/ModelFieldCompression/index.js\";\n\n/**\n * ModelsFetcherImpl - Implementation with multi-level caching.\n *\n * Caching strategy:\n * 1. Plugin models are cached per tenant (with access control applied by PluginModelsProvider)\n * 2. Database models are cached per tenant (raw from DB)\n * 3. Filtered database models are cached per tenant + identity (with access control applied)\n * 4. Final merged list is cached per tenant + identity\n */\nclass ModelsFetcherImpl implements FetcherAbstraction.Interface {\n public constructor(\n private readonly modelCache: ModelCache.Interface,\n private readonly pluginModelsProvider: PluginModelsProvider.Interface,\n private readonly storageOperations: StorageOperations.Interface,\n private readonly tenantContext: TenantContext.Interface,\n private readonly modelFieldCompression: ModelFieldCompression.Interface\n ) {}\n\n async fetchAll(): Promise<Result<CmsModel[], FetcherAbstraction.Error>> {\n try {\n const tenant = this.tenantContext.getTenant();\n\n // Create a cache key based on tenant + identity\n const cacheKey = createCacheKey({\n tenant: tenant.id\n });\n\n // Try to get from cache first\n const cached = await this.modelCache.getOrSet(cacheKey, async () => {\n // Fetch plugin models (with caching and access control)\n const pluginModels = await this.pluginModelsProvider.list(tenant.id);\n\n const databaseModels = await this.fetchAndMergeModels(tenant.id);\n\n return [...pluginModels, ...databaseModels];\n });\n\n return Result.ok(cached);\n } catch (error) {\n return Result.fail(new ModelPersistenceError(error as Error));\n }\n }\n\n async fetchById(modelId: string): Promise<Result<CmsModel, FetcherAbstraction.Error>> {\n const result = await this.fetchAll();\n if (result.isFail()) {\n return Result.fail(new ModelPersistenceError(result.error));\n }\n\n const model = result.value.find(m => m.modelId === modelId);\n if (!model) {\n return Result.fail(new ModelNotFoundError(modelId));\n }\n\n return Result.ok(model);\n }\n\n private async fetchAndMergeModels(tenant: string): Promise<CmsModel[]> {\n // 1. Fetch database models (with caching)\n const dbCacheKey = createCacheKey({ tenant, id: \"storage\" });\n const databaseModels = await this.modelCache.getOrSet(dbCacheKey, async () => {\n const models = await this.storageOperations.models.list({ where: { tenant } });\n\n return Promise.all(\n models.map(async model => {\n const fields = await this.modelFieldCompression.decompress(model.fields);\n\n return {\n ...model,\n fields\n };\n })\n );\n });\n\n // 2. Ensure type tags on database models\n const taggedDatabaseModels = databaseModels.map(model => {\n model.tags = ensureTypeTag(model);\n return model;\n });\n\n // 3. Return merged models.\n return taggedDatabaseModels;\n }\n}\n\nexport const ModelsFetcher = FetcherAbstraction.createImplementation({\n implementation: ModelsFetcherImpl,\n dependencies: [\n ModelCache,\n PluginModelsProvider,\n StorageOperations,\n TenantContext,\n ModelFieldCompression\n ]\n});\n"],"names":["ModelsFetcherImpl","modelCache","pluginModelsProvider","storageOperations","tenantContext","modelFieldCompression","tenant","cacheKey","createCacheKey","cached","pluginModels","databaseModels","Result","error","ModelPersistenceError","modelId","result","model","m","ModelNotFoundError","dbCacheKey","models","Promise","fields","taggedDatabaseModels","ensureTypeTag","ModelsFetcher","FetcherAbstraction","ModelCache","PluginModelsProvider","StorageOperations","TenantContext","ModelFieldCompression"],"mappings":";;;;;;;;AAuBA,MAAMA;IACF,YACqBC,UAAgC,EAChCC,oBAAoD,EACpDC,iBAA8C,EAC9CC,aAAsC,EACtCC,qBAAsD,CACzE;aALmBJ,UAAU,GAAVA;aACAC,oBAAoB,GAApBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;aACAC,qBAAqB,GAArBA;IAClB;IAEH,MAAM,WAAkE;QACpE,IAAI;YACA,MAAMC,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS;YAG3C,MAAMC,WAAWC,eAAe;gBAC5B,QAAQF,OAAO,EAAE;YACrB;YAGA,MAAMG,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACF,UAAU;gBAEpD,MAAMG,eAAe,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAACJ,OAAO,EAAE;gBAEnE,MAAMK,iBAAiB,MAAM,IAAI,CAAC,mBAAmB,CAACL,OAAO,EAAE;gBAE/D,OAAO;uBAAII;uBAAiBC;iBAAe;YAC/C;YAEA,OAAOC,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOI,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;IAEA,MAAM,UAAUE,OAAe,EAAuD;QAClF,MAAMC,SAAS,MAAM,IAAI,CAAC,QAAQ;QAClC,IAAIA,OAAO,MAAM,IACb,OAAOJ,OAAO,IAAI,CAAC,IAAIE,sBAAsBE,OAAO,KAAK;QAG7D,MAAMC,QAAQD,OAAO,KAAK,CAAC,IAAI,CAACE,CAAAA,IAAKA,EAAE,OAAO,KAAKH;QACnD,IAAI,CAACE,OACD,OAAOL,OAAO,IAAI,CAAC,IAAIO,mBAAmBJ;QAG9C,OAAOH,OAAO,EAAE,CAACK;IACrB;IAEA,MAAc,oBAAoBX,MAAc,EAAuB;QAEnE,MAAMc,aAAaZ,eAAe;YAAEF;YAAQ,IAAI;QAAU;QAC1D,MAAMK,iBAAiB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACS,YAAY;YAC9D,MAAMC,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO;oBAAEf;gBAAO;YAAE;YAE5E,OAAOgB,QAAQ,GAAG,CACdD,OAAO,GAAG,CAAC,OAAMJ;gBACb,MAAMM,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAACN,MAAM,MAAM;gBAEvE,OAAO;oBACH,GAAGA,KAAK;oBACRM;gBACJ;YACJ;QAER;QAGA,MAAMC,uBAAuBb,eAAe,GAAG,CAACM,CAAAA;YAC5CA,MAAM,IAAI,GAAGQ,cAAcR;YAC3B,OAAOA;QACX;QAGA,OAAOO;IACX;AACJ;AAEO,MAAME,8BAAgBC,cAAAA,oBAAuC,CAAC;IACjE,gBAAgB3B;IAChB,cAAc;QACV4B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,64 +1,48 @@
1
1
  import { AccessControl, CmsContext } from "../../shared/abstractions.js";
2
- import { PluginModelsProvider as ProviderAbstraction } from "./abstractions.js";
2
+ import { PluginModelsProvider } from "./abstractions.js";
3
3
  import { CmsModelPlugin } from "../../../plugins/CmsModelPlugin.js";
4
4
  import { filterAsync } from "../../../utils/filterAsync.js";
5
5
  import { ModelsProvider } from "../../modelBuilder/models/abstractions.js";
6
-
7
- /**
8
- * PluginModelsProvider implementation that fetches models from:
9
- * 1. Legacy CmsModelPlugin instances
10
- * 2. New ModelBuilder providers (public and private)
11
- */
12
6
  class PluginModelsProviderImpl {
13
- constructor(cmsContext, accessControl, modelsProvider) {
14
- this.cmsContext = cmsContext;
15
- this.accessControl = accessControl;
16
- this.modelsProvider = modelsProvider;
17
- }
18
- async list(tenant) {
19
- // Get models from legacy plugins
20
- const modelPlugins = this.cmsContext.plugins.byType(CmsModelPlugin.type);
21
- const legacyModels = modelPlugins.filter(plugin => {
22
- const {
23
- tenant: modelTenant
24
- } = plugin.contentModel;
25
- // Filter by tenant if specified in plugin
26
- if (modelTenant && modelTenant !== tenant) {
27
- return false;
28
- }
29
- return true;
30
- }).map(plugin => {
31
- return {
32
- ...plugin.contentModel,
33
- tags: this.ensureTypeTag(plugin.contentModel),
34
- tenant
35
- };
36
- });
37
- const allowedLegacyModels = await filterAsync(legacyModels, model => {
38
- return this.accessControl.canAccessModel({
39
- model
40
- });
41
- });
42
-
43
- // Get models from new builder providers. These already have access control applied.
44
- const builderModels = await this.modelsProvider.list(tenant);
45
-
46
- // Combine both sources
47
- return [...allowedLegacyModels, ...builderModels];
48
- }
49
- ensureTypeTag(model) {
50
- // Let's make sure we have a `type` tag assigned.
51
- // If `type` tag is not set, set it to a default one (`model`).
52
- const tags = model.tags || [];
53
- if (!tags.some(tag => tag.startsWith("type:"))) {
54
- tags.push("type:model");
7
+ constructor(cmsContext, accessControl, modelsProvider){
8
+ this.cmsContext = cmsContext;
9
+ this.accessControl = accessControl;
10
+ this.modelsProvider = modelsProvider;
11
+ }
12
+ async list(tenant) {
13
+ const modelPlugins = this.cmsContext.plugins.byType(CmsModelPlugin.type);
14
+ const legacyModels = modelPlugins.filter((plugin)=>{
15
+ const { tenant: modelTenant } = plugin.contentModel;
16
+ if (modelTenant && modelTenant !== tenant) return false;
17
+ return true;
18
+ }).map((plugin)=>({
19
+ ...plugin.contentModel,
20
+ tags: this.ensureTypeTag(plugin.contentModel),
21
+ tenant
22
+ }));
23
+ const allowedLegacyModels = await filterAsync(legacyModels, (model)=>this.accessControl.canAccessModel({
24
+ model
25
+ }));
26
+ const builderModels = await this.modelsProvider.list(tenant);
27
+ return [
28
+ ...allowedLegacyModels,
29
+ ...builderModels
30
+ ];
31
+ }
32
+ ensureTypeTag(model) {
33
+ const tags = model.tags || [];
34
+ if (!tags.some((tag)=>tag.startsWith("type:"))) tags.push("type:model");
35
+ return tags;
55
36
  }
56
- return tags;
57
- }
58
37
  }
59
- export const PluginModelsProvider = ProviderAbstraction.createImplementation({
60
- implementation: PluginModelsProviderImpl,
61
- dependencies: [CmsContext, AccessControl, ModelsProvider]
38
+ const PluginModelsProvider_PluginModelsProvider = PluginModelsProvider.createImplementation({
39
+ implementation: PluginModelsProviderImpl,
40
+ dependencies: [
41
+ CmsContext,
42
+ AccessControl,
43
+ ModelsProvider
44
+ ]
62
45
  });
46
+ export { PluginModelsProvider_PluginModelsProvider as PluginModelsProvider };
63
47
 
64
48
  //# sourceMappingURL=PluginModelsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AccessControl","CmsContext","PluginModelsProvider","ProviderAbstraction","CmsModelPlugin","filterAsync","ModelsProvider","PluginModelsProviderImpl","constructor","cmsContext","accessControl","modelsProvider","list","tenant","modelPlugins","plugins","byType","type","legacyModels","filter","plugin","modelTenant","contentModel","map","tags","ensureTypeTag","allowedLegacyModels","model","canAccessModel","builderModels","some","tag","startsWith","push","createImplementation","implementation","dependencies"],"sources":["PluginModelsProvider.ts"],"sourcesContent":["import { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { PluginModelsProvider as ProviderAbstraction } from \"./abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin.js\";\nimport { filterAsync } from \"~/utils/filterAsync.js\";\nimport {\n ModelsProvider,\n type IModelsProvider\n} from \"~/features/modelBuilder/models/abstractions.js\";\n\n/**\n * PluginModelsProvider implementation that fetches models from:\n * 1. Legacy CmsModelPlugin instances\n * 2. New ModelBuilder providers (public and private)\n */\nclass PluginModelsProviderImpl implements ProviderAbstraction.Interface {\n public constructor(\n private cmsContext: CmsContext.Interface,\n private accessControl: AccessControl.Interface,\n private modelsProvider: IModelsProvider\n ) {}\n\n async list(tenant: string): Promise<CmsModel[]> {\n // Get models from legacy plugins\n const modelPlugins = this.cmsContext.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n\n const legacyModels = modelPlugins\n .filter(plugin => {\n const { tenant: modelTenant } = plugin.contentModel;\n // Filter by tenant if specified in plugin\n if (modelTenant && modelTenant !== tenant) {\n return false;\n }\n\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModel,\n tags: this.ensureTypeTag(plugin.contentModel),\n tenant\n };\n }) as unknown as CmsModel[];\n\n const allowedLegacyModels = await filterAsync(legacyModels, model => {\n return this.accessControl.canAccessModel({ model });\n });\n\n // Get models from new builder providers. These already have access control applied.\n const builderModels = await this.modelsProvider.list(tenant);\n\n // Combine both sources\n return [...allowedLegacyModels, ...builderModels];\n }\n\n private ensureTypeTag(model: Pick<CmsModel, \"tags\">) {\n // Let's make sure we have a `type` tag assigned.\n // If `type` tag is not set, set it to a default one (`model`).\n const tags = model.tags || [];\n if (!tags.some(tag => tag.startsWith(\"type:\"))) {\n tags.push(\"type:model\");\n }\n\n return tags;\n }\n}\n\nexport const PluginModelsProvider = ProviderAbstraction.createImplementation({\n implementation: PluginModelsProviderImpl,\n dependencies: [CmsContext, AccessControl, ModelsProvider]\n});\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU;AAClC,SAASC,oBAAoB,IAAIC,mBAAmB;AAEpD,SAASC,cAAc;AACvB,SAASC,WAAW;AACpB,SACIC,cAAc;;AAIlB;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,CAA0C;EAC7DC,WAAWA,CACNC,UAAgC,EAChCC,aAAsC,EACtCC,cAA+B,EACzC;IAAA,KAHUF,UAAgC,GAAhCA,UAAgC;IAAA,KAChCC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,cAA+B,GAA/BA,cAA+B;EACxC;EAEH,MAAMC,IAAIA,CAACC,MAAc,EAAuB;IAC5C;IACA,MAAMC,YAAY,GAAG,IAAI,CAACL,UAAU,CAACM,OAAO,CAACC,MAAM,CAAiBZ,cAAc,CAACa,IAAI,CAAC;IAExF,MAAMC,YAAY,GAAGJ,YAAY,CAC5BK,MAAM,CAACC,MAAM,IAAI;MACd,MAAM;QAAEP,MAAM,EAAEQ;MAAY,CAAC,GAAGD,MAAM,CAACE,YAAY;MACnD;MACA,IAAID,WAAW,IAAIA,WAAW,KAAKR,MAAM,EAAE;QACvC,OAAO,KAAK;MAChB;MAEA,OAAO,IAAI;IACf,CAAC,CAAC,CACDU,GAAG,CAACH,MAAM,IAAI;MACX,OAAO;QACH,GAAGA,MAAM,CAACE,YAAY;QACtBE,IAAI,EAAE,IAAI,CAACC,aAAa,CAACL,MAAM,CAACE,YAAY,CAAC;QAC7CT;MACJ,CAAC;IACL,CAAC,CAA0B;IAE/B,MAAMa,mBAAmB,GAAG,MAAMrB,WAAW,CAACa,YAAY,EAAES,KAAK,IAAI;MACjE,OAAO,IAAI,CAACjB,aAAa,CAACkB,cAAc,CAAC;QAAED;MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;;IAEF;IACA,MAAME,aAAa,GAAG,MAAM,IAAI,CAAClB,cAAc,CAACC,IAAI,CAACC,MAAM,CAAC;;IAE5D;IACA,OAAO,CAAC,GAAGa,mBAAmB,EAAE,GAAGG,aAAa,CAAC;EACrD;EAEQJ,aAAaA,CAACE,KAA6B,EAAE;IACjD;IACA;IACA,MAAMH,IAAI,GAAGG,KAAK,CAACH,IAAI,IAAI,EAAE;IAC7B,IAAI,CAACA,IAAI,CAACM,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;MAC5CR,IAAI,CAACS,IAAI,CAAC,YAAY,CAAC;IAC3B;IAEA,OAAOT,IAAI;EACf;AACJ;AAEA,OAAO,MAAMtB,oBAAoB,GAAGC,mBAAmB,CAAC+B,oBAAoB,CAAC;EACzEC,cAAc,EAAE5B,wBAAwB;EACxC6B,YAAY,EAAE,CAACnC,UAAU,EAAED,aAAa,EAAEM,cAAc;AAC5D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/shared/PluginModelsProvider.js","sources":["../../../../src/features/contentModel/shared/PluginModelsProvider.ts"],"sourcesContent":["import { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { PluginModelsProvider as ProviderAbstraction } from \"./abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin.js\";\nimport { filterAsync } from \"~/utils/filterAsync.js\";\nimport {\n ModelsProvider,\n type IModelsProvider\n} from \"~/features/modelBuilder/models/abstractions.js\";\n\n/**\n * PluginModelsProvider implementation that fetches models from:\n * 1. Legacy CmsModelPlugin instances\n * 2. New ModelBuilder providers (public and private)\n */\nclass PluginModelsProviderImpl implements ProviderAbstraction.Interface {\n public constructor(\n private cmsContext: CmsContext.Interface,\n private accessControl: AccessControl.Interface,\n private modelsProvider: IModelsProvider\n ) {}\n\n async list(tenant: string): Promise<CmsModel[]> {\n // Get models from legacy plugins\n const modelPlugins = this.cmsContext.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n\n const legacyModels = modelPlugins\n .filter(plugin => {\n const { tenant: modelTenant } = plugin.contentModel;\n // Filter by tenant if specified in plugin\n if (modelTenant && modelTenant !== tenant) {\n return false;\n }\n\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModel,\n tags: this.ensureTypeTag(plugin.contentModel),\n tenant\n };\n }) as unknown as CmsModel[];\n\n const allowedLegacyModels = await filterAsync(legacyModels, model => {\n return this.accessControl.canAccessModel({ model });\n });\n\n // Get models from new builder providers. These already have access control applied.\n const builderModels = await this.modelsProvider.list(tenant);\n\n // Combine both sources\n return [...allowedLegacyModels, ...builderModels];\n }\n\n private ensureTypeTag(model: Pick<CmsModel, \"tags\">) {\n // Let's make sure we have a `type` tag assigned.\n // If `type` tag is not set, set it to a default one (`model`).\n const tags = model.tags || [];\n if (!tags.some(tag => tag.startsWith(\"type:\"))) {\n tags.push(\"type:model\");\n }\n\n return tags;\n }\n}\n\nexport const PluginModelsProvider = ProviderAbstraction.createImplementation({\n implementation: PluginModelsProviderImpl,\n dependencies: [CmsContext, AccessControl, ModelsProvider]\n});\n"],"names":["PluginModelsProviderImpl","cmsContext","accessControl","modelsProvider","tenant","modelPlugins","CmsModelPlugin","legacyModels","plugin","modelTenant","allowedLegacyModels","filterAsync","model","builderModels","tags","tag","PluginModelsProvider","ProviderAbstraction","CmsContext","AccessControl","ModelsProvider"],"mappings":";;;;;AAeA,MAAMA;IACF,YACYC,UAAgC,EAChCC,aAAsC,EACtCC,cAA+B,CACzC;aAHUF,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,KAAKC,MAAc,EAAuB;QAE5C,MAAMC,eAAe,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAiBC,eAAe,IAAI;QAEvF,MAAMC,eAAeF,aAChB,MAAM,CAACG,CAAAA;YACJ,MAAM,EAAE,QAAQC,WAAW,EAAE,GAAGD,OAAO,YAAY;YAEnD,IAAIC,eAAeA,gBAAgBL,QAC/B,OAAO;YAGX,OAAO;QACX,GACC,GAAG,CAACI,CAAAA,SACM;gBACH,GAAGA,OAAO,YAAY;gBACtB,MAAM,IAAI,CAAC,aAAa,CAACA,OAAO,YAAY;gBAC5CJ;YACJ;QAGR,MAAMM,sBAAsB,MAAMC,YAAYJ,cAAcK,CAAAA,QACjD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBAAEA;YAAM;QAIrD,MAAMC,gBAAgB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAACT;QAGrD,OAAO;eAAIM;eAAwBG;SAAc;IACrD;IAEQ,cAAcD,KAA6B,EAAE;QAGjD,MAAME,OAAOF,MAAM,IAAI,IAAI,EAAE;QAC7B,IAAI,CAACE,KAAK,IAAI,CAACC,CAAAA,MAAOA,IAAI,UAAU,CAAC,WACjCD,KAAK,IAAI,CAAC;QAGd,OAAOA;IACX;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAAwC,CAAC;IACzE,gBAAgBjB;IAChB,cAAc;QAACkB;QAAYC;QAAeC;KAAe;AAC7D"}
@@ -1,19 +1,7 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * PluginModelsProvider provides access to plugin-defined (code) models.
5
- */
6
-
7
- export const PluginModelsProvider = createAbstraction("PluginModelsProvider");
8
- export const ModelCache = createAbstraction("ModelCache");
9
-
10
- /**
11
- * ModelsFetcher - Centralized model fetching with caching.
12
- *
13
- * This abstraction handles fetching models from both plugins and database,
14
- * applies access control filtering, and caches the results for optimal performance.
15
- */
16
-
17
- export const ModelsFetcher = createAbstraction("ModelsFetcher");
2
+ const PluginModelsProvider = createAbstraction("PluginModelsProvider");
3
+ const ModelCache = createAbstraction("ModelCache");
4
+ const ModelsFetcher = createAbstraction("ModelsFetcher");
5
+ export { ModelCache, ModelsFetcher, PluginModelsProvider };
18
6
 
19
7
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","PluginModelsProvider","ModelCache","ModelsFetcher"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { ICache } from \"~/utils/caching/types.js\";\nimport { ModelNotFoundError, ModelPersistenceError } from \"~/domain/contentModel/errors.js\";\n\n/**\n * PluginModelsProvider provides access to plugin-defined (code) models.\n */\nexport interface IPluginModelsProvider {\n list(tenant: string): Promise<CmsModel[]>;\n}\n\nexport const PluginModelsProvider =\n createAbstraction<IPluginModelsProvider>(\"PluginModelsProvider\");\n\nexport namespace PluginModelsProvider {\n export type Interface = IPluginModelsProvider;\n}\n\nexport const ModelCache = createAbstraction<ICache<Promise<CmsModel[]>>>(\"ModelCache\");\n\nexport namespace ModelCache {\n export type Interface = ICache<Promise<CmsModel[]>>;\n}\n\n/**\n * ModelsFetcher - Centralized model fetching with caching.\n *\n * This abstraction handles fetching models from both plugins and database,\n * applies access control filtering, and caches the results for optimal performance.\n */\nexport interface IModelsFetcher {\n /**\n * Fetch all accessible models for the current tenant and identity.\n * Results are cached based on tenant + identity.\n */\n fetchAll(): Promise<Result<CmsModel[], ModelsFetcherError>>;\n\n /**\n * Fetch a single model by modelId.\n * Uses the cached fetchAll result.\n */\n fetchById(modelId: string): Promise<Result<CmsModel, ModelsFetcherError>>;\n}\n\nexport interface IModelsFetcherErrors {\n notFound: ModelNotFoundError;\n persistence: ModelPersistenceError;\n}\n\ntype ModelsFetcherError = IModelsFetcherErrors[keyof IModelsFetcherErrors];\n\nexport const ModelsFetcher = createAbstraction<IModelsFetcher>(\"ModelsFetcher\");\n\nexport namespace ModelsFetcher {\n export type Interface = IModelsFetcher;\n export type Error = ModelsFetcherError;\n\n export type FetchAllReturn = Promise<Result<CmsModel[], ModelsFetcherError>>;\n export type FetchByIdReturn = Promise<Result<CmsModel, ModelsFetcherError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAK/D;AACA;AACA;;AAKA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;AAMpE,OAAO,MAAME,UAAU,GAAGF,iBAAiB,CAA8B,YAAY,CAAC;;AAMtF;AACA;AACA;AACA;AACA;AACA;;AAsBA,OAAO,MAAMG,aAAa,GAAGH,iBAAiB,CAAiB,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModel/shared/abstractions.js","sources":["../../../../src/features/contentModel/shared/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { ICache } from \"~/utils/caching/types.js\";\nimport { ModelNotFoundError, ModelPersistenceError } from \"~/domain/contentModel/errors.js\";\n\n/**\n * PluginModelsProvider provides access to plugin-defined (code) models.\n */\nexport interface IPluginModelsProvider {\n list(tenant: string): Promise<CmsModel[]>;\n}\n\nexport const PluginModelsProvider =\n createAbstraction<IPluginModelsProvider>(\"PluginModelsProvider\");\n\nexport namespace PluginModelsProvider {\n export type Interface = IPluginModelsProvider;\n}\n\nexport const ModelCache = createAbstraction<ICache<Promise<CmsModel[]>>>(\"ModelCache\");\n\nexport namespace ModelCache {\n export type Interface = ICache<Promise<CmsModel[]>>;\n}\n\n/**\n * ModelsFetcher - Centralized model fetching with caching.\n *\n * This abstraction handles fetching models from both plugins and database,\n * applies access control filtering, and caches the results for optimal performance.\n */\nexport interface IModelsFetcher {\n /**\n * Fetch all accessible models for the current tenant and identity.\n * Results are cached based on tenant + identity.\n */\n fetchAll(): Promise<Result<CmsModel[], ModelsFetcherError>>;\n\n /**\n * Fetch a single model by modelId.\n * Uses the cached fetchAll result.\n */\n fetchById(modelId: string): Promise<Result<CmsModel, ModelsFetcherError>>;\n}\n\nexport interface IModelsFetcherErrors {\n notFound: ModelNotFoundError;\n persistence: ModelPersistenceError;\n}\n\ntype ModelsFetcherError = IModelsFetcherErrors[keyof IModelsFetcherErrors];\n\nexport const ModelsFetcher = createAbstraction<IModelsFetcher>(\"ModelsFetcher\");\n\nexport namespace ModelsFetcher {\n export type Interface = IModelsFetcher;\n export type Error = ModelsFetcherError;\n\n export type FetchAllReturn = Promise<Result<CmsModel[], ModelsFetcherError>>;\n export type FetchByIdReturn = Promise<Result<CmsModel, ModelsFetcherError>>;\n}\n"],"names":["PluginModelsProvider","createAbstraction","ModelCache","ModelsFetcher"],"mappings":";AAYO,MAAMA,uBACTC,kBAAyC;AAMtC,MAAMC,aAAaD,kBAA+C;AAiClE,MAAME,gBAAgBF,kBAAkC"}
@@ -7,22 +7,18 @@ import { DeleteGroupFeature } from "./DeleteGroup/feature.js";
7
7
  import { GroupCache } from "./shared/abstractions.js";
8
8
  import { PluginGroupsProvider } from "./shared/PluginGroupsProvider.js";
9
9
  import { createMemoryCache } from "../../utils/index.js";
10
- export const ContentModelGroupFeature = createFeature({
11
- name: "ContentModelGroup",
12
- register(container) {
13
- // Shared infrastructure (singletons)
14
- container.registerInstance(GroupCache, createMemoryCache());
15
- container.register(PluginGroupsProvider).inSingletonScope();
16
-
17
- // Query features
18
- GetGroupFeature.register(container);
19
- ListGroupsFeature.register(container);
20
-
21
- // Command features
22
- CreateGroupFeature.register(container);
23
- UpdateGroupFeature.register(container);
24
- DeleteGroupFeature.register(container);
25
- }
10
+ const ContentModelGroupFeature = createFeature({
11
+ name: "ContentModelGroup",
12
+ register (container) {
13
+ container.registerInstance(GroupCache, createMemoryCache());
14
+ container.register(PluginGroupsProvider).inSingletonScope();
15
+ GetGroupFeature.register(container);
16
+ ListGroupsFeature.register(container);
17
+ CreateGroupFeature.register(container);
18
+ UpdateGroupFeature.register(container);
19
+ DeleteGroupFeature.register(container);
20
+ }
26
21
  });
22
+ export { ContentModelGroupFeature };
27
23
 
28
24
  //# sourceMappingURL=ContentModelGroupFeature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetGroupFeature","ListGroupsFeature","CreateGroupFeature","UpdateGroupFeature","DeleteGroupFeature","GroupCache","PluginGroupsProvider","createMemoryCache","ContentModelGroupFeature","name","register","container","registerInstance","inSingletonScope"],"sources":["ContentModelGroupFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetGroupFeature } from \"~/features/contentModelGroup/GetGroup/feature.js\";\nimport { ListGroupsFeature } from \"~/features/contentModelGroup/ListGroups/feature.js\";\nimport { CreateGroupFeature } from \"~/features/contentModelGroup/CreateGroup/feature.js\";\nimport { UpdateGroupFeature } from \"~/features/contentModelGroup/UpdateGroup/feature.js\";\nimport { DeleteGroupFeature } from \"~/features/contentModelGroup/DeleteGroup/feature.js\";\nimport { GroupCache } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { PluginGroupsProvider } from \"~/features/contentModelGroup/shared/PluginGroupsProvider.js\";\nimport { createMemoryCache } from \"~/utils/index.js\";\n\nexport const ContentModelGroupFeature = createFeature({\n name: \"ContentModelGroup\",\n register(container) {\n // Shared infrastructure (singletons)\n container.registerInstance(GroupCache, createMemoryCache());\n container.register(PluginGroupsProvider).inSingletonScope();\n\n // Query features\n GetGroupFeature.register(container);\n ListGroupsFeature.register(container);\n\n // Command features\n CreateGroupFeature.register(container);\n UpdateGroupFeature.register(container);\n DeleteGroupFeature.register(container);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,UAAU;AACnB,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,wBAAwB,GAAGT,aAAa,CAAC;EAClDU,IAAI,EAAE,mBAAmB;EACzBC,QAAQA,CAACC,SAAS,EAAE;IAChB;IACAA,SAAS,CAACC,gBAAgB,CAACP,UAAU,EAAEE,iBAAiB,CAAC,CAAC,CAAC;IAC3DI,SAAS,CAACD,QAAQ,CAACJ,oBAAoB,CAAC,CAACO,gBAAgB,CAAC,CAAC;;IAE3D;IACAb,eAAe,CAACU,QAAQ,CAACC,SAAS,CAAC;IACnCV,iBAAiB,CAACS,QAAQ,CAACC,SAAS,CAAC;;IAErC;IACAT,kBAAkB,CAACQ,QAAQ,CAACC,SAAS,CAAC;IACtCR,kBAAkB,CAACO,QAAQ,CAACC,SAAS,CAAC;IACtCP,kBAAkB,CAACM,QAAQ,CAACC,SAAS,CAAC;EAC1C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModelGroup/ContentModelGroupFeature.js","sources":["../../../src/features/contentModelGroup/ContentModelGroupFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetGroupFeature } from \"~/features/contentModelGroup/GetGroup/feature.js\";\nimport { ListGroupsFeature } from \"~/features/contentModelGroup/ListGroups/feature.js\";\nimport { CreateGroupFeature } from \"~/features/contentModelGroup/CreateGroup/feature.js\";\nimport { UpdateGroupFeature } from \"~/features/contentModelGroup/UpdateGroup/feature.js\";\nimport { DeleteGroupFeature } from \"~/features/contentModelGroup/DeleteGroup/feature.js\";\nimport { GroupCache } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { PluginGroupsProvider } from \"~/features/contentModelGroup/shared/PluginGroupsProvider.js\";\nimport { createMemoryCache } from \"~/utils/index.js\";\n\nexport const ContentModelGroupFeature = createFeature({\n name: \"ContentModelGroup\",\n register(container) {\n // Shared infrastructure (singletons)\n container.registerInstance(GroupCache, createMemoryCache());\n container.register(PluginGroupsProvider).inSingletonScope();\n\n // Query features\n GetGroupFeature.register(container);\n ListGroupsFeature.register(container);\n\n // Command features\n CreateGroupFeature.register(container);\n UpdateGroupFeature.register(container);\n DeleteGroupFeature.register(container);\n }\n});\n"],"names":["ContentModelGroupFeature","createFeature","container","GroupCache","createMemoryCache","PluginGroupsProvider","GetGroupFeature","ListGroupsFeature","CreateGroupFeature","UpdateGroupFeature","DeleteGroupFeature"],"mappings":";;;;;;;;;AAUO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,gBAAgB,CAACC,YAAYC;QACvCF,UAAU,QAAQ,CAACG,sBAAsB,gBAAgB;QAGzDC,gBAAgB,QAAQ,CAACJ;QACzBK,kBAAkB,QAAQ,CAACL;QAG3BM,mBAAmB,QAAQ,CAACN;QAC5BO,mBAAmB,QAAQ,CAACP;QAC5BQ,mBAAmB,QAAQ,CAACR;IAChC;AACJ"}
@@ -1,107 +1,76 @@
1
- import { Result } from "@webiny/feature/api";
2
- import { createImplementation } from "@webiny/feature/api";
3
- import { CreateGroupRepository as RepositoryAbstraction } from "./abstractions.js";
4
- import { GroupCache } from "../shared/abstractions.js";
5
- import { PluginGroupsProvider } from "../shared/abstractions.js";
6
- import { GroupSlugTakenError } from "../../../domain/contentModelGroup/errors.js";
7
- import { GroupPersistenceError } from "../../../domain/contentModelGroup/errors.js";
1
+ import { Result, createImplementation } from "@webiny/feature/api";
2
+ import { CreateGroupRepository } from "./abstractions.js";
3
+ import { GroupCache, PluginGroupsProvider } from "../shared/abstractions.js";
4
+ import { GroupPersistenceError, GroupSlugTakenError } from "../../../domain/contentModelGroup/errors.js";
8
5
  import { StorageOperations } from "../../shared/abstractions.js";
9
6
  import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
10
7
  import { toSlug } from "../../../utils/toSlug.js";
11
8
  import { generateAlphaNumericId } from "@webiny/utils";
12
- /**
13
- * CreateGroupRepository - Validates and persists a new group.
14
- *
15
- * Responsibilities:
16
- * - Validate ID uniqueness (if provided)
17
- * - Validate slug uniqueness (or generate unique slug)
18
- * - Check for plugin group conflicts
19
- * - Persist to storage
20
- * - Clear GroupCache after successful create
21
- */
22
9
  class CreateGroupRepositoryImpl {
23
- constructor(groupCache, pluginGroupsProvider, storageOperations, tenantContext) {
24
- this.groupCache = groupCache;
25
- this.pluginGroupsProvider = pluginGroupsProvider;
26
- this.storageOperations = storageOperations;
27
- this.tenantContext = tenantContext;
28
- }
29
- async execute(group) {
30
- try {
31
- const tenant = this.tenantContext.getTenant();
32
-
33
- // 1. Validate ID uniqueness (if provided)
34
- if (group.id) {
35
- const existingById = await this.storageOperations.groups.list({
36
- where: {
37
- tenant: tenant.id,
38
- id: group.id
39
- }
40
- });
41
- if (existingById.length > 0) {
42
- return Result.fail(new GroupSlugTakenError(group.slug));
43
- }
44
- }
45
-
46
- // 2. Generate or validate slug
47
- const slugTaken = await this.isSlugTaken(group, tenant.id);
48
- if (slugTaken) {
49
- return Result.fail(new GroupSlugTakenError(group.slug));
50
- }
51
-
52
- // 3. Check for plugin group conflicts
53
- const pluginGroups = await this.pluginGroupsProvider.getGroups();
54
- const pluginGroupConflict = pluginGroups.find(pg => pg.slug === group.slug);
55
- if (pluginGroupConflict) {
56
- return Result.fail(new GroupSlugTakenError(group.slug));
57
- }
58
-
59
- // 4. Persist to storage
60
- await this.storageOperations.groups.create({
61
- group
62
- });
63
-
64
- // 5. Clear cache
65
- this.groupCache.clear();
66
- return Result.ok();
67
- } catch (error) {
68
- return Result.fail(new GroupPersistenceError(error));
10
+ constructor(groupCache, pluginGroupsProvider, storageOperations, tenantContext){
11
+ this.groupCache = groupCache;
12
+ this.pluginGroupsProvider = pluginGroupsProvider;
13
+ this.storageOperations = storageOperations;
14
+ this.tenantContext = tenantContext;
69
15
  }
70
- }
71
- async isSlugTaken(group, tenant) {
72
- // If slug is provided and not empty, validate it
73
- if (group.slug && group.slug.trim()) {
74
- const existingBySlug = await this.storageOperations.groups.list({
75
- where: {
76
- tenant,
77
- slug: group.slug
16
+ async execute(group) {
17
+ try {
18
+ const tenant = this.tenantContext.getTenant();
19
+ if (group.id) {
20
+ const existingById = await this.storageOperations.groups.list({
21
+ where: {
22
+ tenant: tenant.id,
23
+ id: group.id
24
+ }
25
+ });
26
+ if (existingById.length > 0) return Result.fail(new GroupSlugTakenError(group.slug));
27
+ }
28
+ const slugTaken = await this.isSlugTaken(group, tenant.id);
29
+ if (slugTaken) return Result.fail(new GroupSlugTakenError(group.slug));
30
+ const pluginGroups = await this.pluginGroupsProvider.getGroups();
31
+ const pluginGroupConflict = pluginGroups.find((pg)=>pg.slug === group.slug);
32
+ if (pluginGroupConflict) return Result.fail(new GroupSlugTakenError(group.slug));
33
+ await this.storageOperations.groups.create({
34
+ group
35
+ });
36
+ this.groupCache.clear();
37
+ return Result.ok();
38
+ } catch (error) {
39
+ return Result.fail(new GroupPersistenceError(error));
78
40
  }
79
- });
80
- return existingBySlug.length > 0;
81
41
  }
82
-
83
- // Generate slug from name
84
- const baseSlug = toSlug(group.name);
85
- const existingBySlug = await this.storageOperations.groups.list({
86
- where: {
87
- tenant,
88
- slug: baseSlug
89
- }
90
- });
91
- if (existingBySlug.length === 0) {
92
- // No conflict, use base slug
93
- group.slug = baseSlug;
94
- } else {
95
- // Conflict, append random suffix
96
- group.slug = `${baseSlug}-${generateAlphaNumericId(8)}`;
42
+ async isSlugTaken(group, tenant) {
43
+ if (group.slug && group.slug.trim()) {
44
+ const existingBySlug = await this.storageOperations.groups.list({
45
+ where: {
46
+ tenant,
47
+ slug: group.slug
48
+ }
49
+ });
50
+ return existingBySlug.length > 0;
51
+ }
52
+ const baseSlug = toSlug(group.name);
53
+ const existingBySlug = await this.storageOperations.groups.list({
54
+ where: {
55
+ tenant,
56
+ slug: baseSlug
57
+ }
58
+ });
59
+ if (0 === existingBySlug.length) group.slug = baseSlug;
60
+ else group.slug = `${baseSlug}-${generateAlphaNumericId(8)}`;
61
+ return false;
97
62
  }
98
- return false;
99
- }
100
63
  }
101
- export const CreateGroupRepository = createImplementation({
102
- abstraction: RepositoryAbstraction,
103
- implementation: CreateGroupRepositoryImpl,
104
- dependencies: [GroupCache, PluginGroupsProvider, StorageOperations, TenantContext]
64
+ const CreateGroupRepository_CreateGroupRepository = createImplementation({
65
+ abstraction: CreateGroupRepository,
66
+ implementation: CreateGroupRepositoryImpl,
67
+ dependencies: [
68
+ GroupCache,
69
+ PluginGroupsProvider,
70
+ StorageOperations,
71
+ TenantContext
72
+ ]
105
73
  });
74
+ export { CreateGroupRepository_CreateGroupRepository as CreateGroupRepository };
106
75
 
107
76
  //# sourceMappingURL=CreateGroupRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createImplementation","CreateGroupRepository","RepositoryAbstraction","GroupCache","PluginGroupsProvider","GroupSlugTakenError","GroupPersistenceError","StorageOperations","TenantContext","toSlug","generateAlphaNumericId","CreateGroupRepositoryImpl","constructor","groupCache","pluginGroupsProvider","storageOperations","tenantContext","execute","group","tenant","getTenant","id","existingById","groups","list","where","length","fail","slug","slugTaken","isSlugTaken","pluginGroups","getGroups","pluginGroupConflict","find","pg","create","clear","ok","error","trim","existingBySlug","baseSlug","name","abstraction","implementation","dependencies"],"sources":["CreateGroupRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { CreateGroupRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { GroupCache } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { PluginGroupsProvider } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { GroupSlugTakenError } from \"~/domain/contentModelGroup/errors.js\";\nimport { GroupPersistenceError } from \"~/domain/contentModelGroup/errors.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { toSlug } from \"~/utils/toSlug.js\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * CreateGroupRepository - Validates and persists a new group.\n *\n * Responsibilities:\n * - Validate ID uniqueness (if provided)\n * - Validate slug uniqueness (or generate unique slug)\n * - Check for plugin group conflicts\n * - Persist to storage\n * - Clear GroupCache after successful create\n */\nclass CreateGroupRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private groupCache: GroupCache.Interface,\n private pluginGroupsProvider: PluginGroupsProvider.Interface,\n private storageOperations: StorageOperations.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(group: CmsGroup): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n const tenant = this.tenantContext.getTenant();\n\n // 1. Validate ID uniqueness (if provided)\n if (group.id) {\n const existingById = await this.storageOperations.groups.list({\n where: {\n tenant: tenant.id,\n id: group.id\n }\n });\n\n if (existingById.length > 0) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n }\n\n // 2. Generate or validate slug\n const slugTaken = await this.isSlugTaken(group, tenant.id);\n if (slugTaken) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n\n // 3. Check for plugin group conflicts\n const pluginGroups = await this.pluginGroupsProvider.getGroups();\n const pluginGroupConflict = pluginGroups.find(pg => pg.slug === group.slug);\n if (pluginGroupConflict) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n\n // 4. Persist to storage\n await this.storageOperations.groups.create({ group });\n\n // 5. Clear cache\n this.groupCache.clear();\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new GroupPersistenceError(error as Error));\n }\n }\n\n private async isSlugTaken(group: CmsGroup, tenant: string): Promise<boolean> {\n // If slug is provided and not empty, validate it\n if (group.slug && group.slug.trim()) {\n const existingBySlug = await this.storageOperations.groups.list({\n where: {\n tenant,\n slug: group.slug\n }\n });\n\n return existingBySlug.length > 0;\n }\n\n // Generate slug from name\n const baseSlug = toSlug(group.name);\n const existingBySlug = await this.storageOperations.groups.list({\n where: {\n tenant,\n slug: baseSlug\n }\n });\n\n if (existingBySlug.length === 0) {\n // No conflict, use base slug\n group.slug = baseSlug;\n } else {\n // Conflict, append random suffix\n group.slug = `${baseSlug}-${generateAlphaNumericId(8)}`;\n }\n\n return false;\n }\n}\n\nexport const CreateGroupRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: CreateGroupRepositoryImpl,\n dependencies: [GroupCache, PluginGroupsProvider, StorageOperations, TenantContext]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,qBAAqB,IAAIC,qBAAqB;AACvD,SAASC,UAAU;AACnB,SAASC,oBAAoB;AAC7B,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,aAAa,QAAQ,0DAA0D;AACxF,SAASC,MAAM;AACf,SAASC,sBAAsB,QAAQ,eAAe;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,CAA4C;EAChEC,WAAWA,CACNC,UAAgC,EAChCC,oBAAoD,EACpDC,iBAA8C,EAC9CC,aAAsC,EAChD;IAAA,KAJUH,UAAgC,GAAhCA,UAAgC;IAAA,KAChCC,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,iBAA8C,GAA9CA,iBAA8C;IAAA,KAC9CC,aAAsC,GAAtCA,aAAsC;EAC/C;EAEH,MAAMC,OAAOA,CAACC,KAAe,EAAsD;IAC/E,IAAI;MACA,MAAMC,MAAM,GAAG,IAAI,CAACH,aAAa,CAACI,SAAS,CAAC,CAAC;;MAE7C;MACA,IAAIF,KAAK,CAACG,EAAE,EAAE;QACV,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACP,iBAAiB,CAACQ,MAAM,CAACC,IAAI,CAAC;UAC1DC,KAAK,EAAE;YACHN,MAAM,EAAEA,MAAM,CAACE,EAAE;YACjBA,EAAE,EAAEH,KAAK,CAACG;UACd;QACJ,CAAC,CAAC;QAEF,IAAIC,YAAY,CAACI,MAAM,GAAG,CAAC,EAAE;UACzB,OAAO3B,MAAM,CAAC4B,IAAI,CAAC,IAAItB,mBAAmB,CAACa,KAAK,CAACU,IAAI,CAAC,CAAC;QAC3D;MACJ;;MAEA;MACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,WAAW,CAACZ,KAAK,EAAEC,MAAM,CAACE,EAAE,CAAC;MAC1D,IAAIQ,SAAS,EAAE;QACX,OAAO9B,MAAM,CAAC4B,IAAI,CAAC,IAAItB,mBAAmB,CAACa,KAAK,CAACU,IAAI,CAAC,CAAC;MAC3D;;MAEA;MACA,MAAMG,YAAY,GAAG,MAAM,IAAI,CAACjB,oBAAoB,CAACkB,SAAS,CAAC,CAAC;MAChE,MAAMC,mBAAmB,GAAGF,YAAY,CAACG,IAAI,CAACC,EAAE,IAAIA,EAAE,CAACP,IAAI,KAAKV,KAAK,CAACU,IAAI,CAAC;MAC3E,IAAIK,mBAAmB,EAAE;QACrB,OAAOlC,MAAM,CAAC4B,IAAI,CAAC,IAAItB,mBAAmB,CAACa,KAAK,CAACU,IAAI,CAAC,CAAC;MAC3D;;MAEA;MACA,MAAM,IAAI,CAACb,iBAAiB,CAACQ,MAAM,CAACa,MAAM,CAAC;QAAElB;MAAM,CAAC,CAAC;;MAErD;MACA,IAAI,CAACL,UAAU,CAACwB,KAAK,CAAC,CAAC;MAEvB,OAAOtC,MAAM,CAACuC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,OAAOxC,MAAM,CAAC4B,IAAI,CAAC,IAAIrB,qBAAqB,CAACiC,KAAc,CAAC,CAAC;IACjE;EACJ;EAEA,MAAcT,WAAWA,CAACZ,KAAe,EAAEC,MAAc,EAAoB;IACzE;IACA,IAAID,KAAK,CAACU,IAAI,IAAIV,KAAK,CAACU,IAAI,CAACY,IAAI,CAAC,CAAC,EAAE;MACjC,MAAMC,cAAc,GAAG,MAAM,IAAI,CAAC1B,iBAAiB,CAACQ,MAAM,CAACC,IAAI,CAAC;QAC5DC,KAAK,EAAE;UACHN,MAAM;UACNS,IAAI,EAAEV,KAAK,CAACU;QAChB;MACJ,CAAC,CAAC;MAEF,OAAOa,cAAc,CAACf,MAAM,GAAG,CAAC;IACpC;;IAEA;IACA,MAAMgB,QAAQ,GAAGjC,MAAM,CAACS,KAAK,CAACyB,IAAI,CAAC;IACnC,MAAMF,cAAc,GAAG,MAAM,IAAI,CAAC1B,iBAAiB,CAACQ,MAAM,CAACC,IAAI,CAAC;MAC5DC,KAAK,EAAE;QACHN,MAAM;QACNS,IAAI,EAAEc;MACV;IACJ,CAAC,CAAC;IAEF,IAAID,cAAc,CAACf,MAAM,KAAK,CAAC,EAAE;MAC7B;MACAR,KAAK,CAACU,IAAI,GAAGc,QAAQ;IACzB,CAAC,MAAM;MACH;MACAxB,KAAK,CAACU,IAAI,GAAG,GAAGc,QAAQ,IAAIhC,sBAAsB,CAAC,CAAC,CAAC,EAAE;IAC3D;IAEA,OAAO,KAAK;EAChB;AACJ;AAEA,OAAO,MAAMT,qBAAqB,GAAGD,oBAAoB,CAAC;EACtD4C,WAAW,EAAE1C,qBAAqB;EAClC2C,cAAc,EAAElC,yBAAyB;EACzCmC,YAAY,EAAE,CAAC3C,UAAU,EAAEC,oBAAoB,EAAEG,iBAAiB,EAAEC,aAAa;AACrF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/contentModelGroup/CreateGroup/CreateGroupRepository.js","sources":["../../../../src/features/contentModelGroup/CreateGroup/CreateGroupRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { CreateGroupRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { GroupCache } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { PluginGroupsProvider } from \"~/features/contentModelGroup/shared/abstractions.js\";\nimport { GroupSlugTakenError } from \"~/domain/contentModelGroup/errors.js\";\nimport { GroupPersistenceError } from \"~/domain/contentModelGroup/errors.js\";\nimport { StorageOperations } from \"~/features/shared/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { toSlug } from \"~/utils/toSlug.js\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\nimport type { CmsGroup } from \"~/types/index.js\";\n\n/**\n * CreateGroupRepository - Validates and persists a new group.\n *\n * Responsibilities:\n * - Validate ID uniqueness (if provided)\n * - Validate slug uniqueness (or generate unique slug)\n * - Check for plugin group conflicts\n * - Persist to storage\n * - Clear GroupCache after successful create\n */\nclass CreateGroupRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private groupCache: GroupCache.Interface,\n private pluginGroupsProvider: PluginGroupsProvider.Interface,\n private storageOperations: StorageOperations.Interface,\n private tenantContext: TenantContext.Interface\n ) {}\n\n async execute(group: CmsGroup): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n const tenant = this.tenantContext.getTenant();\n\n // 1. Validate ID uniqueness (if provided)\n if (group.id) {\n const existingById = await this.storageOperations.groups.list({\n where: {\n tenant: tenant.id,\n id: group.id\n }\n });\n\n if (existingById.length > 0) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n }\n\n // 2. Generate or validate slug\n const slugTaken = await this.isSlugTaken(group, tenant.id);\n if (slugTaken) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n\n // 3. Check for plugin group conflicts\n const pluginGroups = await this.pluginGroupsProvider.getGroups();\n const pluginGroupConflict = pluginGroups.find(pg => pg.slug === group.slug);\n if (pluginGroupConflict) {\n return Result.fail(new GroupSlugTakenError(group.slug));\n }\n\n // 4. Persist to storage\n await this.storageOperations.groups.create({ group });\n\n // 5. Clear cache\n this.groupCache.clear();\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new GroupPersistenceError(error as Error));\n }\n }\n\n private async isSlugTaken(group: CmsGroup, tenant: string): Promise<boolean> {\n // If slug is provided and not empty, validate it\n if (group.slug && group.slug.trim()) {\n const existingBySlug = await this.storageOperations.groups.list({\n where: {\n tenant,\n slug: group.slug\n }\n });\n\n return existingBySlug.length > 0;\n }\n\n // Generate slug from name\n const baseSlug = toSlug(group.name);\n const existingBySlug = await this.storageOperations.groups.list({\n where: {\n tenant,\n slug: baseSlug\n }\n });\n\n if (existingBySlug.length === 0) {\n // No conflict, use base slug\n group.slug = baseSlug;\n } else {\n // Conflict, append random suffix\n group.slug = `${baseSlug}-${generateAlphaNumericId(8)}`;\n }\n\n return false;\n }\n}\n\nexport const CreateGroupRepository = createImplementation({\n abstraction: RepositoryAbstraction,\n implementation: CreateGroupRepositoryImpl,\n dependencies: [GroupCache, PluginGroupsProvider, StorageOperations, TenantContext]\n});\n"],"names":["CreateGroupRepositoryImpl","groupCache","pluginGroupsProvider","storageOperations","tenantContext","group","tenant","existingById","Result","GroupSlugTakenError","slugTaken","pluginGroups","pluginGroupConflict","pg","error","GroupPersistenceError","existingBySlug","baseSlug","toSlug","generateAlphaNumericId","CreateGroupRepository","createImplementation","RepositoryAbstraction","GroupCache","PluginGroupsProvider","StorageOperations","TenantContext"],"mappings":";;;;;;;;AAuBA,MAAMA;IACF,YACYC,UAAgC,EAChCC,oBAAoD,EACpDC,iBAA8C,EAC9CC,aAAsC,CAChD;aAJUH,UAAU,GAAVA;aACAC,oBAAoB,GAApBA;aACAC,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,KAAe,EAAsD;QAC/E,IAAI;YACA,MAAMC,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS;YAG3C,IAAID,MAAM,EAAE,EAAE;gBACV,MAAME,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC1D,OAAO;wBACH,QAAQD,OAAO,EAAE;wBACjB,IAAID,MAAM,EAAE;oBAChB;gBACJ;gBAEA,IAAIE,aAAa,MAAM,GAAG,GACtB,OAAOC,OAAO,IAAI,CAAC,IAAIC,oBAAoBJ,MAAM,IAAI;YAE7D;YAGA,MAAMK,YAAY,MAAM,IAAI,CAAC,WAAW,CAACL,OAAOC,OAAO,EAAE;YACzD,IAAII,WACA,OAAOF,OAAO,IAAI,CAAC,IAAIC,oBAAoBJ,MAAM,IAAI;YAIzD,MAAMM,eAAe,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS;YAC9D,MAAMC,sBAAsBD,aAAa,IAAI,CAACE,CAAAA,KAAMA,GAAG,IAAI,KAAKR,MAAM,IAAI;YAC1E,IAAIO,qBACA,OAAOJ,OAAO,IAAI,CAAC,IAAIC,oBAAoBJ,MAAM,IAAI;YAIzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAEA;YAAM;YAGnD,IAAI,CAAC,UAAU,CAAC,KAAK;YAErB,OAAOG,OAAO,EAAE;QACpB,EAAE,OAAOM,OAAO;YACZ,OAAON,OAAO,IAAI,CAAC,IAAIO,sBAAsBD;QACjD;IACJ;IAEA,MAAc,YAAYT,KAAe,EAAEC,MAAc,EAAoB;QAEzE,IAAID,MAAM,IAAI,IAAIA,MAAM,IAAI,CAAC,IAAI,IAAI;YACjC,MAAMW,iBAAiB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5D,OAAO;oBACHV;oBACA,MAAMD,MAAM,IAAI;gBACpB;YACJ;YAEA,OAAOW,eAAe,MAAM,GAAG;QACnC;QAGA,MAAMC,WAAWC,OAAOb,MAAM,IAAI;QAClC,MAAMW,iBAAiB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5D,OAAO;gBACHV;gBACA,MAAMW;YACV;QACJ;QAEA,IAAID,AAA0B,MAA1BA,eAAe,MAAM,EAErBX,MAAM,IAAI,GAAGY;aAGbZ,MAAM,IAAI,GAAG,GAAGY,SAAS,CAAC,EAAEE,uBAAuB,IAAI;QAG3D,OAAO;IACX;AACJ;AAEO,MAAMC,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBtB;IAChB,cAAc;QAACuB;QAAYC;QAAsBC;QAAmBC;KAAc;AACtF"}