@webiny/api-headless-cms 6.3.0 → 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":["NotAuthorizedError","AccessControl","constructor","getIdentity","getGroupsPermissions","getModelsPermissions","getEntriesPermissions","listAllGroups","fullAccessPermissions","listAllGroupsCallback","allGroups","canAccessGroup","params","acl","getGroupsAccessControlList","canRead","find","ace","rwd","includes","hasRwd","canAccessNonOwnedGroups","some","canAccessNonOwned","canAccessOnlyOwnedGroups","hasFullAccessToGroups","canAccessOnlyOwned","groupsPermissionsList","groupsPermissions","own","modelGroupCreatedBy","group","createdBy","identity","id","push","groups","Array","isArray","permissions","p","filter","Boolean","name","canAccessModel","getModelsAccessControlList","ensureCanAccessModel","canAccess","modelName","model","canAccessNonOwnedModels","canAccessOnlyOwnedModels","hasFullAccessToModels","i","length","modelsPermissionsList","relatedModelPermissions","_src","getGroup","fullAccess","models","modelCreatedBy","modelId","modelAuthorizationDisabled","canAccessEntry","getEntriesAccessControlList","pw","hasPw","ensureCanAccessEntry","entry","entryId","canAccessNonOwnedEntries","canAccessOnlyOwnedEntries","hasFullAccessToEntries","groupPermissions","relatedModelsPermissions","entriesPermissionsList","relatedEntriesPermissions","groupCreatedBy","entryCreatedBy","authorization","slug"],"sources":["AccessControl.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryPermission,\n CmsGroup,\n CmsGroupPermission,\n CmsModel,\n CmsModelPermission\n} from \"~/types/index.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\n\nexport interface AccessControlParams {\n getIdentity: () => Promise<SecurityIdentity>;\n getGroupsPermissions: () => Promise<CmsGroupPermission[]>;\n getModelsPermissions: () => Promise<CmsModelPermission[]>;\n getEntriesPermissions: () => Promise<CmsEntryPermission[]>;\n listAllGroups: () => Promise<CmsGroup[]>;\n}\n\ninterface GetGroupsAccessControlListParams {\n group?: CmsGroup;\n}\n\ninterface CanAccessGroupParams extends GetGroupsAccessControlListParams {\n rwd?: string;\n}\n\ninterface GetModelsAccessControlListParams {\n model?: CmsModel;\n}\n\ninterface CanAccessModelParams extends GetModelsAccessControlListParams {\n rwd?: string;\n}\n\ninterface GetEntriesAccessControlListParams {\n model: Pick<CmsModel, \"modelId\" | \"createdBy\" | \"group\" | \"authorization\">;\n entry?: Pick<CmsEntry, \"entryId\" | \"createdBy\">;\n}\n\nexport interface CanAccessEntryParams extends GetEntriesAccessControlListParams {\n rwd?: string;\n pw?: string;\n}\n\ninterface AccessControlEntry {\n rwd: string;\n canAccessNonOwned: boolean;\n canAccessOnlyOwned: boolean;\n}\n\ntype AccessControlList = AccessControlEntry[];\n\ninterface EntriesAccessControlEntry extends AccessControlEntry {\n pw?: string;\n}\n\ntype EntriesAccessControlList = EntriesAccessControlEntry[];\n\ninterface IModelAuthorizationDisabledParams {\n model: Pick<CmsModel, \"authorization\">;\n}\n\nexport class AccessControl {\n private getIdentity: AccessControlParams[\"getIdentity\"];\n private getGroupsPermissions: AccessControlParams[\"getGroupsPermissions\"];\n private getModelsPermissions: AccessControlParams[\"getModelsPermissions\"];\n private getEntriesPermissions: AccessControlParams[\"getEntriesPermissions\"];\n private listAllGroupsCallback: AccessControlParams[\"listAllGroups\"];\n\n private fullAccessPermissions: string[];\n private allGroups: null | Promise<CmsGroup[]>;\n\n constructor({\n getIdentity,\n getGroupsPermissions,\n getModelsPermissions,\n getEntriesPermissions,\n listAllGroups\n }: AccessControlParams) {\n this.getIdentity = getIdentity;\n this.getGroupsPermissions = getGroupsPermissions;\n this.getModelsPermissions = getModelsPermissions;\n this.getEntriesPermissions = getEntriesPermissions;\n this.fullAccessPermissions = [\"*\", \"cms.*\"];\n this.listAllGroupsCallback = listAllGroups;\n this.allGroups = null;\n }\n\n /**\n * Groups-related methods below. 👇\n * - canAccessGroup\n * - ensureCanAccessGroup\n * - canAccessNonOwnedGroups\n * - canAccessOnlyOwnedGroups\n * - getGroupsAccessControlList\n * - hasFullAccessToGroups\n */\n\n async canAccessGroup(params: CanAccessGroupParams = {}) {\n const acl = await this.getGroupsAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd?.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n return true;\n }\n\n private async canAccessNonOwnedGroups(params: GetGroupsAccessControlListParams) {\n const acl = await this.getGroupsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n private async canAccessOnlyOwnedGroups(params: GetGroupsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedGroups(params);\n return !canAccessNonOwned;\n }\n\n private async getGroupsAccessControlList(\n params: GetGroupsAccessControlListParams\n ): Promise<AccessControlList> {\n if (await this.hasFullAccessToGroups()) {\n return [{ rwd: \"rwd\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: AccessControlList = [];\n\n for (const groupsPermissions of groupsPermissionsList) {\n if (groupsPermissions.own) {\n if (\"group\" in params) {\n const modelGroupCreatedBy = params.group?.createdBy;\n if (!modelGroupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n\n if (modelGroupCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n }\n\n if (groupsPermissions.groups) {\n if (\"group\" in params) {\n const { group } = params;\n if (!group) {\n continue;\n }\n\n const { groups } = groupsPermissions;\n if (!Array.isArray(groups)) {\n continue;\n }\n\n if (!groups.includes(group.id)) {\n continue;\n }\n }\n }\n\n acl.push({\n rwd: groupsPermissions.rwd as string,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToGroups() {\n const permissions = await this.getGroupsPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n /**\n * Models-related methods below. 👇\n * - canAccessModel\n * - ensureCanAccessModel\n * - canAccessNonOwnedModels\n * - canAccessOnlyOwnedModels\n * - getModelsAccessControlList\n * - hasFullAccessToModels\n */\n\n async canAccessModel(params: CanAccessModelParams) {\n const acl = await this.getModelsAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n return true;\n }\n\n private async ensureCanAccessModel(params: CanAccessModelParams = {}) {\n const canAccess = await this.canAccessModel(params);\n if (canAccess) {\n return;\n }\n\n if (\"model\" in params) {\n let modelName = \"(could not determine name)\";\n if (params.model?.name) {\n modelName = `\"${params.model.name}\"`;\n }\n\n throw new NotAuthorizedError(`Not allowed to access content model ${modelName}.`);\n }\n\n throw new NotAuthorizedError(`Not allowed to access content models.`);\n }\n\n private async canAccessNonOwnedModels(params: GetModelsAccessControlListParams) {\n const acl = await this.getModelsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n private async canAccessOnlyOwnedModels(params: GetModelsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedModels(params);\n return !canAccessNonOwned;\n }\n\n private async getModelsAccessControlList(\n params: GetModelsAccessControlListParams\n ): Promise<AccessControlList> {\n if (await this.hasFullAccessToModels(params)) {\n return [{ rwd: \"rwd\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: AccessControlList = [];\n\n for (let i = 0; i < groupsPermissionsList.length; i++) {\n const groupsPermissions = groupsPermissionsList[i];\n\n const modelsPermissionsList = await this.getModelsPermissions();\n const relatedModelPermissions = modelsPermissionsList.find(\n permissions => permissions._src === groupsPermissions._src\n );\n\n if (!relatedModelPermissions) {\n continue;\n }\n\n if (groupsPermissions.own) {\n if (\"model\" in params) {\n const { model } = params;\n if (!model) {\n continue;\n }\n\n const group = await this.getGroup(model.group);\n if (!group) {\n continue;\n }\n\n const modelGroupCreatedBy = group.createdBy;\n if (!modelGroupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelGroupCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n\n continue;\n }\n\n if (groupsPermissions.groups) {\n if (\"model\" in params) {\n const { model } = params;\n if (!model) {\n continue;\n }\n\n if (!Array.isArray(groupsPermissions.groups)) {\n continue;\n }\n\n if (!groupsPermissions.groups.includes(model.group)) {\n continue;\n }\n }\n }\n\n const fullAccess =\n !relatedModelPermissions.rwd &&\n !relatedModelPermissions.own &&\n !relatedModelPermissions.models;\n\n if (fullAccess) {\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n\n continue;\n }\n\n if (relatedModelPermissions.own) {\n if (\"model\" in params) {\n if (!params.model) {\n continue;\n }\n\n const modelCreatedBy = params.model.createdBy;\n if (!modelCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n\n continue;\n }\n\n if (relatedModelPermissions.models) {\n const { models } = relatedModelPermissions;\n if (\"model\" in params) {\n if (!params.model) {\n continue;\n }\n\n if (!Array.isArray(models)) {\n continue;\n }\n\n if (!models.includes(params.model.modelId)) {\n continue;\n }\n }\n }\n\n acl.push({\n rwd: relatedModelPermissions.rwd as string,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToModels(params: GetModelsAccessControlListParams) {\n const { model } = params;\n if (model) {\n if (this.modelAuthorizationDisabled({ model })) {\n return true;\n }\n }\n\n const permissions = await this.getModelsPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n /**\n * Entries-related methods below. 👇\n * - canAccessEntry\n * - ensureCanAccessEntry\n * - canAccessNonOwnedEntries\n * - canAccessOnlyOwnedEntries\n * - getEntriesAccessControlList\n * - hasFullAccessToEntries\n */\n\n async canAccessEntry(params: CanAccessEntryParams) {\n const acl = await this.getEntriesAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n const { pw } = params;\n if (pw) {\n const hasPw = acl.find(ace => ace.pw?.includes(pw));\n if (!hasPw) {\n return false;\n }\n }\n\n return true;\n }\n\n private async ensureCanAccessEntry(params: CanAccessEntryParams) {\n const canAccess = await this.canAccessEntry(params);\n if (!canAccess) {\n if (params.entry) {\n throw new NotAuthorizedError(\n `Not allowed to access entry \"${params.entry.entryId}\".`\n );\n }\n\n throw new NotAuthorizedError(\n `Not allowed to access \"${params.model.modelId}\" entries.`\n );\n }\n }\n\n private async canAccessNonOwnedEntries(params: GetEntriesAccessControlListParams) {\n const acl = await this.getEntriesAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n async canAccessOnlyOwnedEntries(params: GetEntriesAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedEntries(params);\n return !canAccessNonOwned;\n }\n\n private async getEntriesAccessControlList(\n params: GetEntriesAccessControlListParams\n ): Promise<EntriesAccessControlList> {\n if (await this.hasFullAccessToEntries(params)) {\n return [{ rwd: \"rwd\", pw: \"pu\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n // We need a map of groups slugs to ids, to perform checks on models\n const { model } = params;\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: EntriesAccessControlList = [];\n\n for (let i = 0; i < groupsPermissionsList.length; i++) {\n const groupPermissions = groupsPermissionsList[i];\n\n const modelsPermissionsList = await this.getModelsPermissions();\n const relatedModelsPermissions = modelsPermissionsList.find(\n permissions => permissions._src === groupPermissions._src\n );\n\n if (!relatedModelsPermissions) {\n continue;\n }\n\n const entriesPermissionsList = await this.getEntriesPermissions();\n const relatedEntriesPermissions = entriesPermissionsList.find(\n permissions => permissions._src === groupPermissions._src\n );\n\n if (!relatedEntriesPermissions) {\n continue;\n }\n\n if (groupPermissions.own) {\n const group = await this.getGroup(model.group);\n if (!group) {\n continue;\n }\n\n const groupCreatedBy = group.createdBy;\n if (!groupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (groupCreatedBy.id !== identity.id) {\n continue;\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n\n continue;\n }\n\n if (groupPermissions.groups) {\n const { groups } = groupPermissions;\n\n if (!Array.isArray(groups)) {\n continue;\n }\n\n if (!groups.includes(model.group)) {\n continue;\n }\n }\n\n if (relatedModelsPermissions.own) {\n const modelCreatedBy = model.createdBy;\n if (!modelCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelCreatedBy.id !== identity.id) {\n continue;\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n }\n\n if (relatedModelsPermissions.models) {\n if (!Array.isArray(relatedModelsPermissions.models)) {\n continue;\n }\n\n if (!relatedModelsPermissions.models.includes(model.modelId)) {\n continue;\n }\n }\n\n const fullAccess =\n !relatedEntriesPermissions.rwd &&\n !relatedEntriesPermissions.own &&\n !relatedEntriesPermissions.models;\n\n if (fullAccess) {\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: \"pu\"\n });\n\n continue;\n }\n\n if (relatedEntriesPermissions.own) {\n if (\"entry\" in params) {\n const entryCreatedBy = params.entry?.createdBy;\n if (!entryCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (entryCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: relatedEntriesPermissions.rwd,\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n\n continue;\n }\n\n acl.push({\n rwd: relatedEntriesPermissions.rwd,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false,\n pw: relatedEntriesPermissions.pw\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToEntries(params: GetEntriesAccessControlListParams) {\n if (this.modelAuthorizationDisabled(params)) {\n return true;\n }\n\n const permissions = await this.getEntriesPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n private modelAuthorizationDisabled(params: IModelAuthorizationDisabledParams) {\n if (\"authorization\" in params.model) {\n const { authorization } = params.model;\n if (typeof authorization === \"boolean\") {\n return authorization === false;\n }\n\n return authorization?.permissions === false;\n }\n\n return false;\n }\n\n private async listAllGroups(): Promise<CmsGroup[]> {\n if (this.allGroups === null) {\n this.allGroups = this.listAllGroupsCallback();\n }\n\n return this.allGroups;\n }\n\n private async getGroup(slug: string): Promise<CmsGroup | undefined> {\n const groups = await this.listAllGroups();\n return groups.find(group => group.slug === slug);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"crud/AccessControl/AccessControl.js","sources":["../../../src/crud/AccessControl/AccessControl.ts"],"sourcesContent":["import type {\n CmsEntry,\n CmsEntryPermission,\n CmsGroup,\n CmsGroupPermission,\n CmsModel,\n CmsModelPermission\n} from \"~/types/index.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport { NotAuthorizedError } from \"~/utils/errors.js\";\n\nexport interface AccessControlParams {\n getIdentity: () => Promise<SecurityIdentity>;\n getGroupsPermissions: () => Promise<CmsGroupPermission[]>;\n getModelsPermissions: () => Promise<CmsModelPermission[]>;\n getEntriesPermissions: () => Promise<CmsEntryPermission[]>;\n listAllGroups: () => Promise<CmsGroup[]>;\n}\n\ninterface GetGroupsAccessControlListParams {\n group?: CmsGroup;\n}\n\ninterface CanAccessGroupParams extends GetGroupsAccessControlListParams {\n rwd?: string;\n}\n\ninterface GetModelsAccessControlListParams {\n model?: CmsModel;\n}\n\ninterface CanAccessModelParams extends GetModelsAccessControlListParams {\n rwd?: string;\n}\n\ninterface GetEntriesAccessControlListParams {\n model: Pick<CmsModel, \"modelId\" | \"createdBy\" | \"group\" | \"authorization\">;\n entry?: Pick<CmsEntry, \"entryId\" | \"createdBy\">;\n}\n\nexport interface CanAccessEntryParams extends GetEntriesAccessControlListParams {\n rwd?: string;\n pw?: string;\n}\n\ninterface AccessControlEntry {\n rwd: string;\n canAccessNonOwned: boolean;\n canAccessOnlyOwned: boolean;\n}\n\ntype AccessControlList = AccessControlEntry[];\n\ninterface EntriesAccessControlEntry extends AccessControlEntry {\n pw?: string;\n}\n\ntype EntriesAccessControlList = EntriesAccessControlEntry[];\n\ninterface IModelAuthorizationDisabledParams {\n model: Pick<CmsModel, \"authorization\">;\n}\n\nexport class AccessControl {\n private getIdentity: AccessControlParams[\"getIdentity\"];\n private getGroupsPermissions: AccessControlParams[\"getGroupsPermissions\"];\n private getModelsPermissions: AccessControlParams[\"getModelsPermissions\"];\n private getEntriesPermissions: AccessControlParams[\"getEntriesPermissions\"];\n private listAllGroupsCallback: AccessControlParams[\"listAllGroups\"];\n\n private fullAccessPermissions: string[];\n private allGroups: null | Promise<CmsGroup[]>;\n\n constructor({\n getIdentity,\n getGroupsPermissions,\n getModelsPermissions,\n getEntriesPermissions,\n listAllGroups\n }: AccessControlParams) {\n this.getIdentity = getIdentity;\n this.getGroupsPermissions = getGroupsPermissions;\n this.getModelsPermissions = getModelsPermissions;\n this.getEntriesPermissions = getEntriesPermissions;\n this.fullAccessPermissions = [\"*\", \"cms.*\"];\n this.listAllGroupsCallback = listAllGroups;\n this.allGroups = null;\n }\n\n /**\n * Groups-related methods below. 👇\n * - canAccessGroup\n * - ensureCanAccessGroup\n * - canAccessNonOwnedGroups\n * - canAccessOnlyOwnedGroups\n * - getGroupsAccessControlList\n * - hasFullAccessToGroups\n */\n\n async canAccessGroup(params: CanAccessGroupParams = {}) {\n const acl = await this.getGroupsAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd?.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n return true;\n }\n\n private async canAccessNonOwnedGroups(params: GetGroupsAccessControlListParams) {\n const acl = await this.getGroupsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n private async canAccessOnlyOwnedGroups(params: GetGroupsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedGroups(params);\n return !canAccessNonOwned;\n }\n\n private async getGroupsAccessControlList(\n params: GetGroupsAccessControlListParams\n ): Promise<AccessControlList> {\n if (await this.hasFullAccessToGroups()) {\n return [{ rwd: \"rwd\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: AccessControlList = [];\n\n for (const groupsPermissions of groupsPermissionsList) {\n if (groupsPermissions.own) {\n if (\"group\" in params) {\n const modelGroupCreatedBy = params.group?.createdBy;\n if (!modelGroupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n\n if (modelGroupCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n }\n\n if (groupsPermissions.groups) {\n if (\"group\" in params) {\n const { group } = params;\n if (!group) {\n continue;\n }\n\n const { groups } = groupsPermissions;\n if (!Array.isArray(groups)) {\n continue;\n }\n\n if (!groups.includes(group.id)) {\n continue;\n }\n }\n }\n\n acl.push({\n rwd: groupsPermissions.rwd as string,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToGroups() {\n const permissions = await this.getGroupsPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n /**\n * Models-related methods below. 👇\n * - canAccessModel\n * - ensureCanAccessModel\n * - canAccessNonOwnedModels\n * - canAccessOnlyOwnedModels\n * - getModelsAccessControlList\n * - hasFullAccessToModels\n */\n\n async canAccessModel(params: CanAccessModelParams) {\n const acl = await this.getModelsAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n return true;\n }\n\n private async ensureCanAccessModel(params: CanAccessModelParams = {}) {\n const canAccess = await this.canAccessModel(params);\n if (canAccess) {\n return;\n }\n\n if (\"model\" in params) {\n let modelName = \"(could not determine name)\";\n if (params.model?.name) {\n modelName = `\"${params.model.name}\"`;\n }\n\n throw new NotAuthorizedError(`Not allowed to access content model ${modelName}.`);\n }\n\n throw new NotAuthorizedError(`Not allowed to access content models.`);\n }\n\n private async canAccessNonOwnedModels(params: GetModelsAccessControlListParams) {\n const acl = await this.getModelsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n private async canAccessOnlyOwnedModels(params: GetModelsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedModels(params);\n return !canAccessNonOwned;\n }\n\n private async getModelsAccessControlList(\n params: GetModelsAccessControlListParams\n ): Promise<AccessControlList> {\n if (await this.hasFullAccessToModels(params)) {\n return [{ rwd: \"rwd\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: AccessControlList = [];\n\n for (let i = 0; i < groupsPermissionsList.length; i++) {\n const groupsPermissions = groupsPermissionsList[i];\n\n const modelsPermissionsList = await this.getModelsPermissions();\n const relatedModelPermissions = modelsPermissionsList.find(\n permissions => permissions._src === groupsPermissions._src\n );\n\n if (!relatedModelPermissions) {\n continue;\n }\n\n if (groupsPermissions.own) {\n if (\"model\" in params) {\n const { model } = params;\n if (!model) {\n continue;\n }\n\n const group = await this.getGroup(model.group);\n if (!group) {\n continue;\n }\n\n const modelGroupCreatedBy = group.createdBy;\n if (!modelGroupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelGroupCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n\n continue;\n }\n\n if (groupsPermissions.groups) {\n if (\"model\" in params) {\n const { model } = params;\n if (!model) {\n continue;\n }\n\n if (!Array.isArray(groupsPermissions.groups)) {\n continue;\n }\n\n if (!groupsPermissions.groups.includes(model.group)) {\n continue;\n }\n }\n }\n\n const fullAccess =\n !relatedModelPermissions.rwd &&\n !relatedModelPermissions.own &&\n !relatedModelPermissions.models;\n\n if (fullAccess) {\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n\n continue;\n }\n\n if (relatedModelPermissions.own) {\n if (\"model\" in params) {\n if (!params.model) {\n continue;\n }\n\n const modelCreatedBy = params.model.createdBy;\n if (!modelCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true\n });\n\n continue;\n }\n\n if (relatedModelPermissions.models) {\n const { models } = relatedModelPermissions;\n if (\"model\" in params) {\n if (!params.model) {\n continue;\n }\n\n if (!Array.isArray(models)) {\n continue;\n }\n\n if (!models.includes(params.model.modelId)) {\n continue;\n }\n }\n }\n\n acl.push({\n rwd: relatedModelPermissions.rwd as string,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToModels(params: GetModelsAccessControlListParams) {\n const { model } = params;\n if (model) {\n if (this.modelAuthorizationDisabled({ model })) {\n return true;\n }\n }\n\n const permissions = await this.getModelsPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n /**\n * Entries-related methods below. 👇\n * - canAccessEntry\n * - ensureCanAccessEntry\n * - canAccessNonOwnedEntries\n * - canAccessOnlyOwnedEntries\n * - getEntriesAccessControlList\n * - hasFullAccessToEntries\n */\n\n async canAccessEntry(params: CanAccessEntryParams) {\n const acl = await this.getEntriesAccessControlList(params);\n\n const canRead = acl.find(ace => ace.rwd.includes(\"r\"));\n if (!canRead) {\n return false;\n }\n\n const { rwd } = params;\n if (rwd) {\n const hasRwd = acl.find(ace => ace.rwd.includes(rwd));\n if (!hasRwd) {\n return false;\n }\n }\n\n const { pw } = params;\n if (pw) {\n const hasPw = acl.find(ace => ace.pw?.includes(pw));\n if (!hasPw) {\n return false;\n }\n }\n\n return true;\n }\n\n private async ensureCanAccessEntry(params: CanAccessEntryParams) {\n const canAccess = await this.canAccessEntry(params);\n if (!canAccess) {\n if (params.entry) {\n throw new NotAuthorizedError(\n `Not allowed to access entry \"${params.entry.entryId}\".`\n );\n }\n\n throw new NotAuthorizedError(\n `Not allowed to access \"${params.model.modelId}\" entries.`\n );\n }\n }\n\n private async canAccessNonOwnedEntries(params: GetEntriesAccessControlListParams) {\n const acl = await this.getEntriesAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n async canAccessOnlyOwnedEntries(params: GetEntriesAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedEntries(params);\n return !canAccessNonOwned;\n }\n\n private async getEntriesAccessControlList(\n params: GetEntriesAccessControlListParams\n ): Promise<EntriesAccessControlList> {\n if (await this.hasFullAccessToEntries(params)) {\n return [{ rwd: \"rwd\", pw: \"pu\", canAccessNonOwned: true, canAccessOnlyOwned: false }];\n }\n\n // We need a map of groups slugs to ids, to perform checks on models\n const { model } = params;\n const groupsPermissionsList = await this.getGroupsPermissions();\n const acl: EntriesAccessControlList = [];\n\n for (let i = 0; i < groupsPermissionsList.length; i++) {\n const groupPermissions = groupsPermissionsList[i];\n\n const modelsPermissionsList = await this.getModelsPermissions();\n const relatedModelsPermissions = modelsPermissionsList.find(\n permissions => permissions._src === groupPermissions._src\n );\n\n if (!relatedModelsPermissions) {\n continue;\n }\n\n const entriesPermissionsList = await this.getEntriesPermissions();\n const relatedEntriesPermissions = entriesPermissionsList.find(\n permissions => permissions._src === groupPermissions._src\n );\n\n if (!relatedEntriesPermissions) {\n continue;\n }\n\n if (groupPermissions.own) {\n const group = await this.getGroup(model.group);\n if (!group) {\n continue;\n }\n\n const groupCreatedBy = group.createdBy;\n if (!groupCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (groupCreatedBy.id !== identity.id) {\n continue;\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n\n continue;\n }\n\n if (groupPermissions.groups) {\n const { groups } = groupPermissions;\n\n if (!Array.isArray(groups)) {\n continue;\n }\n\n if (!groups.includes(model.group)) {\n continue;\n }\n }\n\n if (relatedModelsPermissions.own) {\n const modelCreatedBy = model.createdBy;\n if (!modelCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (modelCreatedBy.id !== identity.id) {\n continue;\n }\n\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n }\n\n if (relatedModelsPermissions.models) {\n if (!Array.isArray(relatedModelsPermissions.models)) {\n continue;\n }\n\n if (!relatedModelsPermissions.models.includes(model.modelId)) {\n continue;\n }\n }\n\n const fullAccess =\n !relatedEntriesPermissions.rwd &&\n !relatedEntriesPermissions.own &&\n !relatedEntriesPermissions.models;\n\n if (fullAccess) {\n acl.push({\n rwd: \"rwd\",\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: \"pu\"\n });\n\n continue;\n }\n\n if (relatedEntriesPermissions.own) {\n if (\"entry\" in params) {\n const entryCreatedBy = params.entry?.createdBy;\n if (!entryCreatedBy) {\n continue;\n }\n\n const identity = await this.getIdentity();\n if (entryCreatedBy.id !== identity.id) {\n continue;\n }\n }\n\n acl.push({\n rwd: relatedEntriesPermissions.rwd,\n canAccessNonOwned: false,\n canAccessOnlyOwned: true,\n pw: relatedEntriesPermissions.pw\n });\n\n continue;\n }\n\n acl.push({\n rwd: relatedEntriesPermissions.rwd,\n canAccessNonOwned: true,\n canAccessOnlyOwned: false,\n pw: relatedEntriesPermissions.pw\n });\n }\n\n return acl;\n }\n\n private async hasFullAccessToEntries(params: GetEntriesAccessControlListParams) {\n if (this.modelAuthorizationDisabled(params)) {\n return true;\n }\n\n const permissions = await this.getEntriesPermissions();\n return permissions.some(p => this.fullAccessPermissions.filter(Boolean).includes(p.name));\n }\n\n private modelAuthorizationDisabled(params: IModelAuthorizationDisabledParams) {\n if (\"authorization\" in params.model) {\n const { authorization } = params.model;\n if (typeof authorization === \"boolean\") {\n return authorization === false;\n }\n\n return authorization?.permissions === false;\n }\n\n return false;\n }\n\n private async listAllGroups(): Promise<CmsGroup[]> {\n if (this.allGroups === null) {\n this.allGroups = this.listAllGroupsCallback();\n }\n\n return this.allGroups;\n }\n\n private async getGroup(slug: string): Promise<CmsGroup | undefined> {\n const groups = await this.listAllGroups();\n return groups.find(group => group.slug === slug);\n }\n}\n"],"names":["AccessControl","getIdentity","getGroupsPermissions","getModelsPermissions","getEntriesPermissions","listAllGroups","params","acl","canRead","ace","rwd","hasRwd","canAccessNonOwned","groupsPermissionsList","groupsPermissions","modelGroupCreatedBy","identity","group","groups","Array","permissions","p","Boolean","canAccess","modelName","NotAuthorizedError","i","modelsPermissionsList","relatedModelPermissions","model","fullAccess","modelCreatedBy","models","pw","hasPw","groupPermissions","relatedModelsPermissions","entriesPermissionsList","relatedEntriesPermissions","groupCreatedBy","entryCreatedBy","authorization","slug"],"mappings":"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"}