@webiny/api-headless-cms 0.0.0-unstable.de38392959 → 0.0.0-unstable.df7a8bb475

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 (1607) hide show
  1. package/README.md +6 -68
  2. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +8 -0
  3. package/abstractions/entryHooks/OnEntryBeforeCreate.js +4 -0
  4. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +1 -0
  5. package/abstractions/entryHooks/index.d.ts +1 -0
  6. package/abstractions/entryHooks/index.js +3 -0
  7. package/abstractions/entryHooks/index.js.map +1 -0
  8. package/abstractions/index.d.ts +1 -0
  9. package/abstractions/index.js +3 -0
  10. package/abstractions/index.js.map +1 -0
  11. package/constants.d.ts +19 -7
  12. package/constants.js +31 -33
  13. package/constants.js.map +1 -1
  14. package/context.d.ts +1 -1
  15. package/context.js +124 -109
  16. package/context.js.map +1 -1
  17. package/crud/AccessControl/AccessControl.d.ts +97 -0
  18. package/crud/AccessControl/AccessControl.js +499 -0
  19. package/crud/AccessControl/AccessControl.js.map +1 -0
  20. package/crud/AccessControl/README.md +47 -0
  21. package/crud/AccessControl/groups-own.png +0 -0
  22. package/crud/AccessControl/models-own.png +0 -0
  23. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +13 -14
  24. package/crud/contentEntry/entryDataFactories/createEntryData.js +164 -143
  25. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  26. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +15 -14
  27. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +95 -51
  28. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  29. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +10 -9
  30. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +28 -33
  31. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  32. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +8 -7
  33. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +24 -30
  34. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  35. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +9 -10
  36. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +13 -18
  37. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  38. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +12 -13
  39. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +55 -47
  40. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  41. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -8
  42. package/crud/contentEntry/entryDataFactories/index.js +8 -93
  43. package/crud/contentEntry/entryDataFactories/index.js.map +1 -1
  44. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +2 -2
  45. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +9 -13
  46. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -1
  47. package/crud/contentEntry/entryDataFactories/state.d.ts +10 -0
  48. package/crud/contentEntry/entryDataFactories/state.js +16 -0
  49. package/crud/contentEntry/entryDataFactories/state.js.map +1 -0
  50. package/crud/contentEntry/entryDataFactories/statuses.d.ts +1 -1
  51. package/crud/contentEntry/entryDataFactories/statuses.js +4 -13
  52. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -1
  53. package/crud/contentEntry/entryDataValidation.d.ts +16 -7
  54. package/crud/contentEntry/entryDataValidation.js +29 -35
  55. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  56. package/crud/contentEntry/referenceFieldsMapping.d.ts +4 -8
  57. package/crud/contentEntry/referenceFieldsMapping.js +19 -239
  58. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  59. package/crud/contentEntry/references/buildPaths.d.ts +9 -0
  60. package/crud/contentEntry/references/buildPaths.js +140 -0
  61. package/crud/contentEntry/references/buildPaths.js.map +1 -0
  62. package/crud/contentEntry/references/validateEntries.d.ts +8 -0
  63. package/crud/contentEntry/references/validateEntries.js +81 -0
  64. package/crud/contentEntry/references/validateEntries.js.map +1 -0
  65. package/crud/contentEntry/searchableFields.d.ts +2 -2
  66. package/crud/contentEntry/searchableFields.js +1 -8
  67. package/crud/contentEntry/searchableFields.js.map +1 -1
  68. package/crud/contentEntry.crud.d.ts +1 -12
  69. package/crud/contentEntry.crud.js +267 -1167
  70. package/crud/contentEntry.crud.js.map +1 -1
  71. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  72. package/crud/contentModel/compatibility/modelApiName.js +7 -16
  73. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  74. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  75. package/crud/contentModel/createFieldStorageId.js +3 -10
  76. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  77. package/crud/contentModel/defaultFields.d.ts +1 -1
  78. package/crud/contentModel/defaultFields.js +5 -12
  79. package/crud/contentModel/defaultFields.js.map +1 -1
  80. package/crud/contentModel/fields/descriptionField.d.ts +6 -2
  81. package/crud/contentModel/fields/descriptionField.js +15 -36
  82. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  83. package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
  84. package/crud/contentModel/fields/getApplicableFieldById.js +8 -0
  85. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
  86. package/crud/contentModel/fields/imageField.d.ts +2 -2
  87. package/crud/contentModel/fields/imageField.js +11 -37
  88. package/crud/contentModel/fields/imageField.js.map +1 -1
  89. package/crud/contentModel/fields/titleField.d.ts +6 -2
  90. package/crud/contentModel/fields/titleField.js +16 -52
  91. package/crud/contentModel/fields/titleField.js.map +1 -1
  92. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  93. package/crud/contentModel/validate/endingAllowed.js +9 -17
  94. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  95. package/crud/contentModel/validate/isModelEndingAllowed.js +2 -10
  96. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  97. package/crud/contentModel/validate/modelId.d.ts +1 -1
  98. package/crud/contentModel/validate/modelId.js +5 -14
  99. package/crud/contentModel/validate/modelId.js.map +1 -1
  100. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  101. package/crud/contentModel/validate/pluralApiName.js +4 -12
  102. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  103. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  104. package/crud/contentModel/validate/singularApiName.js +4 -12
  105. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  106. package/crud/contentModel/validateModel.d.ts +1 -1
  107. package/crud/contentModel/validateModel.js +7 -15
  108. package/crud/contentModel/validateModel.js.map +1 -1
  109. package/crud/contentModel/validateModelFields.d.ts +1 -1
  110. package/crud/contentModel/validateModelFields.js +37 -113
  111. package/crud/contentModel/validateModelFields.js.map +1 -1
  112. package/crud/contentModel/validateStorageId.d.ts +1 -0
  113. package/crud/contentModel/validateStorageId.js +12 -0
  114. package/crud/contentModel/validateStorageId.js.map +1 -0
  115. package/crud/contentModel/validation.d.ts +443 -241
  116. package/crud/contentModel/validation.js +76 -66
  117. package/crud/contentModel/validation.js.map +1 -1
  118. package/crud/contentModel.crud.d.ts +1 -10
  119. package/crud/contentModel.crud.js +54 -515
  120. package/crud/contentModel.crud.js.map +1 -1
  121. package/crud/contentModelGroup.crud.d.ts +1 -10
  122. package/crud/contentModelGroup.crud.js +42 -311
  123. package/crud/contentModelGroup.crud.js.map +1 -1
  124. package/domain/contentEntry/EntryId.d.ts +13 -0
  125. package/domain/contentEntry/EntryId.js +48 -0
  126. package/domain/contentEntry/EntryId.js.map +1 -0
  127. package/domain/contentEntry/errors.d.ts +24 -0
  128. package/domain/contentEntry/errors.js +50 -0
  129. package/domain/contentEntry/errors.js.map +1 -0
  130. package/domain/contentModel/createFieldStorageId.d.ts +2 -0
  131. package/domain/contentModel/createFieldStorageId.js +12 -0
  132. package/domain/contentModel/createFieldStorageId.js.map +1 -0
  133. package/{crud → domain}/contentModel/ensureTypeTag.d.ts +1 -1
  134. package/{crud → domain}/contentModel/ensureTypeTag.js +1 -8
  135. package/domain/contentModel/ensureTypeTag.js.map +1 -0
  136. package/domain/contentModel/errors.d.ts +60 -0
  137. package/domain/contentModel/errors.js +105 -0
  138. package/domain/contentModel/errors.js.map +1 -0
  139. package/domain/contentModel/schemas.d.ts +734 -0
  140. package/domain/contentModel/schemas.js +171 -0
  141. package/domain/contentModel/schemas.js.map +1 -0
  142. package/domain/contentModel/validation/endingAllowed.d.ts +6 -0
  143. package/domain/contentModel/validation/endingAllowed.js +20 -0
  144. package/domain/contentModel/validation/endingAllowed.js.map +1 -0
  145. package/domain/contentModel/validation/fields/descriptionField.d.ts +6 -0
  146. package/domain/contentModel/validation/fields/descriptionField.js +23 -0
  147. package/domain/contentModel/validation/fields/descriptionField.js.map +1 -0
  148. package/domain/contentModel/validation/fields/getApplicableFieldById.d.ts +2 -0
  149. package/domain/contentModel/validation/fields/getApplicableFieldById.js +8 -0
  150. package/domain/contentModel/validation/fields/getApplicableFieldById.js.map +1 -0
  151. package/domain/contentModel/validation/fields/imageField.d.ts +2 -0
  152. package/domain/contentModel/validation/fields/imageField.js +18 -0
  153. package/domain/contentModel/validation/fields/imageField.js.map +1 -0
  154. package/domain/contentModel/validation/fields/titleField.d.ts +6 -0
  155. package/domain/contentModel/validation/fields/titleField.js +24 -0
  156. package/domain/contentModel/validation/fields/titleField.js.map +1 -0
  157. package/domain/contentModel/validation/isModelEndingAllowed.d.ts +6 -0
  158. package/domain/contentModel/validation/isModelEndingAllowed.js +18 -0
  159. package/domain/contentModel/validation/isModelEndingAllowed.js.map +1 -0
  160. package/domain/contentModel/validation/modelFields.d.ts +9 -0
  161. package/domain/contentModel/validation/modelFields.js +272 -0
  162. package/domain/contentModel/validation/modelFields.js.map +1 -0
  163. package/domain/contentModel/validation/modelId.d.ts +11 -0
  164. package/domain/contentModel/validation/modelId.js +29 -0
  165. package/domain/contentModel/validation/modelId.js.map +1 -0
  166. package/domain/contentModel/validation/pluralApiName.d.ts +7 -0
  167. package/domain/contentModel/validation/pluralApiName.js +18 -0
  168. package/domain/contentModel/validation/pluralApiName.js.map +1 -0
  169. package/domain/contentModel/validation/singularApiName.d.ts +7 -0
  170. package/domain/contentModel/validation/singularApiName.js +18 -0
  171. package/domain/contentModel/validation/singularApiName.js.map +1 -0
  172. package/domain/contentModelGroup/errors.d.ts +38 -0
  173. package/domain/contentModelGroup/errors.js +70 -0
  174. package/domain/contentModelGroup/errors.js.map +1 -0
  175. package/domain/contentModelGroup/validation.d.ts +89 -0
  176. package/domain/contentModelGroup/validation.js +40 -0
  177. package/domain/contentModelGroup/validation.js.map +1 -0
  178. package/export/crud/exporting.d.ts +2 -2
  179. package/export/crud/exporting.js +6 -13
  180. package/export/crud/exporting.js.map +1 -1
  181. package/export/crud/importing.d.ts +2 -2
  182. package/export/crud/importing.js +8 -16
  183. package/export/crud/importing.js.map +1 -1
  184. package/export/crud/imports/importData.d.ts +2 -2
  185. package/export/crud/imports/importData.js +5 -12
  186. package/export/crud/imports/importData.js.map +1 -1
  187. package/export/crud/imports/importGroups.d.ts +2 -2
  188. package/export/crud/imports/importGroups.js +6 -12
  189. package/export/crud/imports/importGroups.js.map +1 -1
  190. package/export/crud/imports/importModels.d.ts +2 -2
  191. package/export/crud/imports/importModels.js +8 -15
  192. package/export/crud/imports/importModels.js.map +1 -1
  193. package/export/crud/imports/remapIcon.d.ts +2 -0
  194. package/export/crud/imports/remapIcon.js +14 -0
  195. package/export/crud/imports/remapIcon.js.map +1 -0
  196. package/export/crud/imports/validateGroups.d.ts +2 -2
  197. package/export/crud/imports/validateGroups.js +16 -21
  198. package/export/crud/imports/validateGroups.js.map +1 -1
  199. package/export/crud/imports/validateInput.d.ts +2 -2
  200. package/export/crud/imports/validateInput.js +28 -13
  201. package/export/crud/imports/validateInput.js.map +1 -1
  202. package/export/crud/imports/validateModels.d.ts +2 -2
  203. package/export/crud/imports/validateModels.js +16 -23
  204. package/export/crud/imports/validateModels.js.map +1 -1
  205. package/export/crud/index.d.ts +2 -2
  206. package/export/crud/index.js +3 -10
  207. package/export/crud/index.js.map +1 -1
  208. package/export/crud/sanitize.d.ts +3 -3
  209. package/export/crud/sanitize.js +5 -12
  210. package/export/crud/sanitize.js.map +1 -1
  211. package/export/graphql/index.d.ts +1 -1
  212. package/export/graphql/index.js +15 -21
  213. package/export/graphql/index.js.map +1 -1
  214. package/export/index.d.ts +2 -2
  215. package/export/index.js +2 -27
  216. package/export/index.js.map +1 -1
  217. package/export/types.d.ts +5 -5
  218. package/export/types.js +2 -8
  219. package/export/types.js.map +1 -1
  220. package/exports/api/cms/entry.d.ts +43 -0
  221. package/exports/api/cms/entry.js +94 -0
  222. package/exports/api/cms/entry.js.map +1 -0
  223. package/exports/api/cms/group.d.ts +10 -0
  224. package/exports/api/cms/group.js +20 -0
  225. package/exports/api/cms/group.js.map +1 -0
  226. package/exports/api/cms/model.d.ts +17 -0
  227. package/exports/api/cms/model.js +29 -0
  228. package/exports/api/cms/model.js.map +1 -0
  229. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +8 -0
  230. package/extensions/entryHooks/OnEntryBeforeCreate.js +24 -0
  231. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +1 -0
  232. package/extensions/entryHooks/index.d.ts +1 -0
  233. package/extensions/entryHooks/index.js +3 -0
  234. package/extensions/entryHooks/index.js.map +1 -0
  235. package/extensions/index.d.ts +9 -0
  236. package/extensions/index.js +5 -0
  237. package/extensions/index.js.map +1 -0
  238. package/features/contentEntry/ContentEntriesFeature.d.ts +1 -0
  239. package/features/contentEntry/ContentEntriesFeature.js +63 -0
  240. package/features/contentEntry/ContentEntriesFeature.js.map +1 -0
  241. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +17 -0
  242. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +39 -0
  243. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -0
  244. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +28 -0
  245. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +98 -0
  246. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -0
  247. package/features/contentEntry/CreateEntry/abstractions.d.ts +40 -0
  248. package/features/contentEntry/CreateEntry/abstractions.js +16 -0
  249. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -0
  250. package/features/contentEntry/CreateEntry/events.d.ts +40 -0
  251. package/features/contentEntry/CreateEntry/events.js +29 -0
  252. package/features/contentEntry/CreateEntry/events.js.map +1 -0
  253. package/features/contentEntry/CreateEntry/feature.d.ts +9 -0
  254. package/features/contentEntry/CreateEntry/feature.js +24 -0
  255. package/features/contentEntry/CreateEntry/feature.js.map +1 -0
  256. package/features/contentEntry/CreateEntry/index.d.ts +2 -0
  257. package/features/contentEntry/CreateEntry/index.js +4 -0
  258. package/features/contentEntry/CreateEntry/index.js.map +1 -0
  259. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +24 -0
  260. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +49 -0
  261. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -0
  262. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +36 -0
  263. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +142 -0
  264. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -0
  265. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +68 -0
  266. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +27 -0
  267. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -0
  268. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +39 -0
  269. package/features/contentEntry/CreateEntryRevisionFrom/events.js +34 -0
  270. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -0
  271. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +1 -0
  272. package/features/contentEntry/CreateEntryRevisionFrom/feature.js +15 -0
  273. package/features/contentEntry/CreateEntryRevisionFrom/feature.js.map +1 -0
  274. package/features/contentEntry/CreateEntryRevisionFrom/index.d.ts +2 -0
  275. package/features/contentEntry/CreateEntryRevisionFrom/index.js +4 -0
  276. package/features/contentEntry/CreateEntryRevisionFrom/index.js.map +1 -0
  277. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +14 -0
  278. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +31 -0
  279. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -0
  280. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +27 -0
  281. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +107 -0
  282. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -0
  283. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +19 -0
  284. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +39 -0
  285. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -0
  286. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +30 -0
  287. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +129 -0
  288. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -0
  289. package/features/contentEntry/DeleteEntry/abstractions.d.ts +90 -0
  290. package/features/contentEntry/DeleteEntry/abstractions.js +41 -0
  291. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -0
  292. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +19 -0
  293. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +51 -0
  294. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -0
  295. package/features/contentEntry/DeleteEntry/events.d.ts +39 -0
  296. package/features/contentEntry/DeleteEntry/events.js +34 -0
  297. package/features/contentEntry/DeleteEntry/events.js.map +1 -0
  298. package/features/contentEntry/DeleteEntry/feature.d.ts +1 -0
  299. package/features/contentEntry/DeleteEntry/feature.js +23 -0
  300. package/features/contentEntry/DeleteEntry/feature.js.map +1 -0
  301. package/features/contentEntry/DeleteEntry/index.d.ts +2 -0
  302. package/features/contentEntry/DeleteEntry/index.js +4 -0
  303. package/features/contentEntry/DeleteEntry/index.js.map +1 -0
  304. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +20 -0
  305. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +53 -0
  306. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -0
  307. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +36 -0
  308. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +141 -0
  309. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -0
  310. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +64 -0
  311. package/features/contentEntry/DeleteEntryRevision/abstractions.js +28 -0
  312. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -0
  313. package/features/contentEntry/DeleteEntryRevision/events.d.ts +39 -0
  314. package/features/contentEntry/DeleteEntryRevision/events.js +34 -0
  315. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -0
  316. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +1 -0
  317. package/features/contentEntry/DeleteEntryRevision/feature.js +15 -0
  318. package/features/contentEntry/DeleteEntryRevision/feature.js.map +1 -0
  319. package/features/contentEntry/DeleteEntryRevision/index.d.ts +2 -0
  320. package/features/contentEntry/DeleteEntryRevision/index.js +4 -0
  321. package/features/contentEntry/DeleteEntryRevision/index.js.map +1 -0
  322. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +18 -0
  323. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +35 -0
  324. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -0
  325. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +33 -0
  326. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +136 -0
  327. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -0
  328. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +68 -0
  329. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +27 -0
  330. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -0
  331. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +39 -0
  332. package/features/contentEntry/DeleteMultipleEntries/events.js +34 -0
  333. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -0
  334. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +1 -0
  335. package/features/contentEntry/DeleteMultipleEntries/feature.js +15 -0
  336. package/features/contentEntry/DeleteMultipleEntries/feature.js.map +1 -0
  337. package/features/contentEntry/DeleteMultipleEntries/index.d.ts +2 -0
  338. package/features/contentEntry/DeleteMultipleEntries/index.js +4 -0
  339. package/features/contentEntry/DeleteMultipleEntries/index.js.map +1 -0
  340. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +19 -0
  341. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +45 -0
  342. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -0
  343. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +20 -0
  344. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +43 -0
  345. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -0
  346. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +37 -0
  347. package/features/contentEntry/GetEntriesByIds/abstractions.js +16 -0
  348. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -0
  349. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.d.ts +16 -0
  350. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js +32 -0
  351. package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js.map +1 -0
  352. package/features/contentEntry/GetEntriesByIds/feature.d.ts +1 -0
  353. package/features/contentEntry/GetEntriesByIds/feature.js +14 -0
  354. package/features/contentEntry/GetEntriesByIds/feature.js.map +1 -0
  355. package/features/contentEntry/GetEntriesByIds/index.d.ts +1 -0
  356. package/features/contentEntry/GetEntriesByIds/index.js +3 -0
  357. package/features/contentEntry/GetEntriesByIds/index.js.map +1 -0
  358. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +15 -0
  359. package/features/contentEntry/GetEntry/GetEntryUseCase.js +40 -0
  360. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -0
  361. package/features/contentEntry/GetEntry/abstractions.d.ts +24 -0
  362. package/features/contentEntry/GetEntry/abstractions.js +10 -0
  363. package/features/contentEntry/GetEntry/abstractions.js.map +1 -0
  364. package/features/contentEntry/GetEntry/feature.d.ts +1 -0
  365. package/features/contentEntry/GetEntry/feature.js +10 -0
  366. package/features/contentEntry/GetEntry/feature.js.map +1 -0
  367. package/features/contentEntry/GetEntry/index.d.ts +1 -0
  368. package/features/contentEntry/GetEntry/index.js +3 -0
  369. package/features/contentEntry/GetEntry/index.js.map +1 -0
  370. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +15 -0
  371. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +34 -0
  372. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -0
  373. package/features/contentEntry/GetEntryById/abstractions.d.ts +23 -0
  374. package/features/contentEntry/GetEntryById/abstractions.js +10 -0
  375. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -0
  376. package/features/contentEntry/GetEntryById/feature.d.ts +1 -0
  377. package/features/contentEntry/GetEntryById/feature.js +10 -0
  378. package/features/contentEntry/GetEntryById/feature.js.map +1 -0
  379. package/features/contentEntry/GetEntryById/index.d.ts +1 -0
  380. package/features/contentEntry/GetEntryById/index.js +3 -0
  381. package/features/contentEntry/GetEntryById/index.js.map +1 -0
  382. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +17 -0
  383. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +39 -0
  384. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -0
  385. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +20 -0
  386. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +43 -0
  387. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -0
  388. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +38 -0
  389. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +16 -0
  390. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -0
  391. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.d.ts +16 -0
  392. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js +32 -0
  393. package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js.map +1 -0
  394. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +1 -0
  395. package/features/contentEntry/GetLatestEntriesByIds/feature.js +14 -0
  396. package/features/contentEntry/GetLatestEntriesByIds/feature.js.map +1 -0
  397. package/features/contentEntry/GetLatestEntriesByIds/index.d.ts +1 -0
  398. package/features/contentEntry/GetLatestEntriesByIds/index.js +3 -0
  399. package/features/contentEntry/GetLatestEntriesByIds/index.js.map +1 -0
  400. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +21 -0
  401. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +44 -0
  402. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -0
  403. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +17 -0
  404. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +38 -0
  405. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -0
  406. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +77 -0
  407. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +29 -0
  408. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -0
  409. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +1 -0
  410. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js +28 -0
  411. package/features/contentEntry/GetLatestRevisionByEntryId/feature.js.map +1 -0
  412. package/features/contentEntry/GetLatestRevisionByEntryId/index.d.ts +1 -0
  413. package/features/contentEntry/GetLatestRevisionByEntryId/index.js +3 -0
  414. package/features/contentEntry/GetLatestRevisionByEntryId/index.js.map +1 -0
  415. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +17 -0
  416. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +37 -0
  417. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -0
  418. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +14 -0
  419. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +22 -0
  420. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -0
  421. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +16 -0
  422. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +35 -0
  423. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -0
  424. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +21 -0
  425. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +44 -0
  426. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -0
  427. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +17 -0
  428. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +38 -0
  429. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -0
  430. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +16 -0
  431. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +36 -0
  432. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -0
  433. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +51 -0
  434. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +20 -0
  435. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -0
  436. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +1 -0
  437. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js +19 -0
  438. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js.map +1 -0
  439. package/features/contentEntry/GetPreviousRevisionByEntryId/index.d.ts +1 -0
  440. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js +3 -0
  441. package/features/contentEntry/GetPreviousRevisionByEntryId/index.js.map +1 -0
  442. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +17 -0
  443. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +38 -0
  444. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -0
  445. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +20 -0
  446. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +43 -0
  447. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -0
  448. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +37 -0
  449. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +16 -0
  450. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -0
  451. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.d.ts +16 -0
  452. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js +32 -0
  453. package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js.map +1 -0
  454. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +1 -0
  455. package/features/contentEntry/GetPublishedEntriesByIds/feature.js +14 -0
  456. package/features/contentEntry/GetPublishedEntriesByIds/feature.js.map +1 -0
  457. package/features/contentEntry/GetPublishedEntriesByIds/index.d.ts +1 -0
  458. package/features/contentEntry/GetPublishedEntriesByIds/index.js +3 -0
  459. package/features/contentEntry/GetPublishedEntriesByIds/index.js.map +1 -0
  460. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +17 -0
  461. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +40 -0
  462. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -0
  463. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +17 -0
  464. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +29 -0
  465. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -0
  466. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +36 -0
  467. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +15 -0
  468. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -0
  469. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +8 -0
  470. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js +23 -0
  471. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js.map +1 -0
  472. package/features/contentEntry/GetPublishedRevisionByEntryId/index.d.ts +1 -0
  473. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js +3 -0
  474. package/features/contentEntry/GetPublishedRevisionByEntryId/index.js.map +1 -0
  475. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +17 -0
  476. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +41 -0
  477. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -0
  478. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +16 -0
  479. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +23 -0
  480. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -0
  481. package/features/contentEntry/GetRevisionById/abstractions.d.ts +39 -0
  482. package/features/contentEntry/GetRevisionById/abstractions.js +17 -0
  483. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -0
  484. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.d.ts +16 -0
  485. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js +35 -0
  486. package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js.map +1 -0
  487. package/features/contentEntry/GetRevisionById/feature.d.ts +9 -0
  488. package/features/contentEntry/GetRevisionById/feature.js +28 -0
  489. package/features/contentEntry/GetRevisionById/feature.js.map +1 -0
  490. package/features/contentEntry/GetRevisionById/index.d.ts +1 -0
  491. package/features/contentEntry/GetRevisionById/index.js +3 -0
  492. package/features/contentEntry/GetRevisionById/index.js.map +1 -0
  493. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +17 -0
  494. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +39 -0
  495. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -0
  496. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +20 -0
  497. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +43 -0
  498. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -0
  499. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +37 -0
  500. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +16 -0
  501. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -0
  502. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +1 -0
  503. package/features/contentEntry/GetRevisionsByEntryId/feature.js +12 -0
  504. package/features/contentEntry/GetRevisionsByEntryId/feature.js.map +1 -0
  505. package/features/contentEntry/GetRevisionsByEntryId/index.d.ts +1 -0
  506. package/features/contentEntry/GetRevisionsByEntryId/index.js +3 -0
  507. package/features/contentEntry/GetRevisionsByEntryId/index.js.map +1 -0
  508. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.d.ts +25 -0
  509. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +56 -0
  510. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -0
  511. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +25 -0
  512. package/features/contentEntry/GetSingletonEntry/abstractions.js +11 -0
  513. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -0
  514. package/features/contentEntry/GetSingletonEntry/feature.d.ts +7 -0
  515. package/features/contentEntry/GetSingletonEntry/feature.js +18 -0
  516. package/features/contentEntry/GetSingletonEntry/feature.js.map +1 -0
  517. package/features/contentEntry/GetSingletonEntry/index.d.ts +1 -0
  518. package/features/contentEntry/GetSingletonEntry/index.js +3 -0
  519. package/features/contentEntry/GetSingletonEntry/index.js.map +1 -0
  520. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +11 -0
  521. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +32 -0
  522. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -0
  523. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +13 -0
  524. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +78 -0
  525. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -0
  526. package/features/contentEntry/GetUniqueFieldValues/abstractions.d.ts +50 -0
  527. package/features/contentEntry/GetUniqueFieldValues/abstractions.js +16 -0
  528. package/features/contentEntry/GetUniqueFieldValues/abstractions.js.map +1 -0
  529. package/features/contentEntry/GetUniqueFieldValues/errors.d.ts +16 -0
  530. package/features/contentEntry/GetUniqueFieldValues/errors.js +25 -0
  531. package/features/contentEntry/GetUniqueFieldValues/errors.js.map +1 -0
  532. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +1 -0
  533. package/features/contentEntry/GetUniqueFieldValues/feature.js +12 -0
  534. package/features/contentEntry/GetUniqueFieldValues/feature.js.map +1 -0
  535. package/features/contentEntry/GetUniqueFieldValues/index.d.ts +1 -0
  536. package/features/contentEntry/GetUniqueFieldValues/index.js +3 -0
  537. package/features/contentEntry/GetUniqueFieldValues/index.js.map +1 -0
  538. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +14 -0
  539. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +35 -0
  540. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -0
  541. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +17 -0
  542. package/features/contentEntry/ListEntries/ListEntriesRepository.js +61 -0
  543. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -0
  544. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +22 -0
  545. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +63 -0
  546. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -0
  547. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +13 -0
  548. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +33 -0
  549. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -0
  550. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +14 -0
  551. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +35 -0
  552. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -0
  553. package/features/contentEntry/ListEntries/abstractions.d.ts +82 -0
  554. package/features/contentEntry/ListEntries/abstractions.js +34 -0
  555. package/features/contentEntry/ListEntries/abstractions.js.map +1 -0
  556. package/features/contentEntry/ListEntries/feature.d.ts +1 -0
  557. package/features/contentEntry/ListEntries/feature.js +21 -0
  558. package/features/contentEntry/ListEntries/feature.js.map +1 -0
  559. package/features/contentEntry/ListEntries/index.d.ts +1 -0
  560. package/features/contentEntry/ListEntries/index.js +3 -0
  561. package/features/contentEntry/ListEntries/index.js.map +1 -0
  562. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +18 -0
  563. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +33 -0
  564. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -0
  565. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +27 -0
  566. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +104 -0
  567. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -0
  568. package/features/contentEntry/MoveEntry/abstractions.d.ts +62 -0
  569. package/features/contentEntry/MoveEntry/abstractions.js +27 -0
  570. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -0
  571. package/features/contentEntry/MoveEntry/events.d.ts +39 -0
  572. package/features/contentEntry/MoveEntry/events.js +34 -0
  573. package/features/contentEntry/MoveEntry/events.js.map +1 -0
  574. package/features/contentEntry/MoveEntry/feature.d.ts +1 -0
  575. package/features/contentEntry/MoveEntry/feature.js +15 -0
  576. package/features/contentEntry/MoveEntry/feature.js.map +1 -0
  577. package/features/contentEntry/MoveEntry/index.d.ts +2 -0
  578. package/features/contentEntry/MoveEntry/index.js +4 -0
  579. package/features/contentEntry/MoveEntry/index.js.map +1 -0
  580. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +23 -0
  581. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +47 -0
  582. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -0
  583. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +35 -0
  584. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +129 -0
  585. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -0
  586. package/features/contentEntry/PublishEntry/abstractions.d.ts +63 -0
  587. package/features/contentEntry/PublishEntry/abstractions.js +27 -0
  588. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -0
  589. package/features/contentEntry/PublishEntry/events.d.ts +39 -0
  590. package/features/contentEntry/PublishEntry/events.js +34 -0
  591. package/features/contentEntry/PublishEntry/events.js.map +1 -0
  592. package/features/contentEntry/PublishEntry/feature.d.ts +1 -0
  593. package/features/contentEntry/PublishEntry/feature.js +15 -0
  594. package/features/contentEntry/PublishEntry/feature.js.map +1 -0
  595. package/features/contentEntry/PublishEntry/index.d.ts +2 -0
  596. package/features/contentEntry/PublishEntry/index.js +4 -0
  597. package/features/contentEntry/PublishEntry/index.js.map +1 -0
  598. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +25 -0
  599. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +56 -0
  600. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -0
  601. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +31 -0
  602. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +113 -0
  603. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -0
  604. package/features/contentEntry/RepublishEntry/abstractions.d.ts +60 -0
  605. package/features/contentEntry/RepublishEntry/abstractions.js +28 -0
  606. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -0
  607. package/features/contentEntry/RepublishEntry/events.d.ts +39 -0
  608. package/features/contentEntry/RepublishEntry/events.js +34 -0
  609. package/features/contentEntry/RepublishEntry/events.js.map +1 -0
  610. package/features/contentEntry/RepublishEntry/feature.d.ts +1 -0
  611. package/features/contentEntry/RepublishEntry/feature.js +15 -0
  612. package/features/contentEntry/RepublishEntry/feature.js.map +1 -0
  613. package/features/contentEntry/RepublishEntry/index.d.ts +2 -0
  614. package/features/contentEntry/RepublishEntry/index.js +4 -0
  615. package/features/contentEntry/RepublishEntry/index.js.map +1 -0
  616. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +23 -0
  617. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +47 -0
  618. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -0
  619. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +31 -0
  620. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +123 -0
  621. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -0
  622. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +60 -0
  623. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +28 -0
  624. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -0
  625. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +39 -0
  626. package/features/contentEntry/RestoreEntryFromBin/events.js +34 -0
  627. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -0
  628. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +1 -0
  629. package/features/contentEntry/RestoreEntryFromBin/feature.js +15 -0
  630. package/features/contentEntry/RestoreEntryFromBin/feature.js.map +1 -0
  631. package/features/contentEntry/RestoreEntryFromBin/index.d.ts +2 -0
  632. package/features/contentEntry/RestoreEntryFromBin/index.js +4 -0
  633. package/features/contentEntry/RestoreEntryFromBin/index.js.map +1 -0
  634. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +18 -0
  635. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +39 -0
  636. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -0
  637. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +31 -0
  638. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +126 -0
  639. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -0
  640. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +39 -0
  641. package/features/contentEntry/UnpublishEntry/abstractions.js +16 -0
  642. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -0
  643. package/features/contentEntry/UnpublishEntry/events.d.ts +57 -0
  644. package/features/contentEntry/UnpublishEntry/events.js +39 -0
  645. package/features/contentEntry/UnpublishEntry/events.js.map +1 -0
  646. package/features/contentEntry/UnpublishEntry/feature.d.ts +9 -0
  647. package/features/contentEntry/UnpublishEntry/feature.js +24 -0
  648. package/features/contentEntry/UnpublishEntry/feature.js.map +1 -0
  649. package/features/contentEntry/UnpublishEntry/index.d.ts +2 -0
  650. package/features/contentEntry/UnpublishEntry/index.js +4 -0
  651. package/features/contentEntry/UnpublishEntry/index.js.map +1 -0
  652. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +17 -0
  653. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +39 -0
  654. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -0
  655. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +35 -0
  656. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +117 -0
  657. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -0
  658. package/features/contentEntry/UpdateEntry/abstractions.d.ts +44 -0
  659. package/features/contentEntry/UpdateEntry/abstractions.js +16 -0
  660. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -0
  661. package/features/contentEntry/UpdateEntry/events.d.ts +42 -0
  662. package/features/contentEntry/UpdateEntry/events.js +29 -0
  663. package/features/contentEntry/UpdateEntry/events.js.map +1 -0
  664. package/features/contentEntry/UpdateEntry/feature.d.ts +9 -0
  665. package/features/contentEntry/UpdateEntry/feature.js +24 -0
  666. package/features/contentEntry/UpdateEntry/feature.js.map +1 -0
  667. package/features/contentEntry/UpdateEntry/index.d.ts +2 -0
  668. package/features/contentEntry/UpdateEntry/index.js +4 -0
  669. package/features/contentEntry/UpdateEntry/index.js.map +1 -0
  670. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.d.ts +22 -0
  671. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js +34 -0
  672. package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js.map +1 -0
  673. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +28 -0
  674. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +11 -0
  675. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -0
  676. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +7 -0
  677. package/features/contentEntry/UpdateSingletonEntry/feature.js +18 -0
  678. package/features/contentEntry/UpdateSingletonEntry/feature.js.map +1 -0
  679. package/features/contentEntry/UpdateSingletonEntry/index.d.ts +1 -0
  680. package/features/contentEntry/UpdateSingletonEntry/index.js +3 -0
  681. package/features/contentEntry/UpdateSingletonEntry/index.js.map +1 -0
  682. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +24 -0
  683. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +74 -0
  684. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -0
  685. package/features/contentEntry/ValidateEntry/abstractions.d.ts +32 -0
  686. package/features/contentEntry/ValidateEntry/abstractions.js +10 -0
  687. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -0
  688. package/features/contentEntry/ValidateEntry/feature.d.ts +1 -0
  689. package/features/contentEntry/ValidateEntry/feature.js +11 -0
  690. package/features/contentEntry/ValidateEntry/feature.js.map +1 -0
  691. package/features/contentEntry/ValidateEntry/index.d.ts +1 -0
  692. package/features/contentEntry/ValidateEntry/index.js +3 -0
  693. package/features/contentEntry/ValidateEntry/index.js.map +1 -0
  694. package/features/contentModel/ContentModelFeature.d.ts +1 -0
  695. package/features/contentModel/ContentModelFeature.js +33 -0
  696. package/features/contentModel/ContentModelFeature.js.map +1 -0
  697. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +37 -0
  698. package/features/contentModel/CreateModel/CreateModelRepository.js +166 -0
  699. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -0
  700. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +40 -0
  701. package/features/contentModel/CreateModel/CreateModelUseCase.js +134 -0
  702. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -0
  703. package/features/contentModel/CreateModel/abstractions.d.ts +45 -0
  704. package/features/contentModel/CreateModel/abstractions.js +15 -0
  705. package/features/contentModel/CreateModel/abstractions.js.map +1 -0
  706. package/features/contentModel/CreateModel/events.d.ts +54 -0
  707. package/features/contentModel/CreateModel/events.js +39 -0
  708. package/features/contentModel/CreateModel/events.js.map +1 -0
  709. package/features/contentModel/CreateModel/feature.d.ts +7 -0
  710. package/features/contentModel/CreateModel/feature.js +22 -0
  711. package/features/contentModel/CreateModel/feature.js.map +1 -0
  712. package/features/contentModel/CreateModel/index.d.ts +2 -0
  713. package/features/contentModel/CreateModel/index.js +4 -0
  714. package/features/contentModel/CreateModel/index.js.map +1 -0
  715. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +37 -0
  716. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +162 -0
  717. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -0
  718. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +39 -0
  719. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +133 -0
  720. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -0
  721. package/features/contentModel/CreateModelFrom/abstractions.d.ts +45 -0
  722. package/features/contentModel/CreateModelFrom/abstractions.js +15 -0
  723. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -0
  724. package/features/contentModel/CreateModelFrom/events.d.ts +57 -0
  725. package/features/contentModel/CreateModelFrom/events.js +39 -0
  726. package/features/contentModel/CreateModelFrom/events.js.map +1 -0
  727. package/features/contentModel/CreateModelFrom/feature.d.ts +7 -0
  728. package/features/contentModel/CreateModelFrom/feature.js +22 -0
  729. package/features/contentModel/CreateModelFrom/feature.js.map +1 -0
  730. package/features/contentModel/CreateModelFrom/index.d.ts +2 -0
  731. package/features/contentModel/CreateModelFrom/index.js +4 -0
  732. package/features/contentModel/CreateModelFrom/index.js.map +1 -0
  733. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +26 -0
  734. package/features/contentModel/DeleteModel/DeleteModelRepository.js +51 -0
  735. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -0
  736. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +30 -0
  737. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +84 -0
  738. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -0
  739. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +23 -0
  740. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +97 -0
  741. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -0
  742. package/features/contentModel/DeleteModel/abstractions.d.ts +43 -0
  743. package/features/contentModel/DeleteModel/abstractions.js +15 -0
  744. package/features/contentModel/DeleteModel/abstractions.js.map +1 -0
  745. package/features/contentModel/DeleteModel/events.d.ts +52 -0
  746. package/features/contentModel/DeleteModel/events.js +39 -0
  747. package/features/contentModel/DeleteModel/events.js.map +1 -0
  748. package/features/contentModel/DeleteModel/feature.d.ts +7 -0
  749. package/features/contentModel/DeleteModel/feature.js +26 -0
  750. package/features/contentModel/DeleteModel/feature.js.map +1 -0
  751. package/features/contentModel/DeleteModel/index.d.ts +2 -0
  752. package/features/contentModel/DeleteModel/index.js +4 -0
  753. package/features/contentModel/DeleteModel/index.js.map +1 -0
  754. package/features/contentModel/GetModel/GetModelRepository.d.ts +20 -0
  755. package/features/contentModel/GetModel/GetModelRepository.js +33 -0
  756. package/features/contentModel/GetModel/GetModelRepository.js.map +1 -0
  757. package/features/contentModel/GetModel/GetModelUseCase.d.ts +24 -0
  758. package/features/contentModel/GetModel/GetModelUseCase.js +44 -0
  759. package/features/contentModel/GetModel/GetModelUseCase.js.map +1 -0
  760. package/features/contentModel/GetModel/abstractions.d.ts +38 -0
  761. package/features/contentModel/GetModel/abstractions.js +15 -0
  762. package/features/contentModel/GetModel/abstractions.js.map +1 -0
  763. package/features/contentModel/GetModel/feature.d.ts +7 -0
  764. package/features/contentModel/GetModel/feature.js +22 -0
  765. package/features/contentModel/GetModel/feature.js.map +1 -0
  766. package/features/contentModel/GetModel/index.d.ts +1 -0
  767. package/features/contentModel/GetModel/index.js +3 -0
  768. package/features/contentModel/GetModel/index.js.map +1 -0
  769. package/features/contentModel/ListModels/ListModelsRepository.d.ts +21 -0
  770. package/features/contentModel/ListModels/ListModelsRepository.js +46 -0
  771. package/features/contentModel/ListModels/ListModelsRepository.js.map +1 -0
  772. package/features/contentModel/ListModels/ListModelsUseCase.d.ts +24 -0
  773. package/features/contentModel/ListModels/ListModelsUseCase.js +52 -0
  774. package/features/contentModel/ListModels/ListModelsUseCase.js.map +1 -0
  775. package/features/contentModel/ListModels/abstractions.d.ts +37 -0
  776. package/features/contentModel/ListModels/abstractions.js +15 -0
  777. package/features/contentModel/ListModels/abstractions.js.map +1 -0
  778. package/features/contentModel/ListModels/feature.d.ts +8 -0
  779. package/features/contentModel/ListModels/feature.js +23 -0
  780. package/features/contentModel/ListModels/feature.js.map +1 -0
  781. package/features/contentModel/ListModels/index.d.ts +1 -0
  782. package/features/contentModel/ListModels/index.js +3 -0
  783. package/features/contentModel/ListModels/index.js.map +1 -0
  784. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +18 -0
  785. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +26 -0
  786. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -0
  787. package/features/contentModel/ModelToAstConverter/abstractions.d.ts +12 -0
  788. package/features/contentModel/ModelToAstConverter/abstractions.js +9 -0
  789. package/features/contentModel/ModelToAstConverter/abstractions.js.map +1 -0
  790. package/features/contentModel/ModelToAstConverter/feature.d.ts +1 -0
  791. package/features/contentModel/ModelToAstConverter/feature.js +10 -0
  792. package/features/contentModel/ModelToAstConverter/feature.js.map +1 -0
  793. package/features/contentModel/ModelToAstConverter/index.d.ts +1 -0
  794. package/features/contentModel/ModelToAstConverter/index.js +3 -0
  795. package/features/contentModel/ModelToAstConverter/index.js.map +1 -0
  796. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +30 -0
  797. package/features/contentModel/UpdateModel/UpdateModelRepository.js +104 -0
  798. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -0
  799. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +38 -0
  800. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +130 -0
  801. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -0
  802. package/features/contentModel/UpdateModel/abstractions.d.ts +48 -0
  803. package/features/contentModel/UpdateModel/abstractions.js +15 -0
  804. package/features/contentModel/UpdateModel/abstractions.js.map +1 -0
  805. package/features/contentModel/UpdateModel/events.d.ts +57 -0
  806. package/features/contentModel/UpdateModel/events.js +39 -0
  807. package/features/contentModel/UpdateModel/events.js.map +1 -0
  808. package/features/contentModel/UpdateModel/feature.d.ts +7 -0
  809. package/features/contentModel/UpdateModel/feature.js +22 -0
  810. package/features/contentModel/UpdateModel/feature.js.map +1 -0
  811. package/features/contentModel/UpdateModel/index.d.ts +2 -0
  812. package/features/contentModel/UpdateModel/index.js +4 -0
  813. package/features/contentModel/UpdateModel/index.js.map +1 -0
  814. package/features/contentModel/shared/ModelsFetcher.d.ts +29 -0
  815. package/features/contentModel/shared/ModelsFetcher.js +86 -0
  816. package/features/contentModel/shared/ModelsFetcher.js.map +1 -0
  817. package/features/contentModel/shared/PluginModelsProvider.d.ts +21 -0
  818. package/features/contentModel/shared/PluginModelsProvider.js +64 -0
  819. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -0
  820. package/features/contentModel/shared/abstractions.d.ts +49 -0
  821. package/features/contentModel/shared/abstractions.js +19 -0
  822. package/features/contentModel/shared/abstractions.js.map +1 -0
  823. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +1 -0
  824. package/features/contentModelGroup/ContentModelGroupFeature.js +28 -0
  825. package/features/contentModelGroup/ContentModelGroupFeature.js.map +1 -0
  826. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +28 -0
  827. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +107 -0
  828. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -0
  829. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +33 -0
  830. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +119 -0
  831. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -0
  832. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +40 -0
  833. package/features/contentModelGroup/CreateGroup/abstractions.js +15 -0
  834. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -0
  835. package/features/contentModelGroup/CreateGroup/events.d.ts +53 -0
  836. package/features/contentModelGroup/CreateGroup/events.js +39 -0
  837. package/features/contentModelGroup/CreateGroup/events.js.map +1 -0
  838. package/features/contentModelGroup/CreateGroup/feature.d.ts +7 -0
  839. package/features/contentModelGroup/CreateGroup/feature.js +22 -0
  840. package/features/contentModelGroup/CreateGroup/feature.js.map +1 -0
  841. package/features/contentModelGroup/CreateGroup/index.d.ts +2 -0
  842. package/features/contentModelGroup/CreateGroup/index.js +4 -0
  843. package/features/contentModelGroup/CreateGroup/index.js.map +1 -0
  844. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +24 -0
  845. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +64 -0
  846. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -0
  847. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +26 -0
  848. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +91 -0
  849. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -0
  850. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +39 -0
  851. package/features/contentModelGroup/DeleteGroup/abstractions.js +15 -0
  852. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -0
  853. package/features/contentModelGroup/DeleteGroup/events.d.ts +52 -0
  854. package/features/contentModelGroup/DeleteGroup/events.js +39 -0
  855. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -0
  856. package/features/contentModelGroup/DeleteGroup/feature.d.ts +7 -0
  857. package/features/contentModelGroup/DeleteGroup/feature.js +22 -0
  858. package/features/contentModelGroup/DeleteGroup/feature.js.map +1 -0
  859. package/features/contentModelGroup/DeleteGroup/index.d.ts +2 -0
  860. package/features/contentModelGroup/DeleteGroup/index.js +4 -0
  861. package/features/contentModelGroup/DeleteGroup/index.js.map +1 -0
  862. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +34 -0
  863. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +92 -0
  864. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -0
  865. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +21 -0
  866. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +43 -0
  867. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -0
  868. package/features/contentModelGroup/GetGroup/abstractions.d.ts +39 -0
  869. package/features/contentModelGroup/GetGroup/abstractions.js +15 -0
  870. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -0
  871. package/features/contentModelGroup/GetGroup/feature.d.ts +7 -0
  872. package/features/contentModelGroup/GetGroup/feature.js +22 -0
  873. package/features/contentModelGroup/GetGroup/feature.js.map +1 -0
  874. package/features/contentModelGroup/GetGroup/index.d.ts +1 -0
  875. package/features/contentModelGroup/GetGroup/index.js +3 -0
  876. package/features/contentModelGroup/GetGroup/index.js.map +1 -0
  877. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +34 -0
  878. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +87 -0
  879. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -0
  880. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +21 -0
  881. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +43 -0
  882. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -0
  883. package/features/contentModelGroup/ListGroups/abstractions.d.ts +36 -0
  884. package/features/contentModelGroup/ListGroups/abstractions.js +15 -0
  885. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -0
  886. package/features/contentModelGroup/ListGroups/feature.d.ts +7 -0
  887. package/features/contentModelGroup/ListGroups/feature.js +22 -0
  888. package/features/contentModelGroup/ListGroups/feature.js.map +1 -0
  889. package/features/contentModelGroup/ListGroups/index.d.ts +1 -0
  890. package/features/contentModelGroup/ListGroups/index.js +3 -0
  891. package/features/contentModelGroup/ListGroups/index.js.map +1 -0
  892. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +23 -0
  893. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +51 -0
  894. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -0
  895. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +33 -0
  896. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +125 -0
  897. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -0
  898. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +41 -0
  899. package/features/contentModelGroup/UpdateGroup/abstractions.js +15 -0
  900. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -0
  901. package/features/contentModelGroup/UpdateGroup/events.d.ts +56 -0
  902. package/features/contentModelGroup/UpdateGroup/events.js +39 -0
  903. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -0
  904. package/features/contentModelGroup/UpdateGroup/feature.d.ts +7 -0
  905. package/features/contentModelGroup/UpdateGroup/feature.js +22 -0
  906. package/features/contentModelGroup/UpdateGroup/feature.js.map +1 -0
  907. package/features/contentModelGroup/UpdateGroup/index.d.ts +2 -0
  908. package/features/contentModelGroup/UpdateGroup/index.js +4 -0
  909. package/features/contentModelGroup/UpdateGroup/index.js.map +1 -0
  910. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +25 -0
  911. package/features/contentModelGroup/shared/PluginGroupsProvider.js +89 -0
  912. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -0
  913. package/features/contentModelGroup/shared/abstractions.d.ts +31 -0
  914. package/features/contentModelGroup/shared/abstractions.js +11 -0
  915. package/features/contentModelGroup/shared/abstractions.js.map +1 -0
  916. package/features/contentModelGroup/shared/index.d.ts +1 -0
  917. package/features/contentModelGroup/shared/index.js +3 -0
  918. package/features/contentModelGroup/shared/index.js.map +1 -0
  919. package/features/installer/CmsInstaller.d.ts +17 -0
  920. package/features/installer/CmsInstaller.js +41 -0
  921. package/features/installer/CmsInstaller.js.map +1 -0
  922. package/features/installer/feature.d.ts +1 -0
  923. package/features/installer/feature.js +10 -0
  924. package/features/installer/feature.js.map +1 -0
  925. package/features/modelBuilder/LayoutBuilder.d.ts +72 -0
  926. package/features/modelBuilder/LayoutBuilder.js +131 -0
  927. package/features/modelBuilder/LayoutBuilder.js.map +1 -0
  928. package/features/modelBuilder/abstractions.d.ts +37 -0
  929. package/features/modelBuilder/abstractions.js +17 -0
  930. package/features/modelBuilder/abstractions.js.map +1 -0
  931. package/features/modelBuilder/feature.d.ts +1 -0
  932. package/features/modelBuilder/feature.js +57 -0
  933. package/features/modelBuilder/feature.js.map +1 -0
  934. package/features/modelBuilder/fields/BooleanFieldType.d.ts +18 -0
  935. package/features/modelBuilder/fields/BooleanFieldType.js +26 -0
  936. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -0
  937. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +24 -0
  938. package/features/modelBuilder/fields/DateTimeFieldType.js +67 -0
  939. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -0
  940. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +28 -0
  941. package/features/modelBuilder/fields/DynamicZoneFieldType.js +57 -0
  942. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -0
  943. package/features/modelBuilder/fields/FieldBuilder.d.ts +50 -0
  944. package/features/modelBuilder/fields/FieldBuilder.js +167 -0
  945. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -0
  946. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +4 -0
  947. package/features/modelBuilder/fields/FieldBuilderRegistry.js +61 -0
  948. package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -0
  949. package/features/modelBuilder/fields/FileFieldType.d.ts +19 -0
  950. package/features/modelBuilder/fields/FileFieldType.js +33 -0
  951. package/features/modelBuilder/fields/FileFieldType.js.map +1 -0
  952. package/features/modelBuilder/fields/JsonFieldType.d.ts +17 -0
  953. package/features/modelBuilder/fields/JsonFieldType.js +21 -0
  954. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -0
  955. package/features/modelBuilder/fields/LocationFieldType.d.ts +16 -0
  956. package/features/modelBuilder/fields/LocationFieldType.js +21 -0
  957. package/features/modelBuilder/fields/LocationFieldType.js.map +1 -0
  958. package/features/modelBuilder/fields/LongTextFieldType.d.ts +19 -0
  959. package/features/modelBuilder/fields/LongTextFieldType.js +123 -0
  960. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -0
  961. package/features/modelBuilder/fields/NumberFieldType.d.ts +18 -0
  962. package/features/modelBuilder/fields/NumberFieldType.js +46 -0
  963. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -0
  964. package/features/modelBuilder/fields/ObjectFieldType.d.ts +32 -0
  965. package/features/modelBuilder/fields/ObjectFieldType.js +65 -0
  966. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -0
  967. package/features/modelBuilder/fields/RefFieldType.d.ts +21 -0
  968. package/features/modelBuilder/fields/RefFieldType.js +33 -0
  969. package/features/modelBuilder/fields/RefFieldType.js.map +1 -0
  970. package/features/modelBuilder/fields/RichTextFieldType.d.ts +19 -0
  971. package/features/modelBuilder/fields/RichTextFieldType.js +28 -0
  972. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -0
  973. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +17 -0
  974. package/features/modelBuilder/fields/SearchableJsonFieldType.js +21 -0
  975. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -0
  976. package/features/modelBuilder/fields/TextFieldType.d.ts +16 -0
  977. package/features/modelBuilder/fields/TextFieldType.js +133 -0
  978. package/features/modelBuilder/fields/TextFieldType.js.map +1 -0
  979. package/features/modelBuilder/fields/abstractions.d.ts +15 -0
  980. package/features/modelBuilder/fields/abstractions.js +12 -0
  981. package/features/modelBuilder/fields/abstractions.js.map +1 -0
  982. package/features/modelBuilder/fields/validators.d.ts +76 -0
  983. package/features/modelBuilder/fields/validators.js +3 -0
  984. package/features/modelBuilder/fields/validators.js.map +1 -0
  985. package/features/modelBuilder/index.d.ts +21 -0
  986. package/features/modelBuilder/index.js +27 -0
  987. package/features/modelBuilder/index.js.map +1 -0
  988. package/features/modelBuilder/models/BaseModelBuilder.d.ts +41 -0
  989. package/features/modelBuilder/models/BaseModelBuilder.js +121 -0
  990. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -0
  991. package/features/modelBuilder/models/ModelBuilder.d.ts +30 -0
  992. package/features/modelBuilder/models/ModelBuilder.js +40 -0
  993. package/features/modelBuilder/models/ModelBuilder.js.map +1 -0
  994. package/features/modelBuilder/models/ModelsProvider.d.ts +12 -0
  995. package/features/modelBuilder/models/ModelsProvider.js +40 -0
  996. package/features/modelBuilder/models/ModelsProvider.js.map +1 -0
  997. package/features/modelBuilder/models/PrivateModelBuilder.d.ts +4 -0
  998. package/features/modelBuilder/models/PrivateModelBuilder.js +28 -0
  999. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -0
  1000. package/features/modelBuilder/models/PublicModelBuilder.d.ts +23 -0
  1001. package/features/modelBuilder/models/PublicModelBuilder.js +120 -0
  1002. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -0
  1003. package/features/modelBuilder/models/abstractions.d.ts +11 -0
  1004. package/features/modelBuilder/models/abstractions.js +9 -0
  1005. package/features/modelBuilder/models/abstractions.js.map +1 -0
  1006. package/features/shared/abstractions.d.ts +35 -0
  1007. package/features/shared/abstractions.js +18 -0
  1008. package/features/shared/abstractions.js.map +1 -0
  1009. package/features/sortMapper/DEVELOPER.md +23 -0
  1010. package/features/sortMapper/SortMapper.d.ts +13 -0
  1011. package/features/sortMapper/SortMapper.js +53 -0
  1012. package/features/sortMapper/SortMapper.js.map +1 -0
  1013. package/features/sortMapper/abstractions.d.ts +13 -0
  1014. package/features/sortMapper/abstractions.js +4 -0
  1015. package/features/sortMapper/abstractions.js.map +1 -0
  1016. package/features/sortMapper/feature.d.ts +3 -0
  1017. package/features/sortMapper/feature.js +11 -0
  1018. package/features/sortMapper/feature.js.map +1 -0
  1019. package/features/whereMapper/DEVELOPER.md +29 -0
  1020. package/features/whereMapper/WhereMapper.d.ts +16 -0
  1021. package/features/whereMapper/WhereMapper.js +79 -0
  1022. package/features/whereMapper/WhereMapper.js.map +1 -0
  1023. package/features/whereMapper/abstractions.d.ts +14 -0
  1024. package/features/whereMapper/abstractions.js +4 -0
  1025. package/features/whereMapper/abstractions.js.map +1 -0
  1026. package/features/whereMapper/feature.d.ts +3 -0
  1027. package/features/whereMapper/feature.js +11 -0
  1028. package/features/whereMapper/feature.js.map +1 -0
  1029. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
  1030. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +2 -9
  1031. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  1032. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  1033. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +30 -80
  1034. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  1035. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  1036. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +23 -116
  1037. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  1038. package/fieldConverters/index.d.ts +6 -3
  1039. package/fieldConverters/index.js +8 -12
  1040. package/fieldConverters/index.js.map +1 -1
  1041. package/graphql/buildSchemaPlugins.d.ts +3 -3
  1042. package/graphql/buildSchemaPlugins.js +16 -14
  1043. package/graphql/buildSchemaPlugins.js.map +1 -1
  1044. package/graphql/checkEndpointAccess.d.ts +1 -1
  1045. package/graphql/checkEndpointAccess.js +3 -14
  1046. package/graphql/checkEndpointAccess.js.map +1 -1
  1047. package/graphql/createExecutableSchema.d.ts +5 -3
  1048. package/graphql/createExecutableSchema.js +36 -17
  1049. package/graphql/createExecutableSchema.js.map +1 -1
  1050. package/graphql/formatErrorPayload.js +3 -11
  1051. package/graphql/formatErrorPayload.js.map +1 -1
  1052. package/graphql/generateSchema.d.ts +2 -2
  1053. package/graphql/generateSchema.js +12 -14
  1054. package/graphql/generateSchema.js.map +1 -1
  1055. package/graphql/getSchema/generateCacheId.d.ts +8 -0
  1056. package/graphql/getSchema/generateCacheId.js +9 -0
  1057. package/graphql/getSchema/generateCacheId.js.map +1 -0
  1058. package/graphql/getSchema/generateCacheKey.d.ts +10 -0
  1059. package/graphql/getSchema/generateCacheKey.js +26 -0
  1060. package/graphql/getSchema/generateCacheKey.js.map +1 -0
  1061. package/graphql/getSchema.d.ts +4 -6
  1062. package/graphql/getSchema.js +18 -63
  1063. package/graphql/getSchema.js.map +1 -1
  1064. package/graphql/graphQLHandlerFactory.d.ts +2 -2
  1065. package/graphql/graphQLHandlerFactory.js +10 -17
  1066. package/graphql/graphQLHandlerFactory.js.map +1 -1
  1067. package/graphql/handleRequest.d.ts +2 -2
  1068. package/graphql/handleRequest.js +21 -25
  1069. package/graphql/handleRequest.js.map +1 -1
  1070. package/graphql/index.d.ts +4 -3
  1071. package/graphql/index.js +4 -12
  1072. package/graphql/index.js.map +1 -1
  1073. package/graphql/scalars/RevisionId.d.ts +2 -0
  1074. package/graphql/scalars/RevisionId.js +20 -0
  1075. package/graphql/scalars/RevisionId.js.map +1 -0
  1076. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
  1077. package/graphql/scalars/RevisionIdScalarPlugin.js +11 -0
  1078. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
  1079. package/graphql/schema/baseContentSchema.d.ts +3 -3
  1080. package/graphql/schema/baseContentSchema.js +15 -26
  1081. package/graphql/schema/baseContentSchema.js.map +1 -1
  1082. package/graphql/schema/baseSchema.js +43 -21
  1083. package/graphql/schema/baseSchema.js.map +1 -1
  1084. package/graphql/schema/contentEntries.d.ts +3 -3
  1085. package/graphql/schema/contentEntries.js +42 -43
  1086. package/graphql/schema/contentEntries.js.map +1 -1
  1087. package/graphql/schema/contentModelGroups.d.ts +3 -3
  1088. package/graphql/schema/contentModelGroups.js +21 -28
  1089. package/graphql/schema/contentModelGroups.js.map +1 -1
  1090. package/graphql/schema/contentModels.d.ts +4 -5
  1091. package/graphql/schema/contentModels.js +58 -78
  1092. package/graphql/schema/contentModels.js.map +1 -1
  1093. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  1094. package/graphql/schema/createFieldResolvers.js +51 -27
  1095. package/graphql/schema/createFieldResolvers.js.map +1 -1
  1096. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  1097. package/graphql/schema/createFieldTypePluginRecords.js +1 -8
  1098. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  1099. package/graphql/schema/createManageResolvers.d.ts +1 -2
  1100. package/graphql/schema/createManageResolvers.js +47 -79
  1101. package/graphql/schema/createManageResolvers.js.map +1 -1
  1102. package/graphql/schema/createManageSDL.d.ts +2 -2
  1103. package/graphql/schema/createManageSDL.js +55 -36
  1104. package/graphql/schema/createManageSDL.js.map +1 -1
  1105. package/graphql/schema/createPreviewResolvers.d.ts +1 -2
  1106. package/graphql/schema/createPreviewResolvers.js +11 -21
  1107. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  1108. package/graphql/schema/createReadResolvers.d.ts +1 -2
  1109. package/graphql/schema/createReadResolvers.js +19 -26
  1110. package/graphql/schema/createReadResolvers.js.map +1 -1
  1111. package/graphql/schema/createReadSDL.d.ts +2 -2
  1112. package/graphql/schema/createReadSDL.js +31 -29
  1113. package/graphql/schema/createReadSDL.js.map +1 -1
  1114. package/graphql/schema/createSingularResolvers.d.ts +12 -0
  1115. package/graphql/schema/createSingularResolvers.js +49 -0
  1116. package/graphql/schema/createSingularResolvers.js.map +1 -0
  1117. package/graphql/schema/createSingularSDL.d.ts +12 -0
  1118. package/graphql/schema/createSingularSDL.js +94 -0
  1119. package/graphql/schema/createSingularSDL.js.map +1 -0
  1120. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
  1121. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +54 -0
  1122. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
  1123. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -2
  1124. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -11
  1125. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  1126. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -2
  1127. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -11
  1128. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  1129. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -2
  1130. package/graphql/schema/resolvers/manage/resolveDelete.js +8 -14
  1131. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  1132. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +2 -2
  1133. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +4 -11
  1134. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  1135. package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
  1136. package/graphql/schema/resolvers/manage/resolveGet.js +11 -19
  1137. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  1138. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
  1139. package/graphql/schema/resolvers/manage/resolveGetByIds.js +4 -11
  1140. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  1141. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
  1142. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +4 -11
  1143. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  1144. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +2 -2
  1145. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +4 -11
  1146. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  1147. package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
  1148. package/graphql/schema/resolvers/manage/resolveList.js +4 -11
  1149. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  1150. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
  1151. package/graphql/schema/resolvers/manage/resolveListDeleted.js +13 -0
  1152. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
  1153. package/graphql/schema/resolvers/manage/resolveMove.d.ts +2 -2
  1154. package/graphql/schema/resolvers/manage/resolveMove.js +4 -11
  1155. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  1156. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
  1157. package/graphql/schema/resolvers/manage/resolvePublish.js +4 -11
  1158. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  1159. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
  1160. package/graphql/schema/resolvers/manage/resolveRepublish.js +4 -11
  1161. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  1162. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
  1163. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +13 -0
  1164. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
  1165. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
  1166. package/graphql/schema/resolvers/manage/resolveUnpublish.js +4 -11
  1167. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  1168. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -2
  1169. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -11
  1170. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  1171. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +2 -2
  1172. package/graphql/schema/resolvers/manage/resolveValidate.js +4 -11
  1173. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  1174. package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
  1175. package/graphql/schema/resolvers/preview/resolveGet.js +6 -13
  1176. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  1177. package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
  1178. package/graphql/schema/resolvers/preview/resolveList.js +4 -11
  1179. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  1180. package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
  1181. package/graphql/schema/resolvers/read/resolveGet.js +6 -13
  1182. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  1183. package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
  1184. package/graphql/schema/resolvers/read/resolveList.js +4 -11
  1185. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  1186. package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
  1187. package/graphql/schema/resolvers/singular/resolveGet.js +14 -0
  1188. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
  1189. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
  1190. package/graphql/schema/resolvers/singular/resolveUpdate.js +14 -0
  1191. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
  1192. package/graphql/schema/schemaPlugins.d.ts +3 -3
  1193. package/graphql/schema/schemaPlugins.js +49 -35
  1194. package/graphql/schema/schemaPlugins.js.map +1 -1
  1195. package/graphqlFields/boolean.d.ts +1 -1
  1196. package/graphqlFields/boolean.js +5 -12
  1197. package/graphqlFields/boolean.js.map +1 -1
  1198. package/graphqlFields/datetime.d.ts +1 -1
  1199. package/graphqlFields/datetime.js +5 -12
  1200. package/graphqlFields/datetime.js.map +1 -1
  1201. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  1202. package/graphqlFields/dynamicZone/dynamicZoneField.js +75 -28
  1203. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  1204. package/graphqlFields/dynamicZone/index.d.ts +1 -2
  1205. package/graphqlFields/dynamicZone/index.js +1 -19
  1206. package/graphqlFields/dynamicZone/index.js.map +1 -1
  1207. package/graphqlFields/file.d.ts +1 -1
  1208. package/graphqlFields/file.js +5 -12
  1209. package/graphqlFields/file.js.map +1 -1
  1210. package/graphqlFields/helpers.d.ts +1 -1
  1211. package/graphqlFields/helpers.js +2 -9
  1212. package/graphqlFields/helpers.js.map +1 -1
  1213. package/graphqlFields/index.d.ts +1 -1
  1214. package/graphqlFields/index.js +13 -19
  1215. package/graphqlFields/index.js.map +1 -1
  1216. package/graphqlFields/json.d.ts +1 -1
  1217. package/graphqlFields/json.js +5 -12
  1218. package/graphqlFields/json.js.map +1 -1
  1219. package/graphqlFields/longText.d.ts +1 -1
  1220. package/graphqlFields/longText.js +5 -12
  1221. package/graphqlFields/longText.js.map +1 -1
  1222. package/graphqlFields/number.d.ts +1 -1
  1223. package/graphqlFields/number.js +5 -12
  1224. package/graphqlFields/number.js.map +1 -1
  1225. package/graphqlFields/object.d.ts +2 -2
  1226. package/graphqlFields/object.js +27 -20
  1227. package/graphqlFields/object.js.map +1 -1
  1228. package/graphqlFields/ref.d.ts +1 -1
  1229. package/graphqlFields/ref.js +48 -29
  1230. package/graphqlFields/ref.js.map +1 -1
  1231. package/graphqlFields/richText/richTextResolver.d.ts +2 -2
  1232. package/graphqlFields/richText/richTextResolver.js +14 -31
  1233. package/graphqlFields/richText/richTextResolver.js.map +1 -1
  1234. package/graphqlFields/richText.d.ts +1 -1
  1235. package/graphqlFields/richText.js +7 -14
  1236. package/graphqlFields/richText.js.map +1 -1
  1237. package/graphqlFields/searchableJson.d.ts +2 -0
  1238. package/graphqlFields/searchableJson.js +53 -0
  1239. package/graphqlFields/searchableJson.js.map +1 -0
  1240. package/graphqlFields/text.d.ts +1 -1
  1241. package/graphqlFields/text.js +5 -12
  1242. package/graphqlFields/text.js.map +1 -1
  1243. package/index.d.ts +19 -12
  1244. package/index.js +28 -110
  1245. package/index.js.map +1 -1
  1246. package/legacy/abstractions.d.ts +41 -0
  1247. package/legacy/abstractions.js +25 -0
  1248. package/legacy/abstractions.js.map +1 -0
  1249. package/package.json +39 -45
  1250. package/parameters/context.d.ts +1 -1
  1251. package/parameters/context.js +3 -13
  1252. package/parameters/context.js.map +1 -1
  1253. package/parameters/header.d.ts +1 -1
  1254. package/parameters/header.js +5 -25
  1255. package/parameters/header.js.map +1 -1
  1256. package/parameters/index.d.ts +3 -4
  1257. package/parameters/index.js +3 -49
  1258. package/parameters/index.js.map +1 -1
  1259. package/parameters/path.d.ts +1 -1
  1260. package/parameters/path.js +6 -25
  1261. package/parameters/path.js.map +1 -1
  1262. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
  1263. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +9 -0
  1264. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
  1265. package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
  1266. package/plugins/CmsGraphQLSchemaPlugin/index.js +3 -0
  1267. package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
  1268. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  1269. package/plugins/CmsGraphQLSchemaSorterPlugin.js +3 -11
  1270. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  1271. package/plugins/CmsGroupPlugin.d.ts +11 -5
  1272. package/plugins/CmsGroupPlugin.js +17 -11
  1273. package/plugins/CmsGroupPlugin.js.map +1 -1
  1274. package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
  1275. package/plugins/CmsModelFieldConverterPlugin.js +5 -9
  1276. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  1277. package/plugins/CmsModelPlugin.d.ts +19 -14
  1278. package/plugins/CmsModelPlugin.js +59 -55
  1279. package/plugins/CmsModelPlugin.js.map +1 -1
  1280. package/plugins/CmsParametersPlugin.d.ts +2 -4
  1281. package/plugins/CmsParametersPlugin.js +2 -8
  1282. package/plugins/CmsParametersPlugin.js.map +1 -1
  1283. package/plugins/StorageOperationsCmsModelPlugin.d.ts +2 -2
  1284. package/plugins/StorageOperationsCmsModelPlugin.js +3 -10
  1285. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  1286. package/plugins/StorageTransformPlugin.d.ts +7 -3
  1287. package/plugins/StorageTransformPlugin.js +8 -9
  1288. package/plugins/StorageTransformPlugin.js.map +1 -1
  1289. package/plugins/index.d.ts +8 -9
  1290. package/plugins/index.js +8 -104
  1291. package/plugins/index.js.map +1 -1
  1292. package/storage/date.d.ts +3 -0
  1293. package/storage/date.js +110 -0
  1294. package/storage/date.js.map +1 -0
  1295. package/storage/default.d.ts +1 -1
  1296. package/storage/default.js +3 -10
  1297. package/storage/default.js.map +1 -1
  1298. package/storage/dynamicZone.d.ts +2 -0
  1299. package/storage/dynamicZone.js +149 -0
  1300. package/storage/dynamicZone.js.map +1 -0
  1301. package/storage/index.d.ts +1 -1
  1302. package/storage/index.js +10 -12
  1303. package/storage/index.js.map +1 -1
  1304. package/storage/json.d.ts +1 -1
  1305. package/storage/json.js +37 -15
  1306. package/storage/json.js.map +1 -1
  1307. package/storage/object.d.ts +1 -1
  1308. package/storage/object.js +27 -31
  1309. package/storage/object.js.map +1 -1
  1310. package/types/context.d.ts +111 -0
  1311. package/types/context.js +3 -0
  1312. package/types/context.js.map +1 -0
  1313. package/types/fields/dynamicZoneField.d.ts +24 -0
  1314. package/types/fields/dynamicZoneField.js +3 -0
  1315. package/types/fields/dynamicZoneField.js.map +1 -0
  1316. package/types/fields/objectField.d.ts +13 -0
  1317. package/types/fields/objectField.js +3 -0
  1318. package/types/fields/objectField.js.map +1 -0
  1319. package/types/identity.d.ts +19 -0
  1320. package/types/identity.js +3 -0
  1321. package/types/identity.js.map +1 -0
  1322. package/types/index.d.ts +10 -0
  1323. package/types/index.js +3 -0
  1324. package/types/index.js.map +1 -0
  1325. package/types/model.d.ts +184 -0
  1326. package/types/model.js +3 -0
  1327. package/types/model.js.map +1 -0
  1328. package/types/modelAst.d.ts +39 -0
  1329. package/types/modelAst.js +3 -0
  1330. package/types/modelAst.js.map +1 -0
  1331. package/types/modelField.d.ts +330 -0
  1332. package/types/modelField.js +3 -0
  1333. package/types/modelField.js.map +1 -0
  1334. package/types/modelGroup.d.ts +70 -0
  1335. package/types/modelGroup.js +3 -0
  1336. package/types/modelGroup.js.map +1 -0
  1337. package/types/plugins.d.ts +335 -0
  1338. package/types/plugins.js +3 -0
  1339. package/types/plugins.js.map +1 -0
  1340. package/types/types.d.ts +1239 -0
  1341. package/{types.js → types/types.js} +36 -220
  1342. package/types/types.js.map +1 -0
  1343. package/utils/caching/Cache.d.ts +5 -2
  1344. package/utils/caching/Cache.js +4 -14
  1345. package/utils/caching/Cache.js.map +1 -1
  1346. package/utils/caching/CacheKey.d.ts +2 -1
  1347. package/utils/caching/CacheKey.js +3 -25
  1348. package/utils/caching/CacheKey.js.map +1 -1
  1349. package/utils/caching/index.d.ts +2 -2
  1350. package/utils/caching/index.js +2 -27
  1351. package/utils/caching/index.js.map +1 -1
  1352. package/utils/caching/types.d.ts +3 -1
  1353. package/utils/caching/types.js +1 -5
  1354. package/utils/caching/types.js.map +1 -1
  1355. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
  1356. package/utils/contentEntryTraverser/ContentEntryTraverser.js +89 -0
  1357. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
  1358. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
  1359. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +21 -0
  1360. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
  1361. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
  1362. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +15 -0
  1363. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
  1364. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
  1365. package/utils/contentModelAst/CmsModelToAstConverter.js +21 -0
  1366. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
  1367. package/utils/contentModelAst/index.d.ts +3 -0
  1368. package/utils/contentModelAst/index.js +5 -0
  1369. package/utils/contentModelAst/index.js.map +1 -0
  1370. package/utils/converters/Converter.d.ts +3 -3
  1371. package/utils/converters/Converter.js +4 -12
  1372. package/utils/converters/Converter.js.map +1 -1
  1373. package/utils/converters/ConverterCollection.d.ts +9 -9
  1374. package/utils/converters/ConverterCollection.js +15 -22
  1375. package/utils/converters/ConverterCollection.js.map +1 -1
  1376. package/utils/converters/types.d.ts +8 -0
  1377. package/utils/converters/types.js +3 -0
  1378. package/utils/converters/types.js.map +1 -0
  1379. package/utils/converters/valueKeyFromStorageConverter.d.ts +9 -0
  1380. package/utils/converters/valueKeyFromStorageConverter.js +22 -0
  1381. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -0
  1382. package/utils/converters/valueKeyStorageConverter.d.ts +3 -14
  1383. package/utils/converters/valueKeyStorageConverter.js +3 -115
  1384. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  1385. package/utils/converters/valueKeyToStorageConverter.d.ts +9 -0
  1386. package/utils/converters/valueKeyToStorageConverter.js +22 -0
  1387. package/utils/converters/valueKeyToStorageConverter.js.map +1 -0
  1388. package/utils/createModelField.d.ts +9 -0
  1389. package/utils/createModelField.js +46 -0
  1390. package/utils/createModelField.js.map +1 -0
  1391. package/utils/createTypeFromFields.d.ts +1 -1
  1392. package/utils/createTypeFromFields.js +5 -12
  1393. package/utils/createTypeFromFields.js.map +1 -1
  1394. package/utils/createTypeName.js +4 -12
  1395. package/utils/createTypeName.js.map +1 -1
  1396. package/utils/date.js +2 -10
  1397. package/utils/date.js.map +1 -1
  1398. package/utils/entryStorage.d.ts +13 -1
  1399. package/utils/entryStorage.js +48 -25
  1400. package/utils/entryStorage.js.map +1 -1
  1401. package/utils/errors.d.ts +5 -0
  1402. package/utils/errors.js +11 -0
  1403. package/utils/errors.js.map +1 -0
  1404. package/utils/filterAsync.js +1 -8
  1405. package/utils/filterAsync.js.map +1 -1
  1406. package/utils/getBaseFieldType.d.ts +1 -1
  1407. package/utils/getBaseFieldType.js +1 -8
  1408. package/utils/getBaseFieldType.js.map +1 -1
  1409. package/utils/getEntryDescription.d.ts +2 -2
  1410. package/utils/getEntryDescription.js +6 -8
  1411. package/utils/getEntryDescription.js.map +1 -1
  1412. package/utils/getEntryImage.d.ts +2 -2
  1413. package/utils/getEntryImage.js +6 -8
  1414. package/utils/getEntryImage.js.map +1 -1
  1415. package/utils/getEntryTitle.d.ts +2 -2
  1416. package/utils/getEntryTitle.js +2 -8
  1417. package/utils/getEntryTitle.js.map +1 -1
  1418. package/utils/getSchemaFromFieldPlugins.d.ts +6 -6
  1419. package/utils/getSchemaFromFieldPlugins.js +7 -13
  1420. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  1421. package/utils/identity.d.ts +7 -2
  1422. package/utils/identity.js +7 -8
  1423. package/utils/identity.js.map +1 -1
  1424. package/utils/incrementEntryIdVersion.js +6 -14
  1425. package/utils/incrementEntryIdVersion.js.map +1 -1
  1426. package/utils/index.d.ts +2 -1
  1427. package/utils/index.js +2 -16
  1428. package/utils/index.js.map +1 -1
  1429. package/utils/isHeadlessCmsReady.d.ts +5 -0
  1430. package/utils/isHeadlessCmsReady.js +17 -0
  1431. package/utils/isHeadlessCmsReady.js.map +1 -0
  1432. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
  1433. package/utils/modelFieldTraverser/ModelFieldTraverser.js +34 -0
  1434. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
  1435. package/utils/modelFieldTraverser/index.d.ts +1 -0
  1436. package/utils/modelFieldTraverser/index.js +3 -0
  1437. package/utils/modelFieldTraverser/index.js.map +1 -0
  1438. package/utils/renderFields.d.ts +1 -1
  1439. package/utils/renderFields.js +6 -12
  1440. package/utils/renderFields.js.map +1 -1
  1441. package/utils/renderGetFilterFields.d.ts +9 -2
  1442. package/utils/renderGetFilterFields.js +19 -13
  1443. package/utils/renderGetFilterFields.js.map +1 -1
  1444. package/utils/renderInputFields.d.ts +1 -1
  1445. package/utils/renderInputFields.js +4 -12
  1446. package/utils/renderInputFields.js.map +1 -1
  1447. package/utils/renderListFilterFields.d.ts +9 -2
  1448. package/utils/renderListFilterFields.js +28 -24
  1449. package/utils/renderListFilterFields.js.map +1 -1
  1450. package/utils/renderSortEnum.d.ts +2 -2
  1451. package/utils/renderSortEnum.js +8 -28
  1452. package/utils/renderSortEnum.js.map +1 -1
  1453. package/utils/toSlug.js +3 -11
  1454. package/utils/toSlug.js.map +1 -1
  1455. package/validators/dateGte.d.ts +1 -1
  1456. package/validators/dateGte.js +4 -11
  1457. package/validators/dateGte.js.map +1 -1
  1458. package/validators/dateLte.d.ts +1 -1
  1459. package/validators/dateLte.js +4 -11
  1460. package/validators/dateLte.js.map +1 -1
  1461. package/validators/gte.d.ts +1 -1
  1462. package/validators/gte.js +3 -10
  1463. package/validators/gte.js.map +1 -1
  1464. package/validators/in.d.ts +1 -1
  1465. package/validators/in.js +3 -10
  1466. package/validators/in.js.map +1 -1
  1467. package/validators/index.d.ts +1 -1
  1468. package/validators/index.js +14 -21
  1469. package/validators/index.js.map +1 -1
  1470. package/validators/lte.d.ts +1 -1
  1471. package/validators/lte.js +3 -10
  1472. package/validators/lte.js.map +1 -1
  1473. package/validators/maxLength.d.ts +1 -1
  1474. package/validators/maxLength.js +3 -10
  1475. package/validators/maxLength.js.map +1 -1
  1476. package/validators/minLength.d.ts +1 -1
  1477. package/validators/minLength.js +3 -10
  1478. package/validators/minLength.js.map +1 -1
  1479. package/validators/pattern.d.ts +1 -1
  1480. package/validators/pattern.js +2 -9
  1481. package/validators/pattern.js.map +1 -1
  1482. package/validators/patternPlugins/email.d.ts +1 -1
  1483. package/validators/patternPlugins/email.js +2 -9
  1484. package/validators/patternPlugins/email.js.map +1 -1
  1485. package/validators/patternPlugins/index.d.ts +1 -1
  1486. package/validators/patternPlugins/index.js +8 -15
  1487. package/validators/patternPlugins/index.js.map +1 -1
  1488. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  1489. package/validators/patternPlugins/lowerCase.js +1 -8
  1490. package/validators/patternPlugins/lowerCase.js.map +1 -1
  1491. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  1492. package/validators/patternPlugins/lowerCaseSpace.js +1 -8
  1493. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  1494. package/validators/patternPlugins/upperCase.d.ts +1 -1
  1495. package/validators/patternPlugins/upperCase.js +1 -8
  1496. package/validators/patternPlugins/upperCase.js.map +1 -1
  1497. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  1498. package/validators/patternPlugins/upperCaseSpace.js +1 -8
  1499. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  1500. package/validators/patternPlugins/url.d.ts +1 -1
  1501. package/validators/patternPlugins/url.js +1 -8
  1502. package/validators/patternPlugins/url.js.map +1 -1
  1503. package/validators/required.d.ts +1 -1
  1504. package/validators/required.js +3 -10
  1505. package/validators/required.js.map +1 -1
  1506. package/validators/timeGte.d.ts +1 -1
  1507. package/validators/timeGte.js +3 -10
  1508. package/validators/timeGte.js.map +1 -1
  1509. package/validators/timeLte.d.ts +1 -1
  1510. package/validators/timeLte.js +3 -10
  1511. package/validators/timeLte.js.map +1 -1
  1512. package/validators/unique.d.ts +1 -1
  1513. package/validators/unique.js +13 -14
  1514. package/validators/unique.js.map +1 -1
  1515. package/crud/contentEntry/afterDelete.d.ts +0 -8
  1516. package/crud/contentEntry/afterDelete.js +0 -38
  1517. package/crud/contentEntry/afterDelete.js.map +0 -1
  1518. package/crud/contentEntry/beforeCreate.d.ts +0 -8
  1519. package/crud/contentEntry/beforeCreate.js +0 -27
  1520. package/crud/contentEntry/beforeCreate.js.map +0 -1
  1521. package/crud/contentEntry/beforeUpdate.d.ts +0 -8
  1522. package/crud/contentEntry/beforeUpdate.js +0 -27
  1523. package/crud/contentEntry/beforeUpdate.js.map +0 -1
  1524. package/crud/contentEntry/markLockedFields.d.ts +0 -13
  1525. package/crud/contentEntry/markLockedFields.js +0 -110
  1526. package/crud/contentEntry/markLockedFields.js.map +0 -1
  1527. package/crud/contentModel/beforeCreate.d.ts +0 -14
  1528. package/crud/contentModel/beforeCreate.js +0 -130
  1529. package/crud/contentModel/beforeCreate.js.map +0 -1
  1530. package/crud/contentModel/beforeDelete.d.ts +0 -10
  1531. package/crud/contentModel/beforeDelete.js +0 -48
  1532. package/crud/contentModel/beforeDelete.js.map +0 -1
  1533. package/crud/contentModel/beforeUpdate.d.ts +0 -8
  1534. package/crud/contentModel/beforeUpdate.js +0 -57
  1535. package/crud/contentModel/beforeUpdate.js.map +0 -1
  1536. package/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  1537. package/crud/contentModel/contentModelManagerFactory.js +0 -24
  1538. package/crud/contentModel/contentModelManagerFactory.js.map +0 -1
  1539. package/crud/contentModel/ensureTypeTag.js.map +0 -1
  1540. package/crud/contentModel/listModelsFromDatabase.d.ts +0 -10
  1541. package/crud/contentModel/listModelsFromDatabase.js +0 -38
  1542. package/crud/contentModel/listModelsFromDatabase.js.map +0 -1
  1543. package/crud/contentModelGroup/beforeCreate.d.ts +0 -10
  1544. package/crud/contentModelGroup/beforeCreate.js +0 -68
  1545. package/crud/contentModelGroup/beforeCreate.js.map +0 -1
  1546. package/crud/contentModelGroup/beforeDelete.d.ts +0 -10
  1547. package/crud/contentModelGroup/beforeDelete.js +0 -42
  1548. package/crud/contentModelGroup/beforeDelete.js.map +0 -1
  1549. package/crud/contentModelGroup/beforeUpdate.d.ts +0 -9
  1550. package/crud/contentModelGroup/beforeUpdate.js +0 -25
  1551. package/crud/contentModelGroup/beforeUpdate.js.map +0 -1
  1552. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +0 -8
  1553. package/crud/contentModelGroup/listGroupsFromDatabase.js +0 -22
  1554. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +0 -1
  1555. package/crud/contentModelGroup/validation.d.ts +0 -33
  1556. package/crud/contentModelGroup/validation.js +0 -37
  1557. package/crud/contentModelGroup/validation.js.map +0 -1
  1558. package/crud/system.crud.d.ts +0 -13
  1559. package/crud/system.crud.js +0 -123
  1560. package/crud/system.crud.js.map +0 -1
  1561. package/graphql/createRequestBody.d.ts +0 -2
  1562. package/graphql/createRequestBody.js +0 -16
  1563. package/graphql/createRequestBody.js.map +0 -1
  1564. package/graphql/system.d.ts +0 -3
  1565. package/graphql/system.js +0 -79
  1566. package/graphql/system.js.map +0 -1
  1567. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
  1568. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -111
  1569. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
  1570. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +0 -6
  1571. package/graphqlFields/richText/RichTextPluginsProcessor.js +0 -34
  1572. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +0 -1
  1573. package/htmlRenderer/LexicalRenderer.d.ts +0 -5
  1574. package/htmlRenderer/LexicalRenderer.js +0 -28
  1575. package/htmlRenderer/LexicalRenderer.js.map +0 -1
  1576. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +0 -2
  1577. package/htmlRenderer/createLexicalHTMLRenderer.js +0 -31
  1578. package/htmlRenderer/createLexicalHTMLRenderer.js.map +0 -1
  1579. package/modelManager/DefaultCmsModelManager.d.ts +0 -14
  1580. package/modelManager/DefaultCmsModelManager.js +0 -46
  1581. package/modelManager/DefaultCmsModelManager.js.map +0 -1
  1582. package/modelManager/index.d.ts +0 -2
  1583. package/modelManager/index.js +0 -18
  1584. package/modelManager/index.js.map +0 -1
  1585. package/parameters/manual.d.ts +0 -6
  1586. package/parameters/manual.js +0 -42
  1587. package/parameters/manual.js.map +0 -1
  1588. package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
  1589. package/plugins/CmsGraphQLSchemaPlugin.js +0 -13
  1590. package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
  1591. package/plugins/CmsRichTextRendererPlugin.d.ts +0 -24
  1592. package/plugins/CmsRichTextRendererPlugin.js +0 -28
  1593. package/plugins/CmsRichTextRendererPlugin.js.map +0 -1
  1594. package/types.d.ts +0 -2817
  1595. package/types.js.map +0 -1
  1596. package/utils/access.d.ts +0 -9
  1597. package/utils/access.js +0 -26
  1598. package/utils/access.js.map +0 -1
  1599. package/utils/permissions/EntriesPermissions.d.ts +0 -4
  1600. package/utils/permissions/EntriesPermissions.js +0 -11
  1601. package/utils/permissions/EntriesPermissions.js.map +0 -1
  1602. package/utils/permissions/ModelGroupsPermissions.d.ts +0 -9
  1603. package/utils/permissions/ModelGroupsPermissions.js +0 -50
  1604. package/utils/permissions/ModelGroupsPermissions.js.map +0 -1
  1605. package/utils/permissions/ModelsPermissions.d.ts +0 -22
  1606. package/utils/permissions/ModelsPermissions.js +0 -90
  1607. package/utils/permissions/ModelsPermissions.js.map +0 -1
@@ -0,0 +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 getIdentity: AccessControlParams[\"getIdentity\"];\n getGroupsPermissions: AccessControlParams[\"getGroupsPermissions\"];\n getModelsPermissions: AccessControlParams[\"getModelsPermissions\"];\n getEntriesPermissions: AccessControlParams[\"getEntriesPermissions\"];\n 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 async canAccessNonOwnedGroups(params: GetGroupsAccessControlListParams) {\n const acl = await this.getGroupsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n async canAccessOnlyOwnedGroups(params: GetGroupsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedGroups(params);\n return !canAccessNonOwned;\n }\n\n 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 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 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 async canAccessNonOwnedModels(params: GetModelsAccessControlListParams) {\n const acl = await this.getModelsAccessControlList(params);\n return acl.some(ace => ace.canAccessNonOwned);\n }\n\n async canAccessOnlyOwnedModels(params: GetModelsAccessControlListParams) {\n const canAccessNonOwned = await this.canAccessNonOwnedModels(params);\n return !canAccessNonOwned;\n }\n\n 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 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 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 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 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 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":[]}
@@ -0,0 +1,47 @@
1
+ # How Access Control Works
2
+
3
+ With Headless CMS, checking base permissions (access control) is a bit more interesting because the three types of permissions objects are related to each other. The three types of permissions are:
4
+
5
+ 1. `cms.contentModelGroup`
6
+ 2. `cms.contentModel`
7
+ 3. `cms.contentEntry`
8
+
9
+ So, for example, when checking if a user can create content entries, it's not enough to check if the user has the `cms.contentEntry` permission. We also need to check if the user has the `cms.contentModel` permission for the content model the entry belongs to, and if the user has the `cms.contentModelGroup` permission for the content model group the content model belongs to.
10
+
11
+ All of the above is handled by the `AccessControl` class, which provides a set of methods to check if a user has the necessary permissions to perform a specific action. The main methods that are used in CRUD operations-related code are:
12
+
13
+ 1. `canAccessGroup` (`ensureCanAccessGroup`): checks if a user has the necessary permissions to access a content model group.
14
+ 2. `canAccessModel` (`ensureCanAccessModel`): checks if a user has the necessary permissions to access a content model (takes into consideration the content model group permissions).
15
+ 3. `canAccessEntry` (`ensureCanAccessEntry`): checks if a user has the necessary permissions to access a content entry (takes into consideration the content model and content model group permissions).
16
+
17
+ Note that all of these methods can accept an exact entity instance if needed, but it's not required. Both has its own use cases.
18
+
19
+ For example, when checking if a user can access (read) a content entry, you can pass the entry instance to the `canAccessEntry` method, and it will check if the user has the necessary permissions to access that specific entry. On the other hand, if the entry instance was not passed, the method would check if the user has the necessary permissions to access (read) entries of the given content model.
20
+
21
+ Note that, whenever possible, the entry should be passed to the method, as it's more secure and provides more accurate results. For example, it is possible to receive a `true` response when checking if a user can access a specific content model, but still receive `false` when the model was not passed (when checking if user can access / read models in general).
22
+
23
+ ## Folder Level Permissions
24
+
25
+ With Folder Level Permissions, a user can be part of a team, that may have multiple roles that provide different Headless CMS-related permissions (more information [here](https://www.webiny.com/docs/enterprise/aacl/teams#overview)).
26
+
27
+ The Access Control class is aware of this and ensures that only permissions objects from a single role are taken into consideration when checking if a user has the necessary permissions to perform a specific action. If permission objects from a single role do not provide the necessary permissions, the next role is checked, and so on.
28
+
29
+ In order to achieve this, we're using the `_src` property that's assigned to each permission object. This property contains the role ID, and is used to filter out permissions objects that belong to a different role.
30
+
31
+ ## Interesting Permissions-related Logic
32
+
33
+ ### Only groups created by the user
34
+
35
+ When choosing "Only groups created by the user" access scope via the `cms.contentModelGroup` permission, the user that possesses this permission can not only fully (r/w/d) access content models that belong to the content model groups that the user has created, but also content entries that belong to those content models.
36
+
37
+ <img src="./groups-own.png">
38
+
39
+ Note that only the entry publishing actions-related permissions are not automatically set here. They need to be defined when defining the role explicitly.
40
+
41
+ ### Only models created by the user
42
+
43
+ When choosing "Only models created by the user" access scope via the `cms.contentModel` permission, the user that possesses this permission can not only fully (r/w/d) access content models that the user has created, but also content entries that belong to those content models.
44
+
45
+ <img src="./models-own.png">
46
+
47
+ Note that only the entry publishing actions-related permissions are not automatically set here. They need to be defined when defining the role explicitly.
@@ -1,20 +1,19 @@
1
- import { CmsContext, CmsEntry, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types";
2
- import { I18NLocale } from "@webiny/api-i18n/types";
3
- import { SecurityIdentity } from "@webiny/api-security/types";
4
- import { Tenant } from "@webiny/api-tenancy/types";
5
- import { EntriesPermissions } from "../../../utils/permissions/EntriesPermissions";
6
- declare type CreateEntryDataParams = {
1
+ import type { CmsContext, CmsEntry, CmsEntryValues, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types/index.js";
2
+ import type { AccessControl } from "../../../crud/AccessControl/AccessControl.js";
3
+ import type { SecurityIdentity } from "@webiny/api-core/types/security.js";
4
+ import type { Tenant } from "@webiny/api-core/types/tenancy.js";
5
+ interface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {
7
6
  model: CmsModel;
8
- rawInput: CreateCmsEntryInput;
7
+ rawInput: CreateCmsEntryInput<TValues>;
9
8
  options?: CreateCmsEntryOptionsInput;
10
9
  context: CmsContext;
11
10
  getIdentity: () => SecurityIdentity;
12
11
  getTenant: () => Tenant;
13
- getLocale: () => I18NLocale;
14
- entriesPermissions: EntriesPermissions;
15
- };
16
- export declare const createEntryData: ({ model, rawInput, options, context, getIdentity: getSecurityIdentity, getLocale, getTenant, entriesPermissions }: CreateEntryDataParams) => Promise<{
17
- entry: CmsEntry;
18
- input: Record<string, any>;
19
- }>;
12
+ accessControl: AccessControl;
13
+ }
14
+ interface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {
15
+ entry: CmsEntry<TValues>;
16
+ input: CreateCmsEntryInput<TValues>;
17
+ }
18
+ export declare const createEntryData: <TValues extends CmsEntryValues = CmsEntryValues>({ model, rawInput, options, context, getIdentity: getSecurityIdentity, getTenant, accessControl }: CreateEntryDataParams<TValues>) => Promise<ICreateEntryDataResponse<TValues>>;
20
19
  export {};
@@ -1,42 +1,122 @@
1
- "use strict";
1
+ import { getDate } from "../../../utils/date.js";
2
+ import { ROOT_FOLDER } from "../../../constants.js";
3
+ import WebinyError from "@webiny/error";
4
+ import { validateModelEntryDataOrThrow } from "../entryDataValidation.js";
5
+ import { referenceFieldsMapping } from "../referenceFieldsMapping.js";
6
+ import { createIdentifier, mdbid } from "@webiny/utils";
7
+ import { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from "./statuses.js";
8
+ import { getIdentity } from "../../../utils/identity.js";
9
+ import { getState } from "./state.js";
10
+ /**
11
+ * Used for some fields to convert their values.
12
+ */
13
+ const convertDefaultValue = (field, value) => {
14
+ switch (field.type) {
15
+ case "boolean":
16
+ return Boolean(value);
17
+ case "number":
18
+ return Number(value);
19
+ default:
20
+ return value;
21
+ }
22
+ };
23
+ const getDefaultValue = field => {
24
+ const {
25
+ settings,
26
+ list
27
+ } = field;
28
+ if (settings && settings.defaultValue !== undefined) {
29
+ return convertDefaultValue(field, settings.defaultValue);
30
+ }
31
+ const {
32
+ predefinedValues
33
+ } = field;
34
+ if (!predefinedValues || !predefinedValues.enabled || Array.isArray(predefinedValues.values) === false) {
35
+ return undefined;
36
+ }
37
+ if (!list) {
38
+ const selectedValue = predefinedValues.values.find(value => {
39
+ return !!value.selected;
40
+ });
41
+ if (selectedValue) {
42
+ return convertDefaultValue(field, selectedValue.value);
43
+ }
44
+ return undefined;
45
+ }
46
+ return predefinedValues.values.filter(({
47
+ selected
48
+ }) => !!selected).map(({
49
+ value
50
+ }) => {
51
+ return convertDefaultValue(field, value);
52
+ });
53
+ };
54
+ const createEntryId = input => {
55
+ let entryId = mdbid();
56
+ if (input.id) {
57
+ if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\-]+)([a-zA-Z0-9])$/) === null) {
58
+ throw new WebinyError("The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.", "INVALID_ID", {
59
+ id: input.id
60
+ });
61
+ }
62
+ entryId = input.id;
63
+ }
64
+ const version = 1;
65
+ return {
66
+ entryId,
67
+ version,
68
+ id: createIdentifier({
69
+ id: entryId,
70
+ version
71
+ })
72
+ };
73
+ };
2
74
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createEntryData = void 0;
8
- var _date = require("../../../utils/date");
9
- var _constants = require("../../../constants");
10
- var _error = _interopRequireDefault(require("@webiny/error"));
11
- var _entryDataValidation = require("../entryDataValidation");
12
- var _referenceFieldsMapping = require("../referenceFieldsMapping");
13
- var _utils = require("@webiny/utils");
14
- var _statuses = require("./statuses");
15
- var _identity = require("../../../utils/identity");
16
- const createEntryData = async ({
75
+ /**
76
+ * Cleans and adds default values to create input data.
77
+ */
78
+ const cleanInputValues = (model, input) => {
79
+ return model.fields.reduce((acc, field) => {
80
+ /**
81
+ * This should never happen, but let's make it sure.
82
+ * The fix would be for the user to add the fieldId on the field definition.
83
+ */
84
+ if (!field.fieldId) {
85
+ throw new WebinyError("Field does not have an fieldId.", "MISSING_FIELD_ID", {
86
+ field
87
+ });
88
+ }
89
+ const key = field.fieldId;
90
+ const value = input[key];
91
+ /**
92
+ * We set the default value on create input if value is not defined.
93
+ */
94
+ acc[key] = value === undefined ? getDefaultValue(field) : value;
95
+ return acc;
96
+ }, {});
97
+ };
98
+ export const createEntryData = async ({
17
99
  model,
18
100
  rawInput,
19
101
  options,
20
102
  context,
21
103
  getIdentity: getSecurityIdentity,
22
- getLocale,
23
104
  getTenant,
24
- entriesPermissions
105
+ accessControl
25
106
  }) => {
26
- const initialInput = mapAndCleanCreateInputData(model, rawInput);
27
- await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
107
+ const initialValues = cleanInputValues(model, rawInput.values || {});
108
+ await validateModelEntryDataOrThrow({
28
109
  context,
29
110
  model,
30
- data: initialInput,
111
+ values: initialValues,
31
112
  skipValidators: options?.skipValidators
32
113
  });
33
- const input = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
114
+ const values = await referenceFieldsMapping({
34
115
  context,
35
116
  model,
36
- input: initialInput,
117
+ values: initialValues,
37
118
  validateEntries: true
38
119
  });
39
- const locale = getLocale();
40
120
  const {
41
121
  id,
42
122
  entryId,
@@ -55,20 +135,22 @@ const createEntryData = async ({
55
135
  * sure they have the required permissions and also that all the fields
56
136
  * are filled in correctly.
57
137
  */
58
- const status = rawInput.status || _statuses.STATUS_DRAFT;
59
- if (status !== _statuses.STATUS_DRAFT) {
60
- if (status === _statuses.STATUS_PUBLISHED) {
61
- await entriesPermissions.ensure({
138
+ const status = rawInput.status || STATUS_DRAFT;
139
+ if (status !== STATUS_DRAFT) {
140
+ if (status === STATUS_PUBLISHED) {
141
+ await accessControl.ensureCanAccessEntry({
142
+ model,
62
143
  pw: "p"
63
144
  });
64
- } else if (status === _statuses.STATUS_UNPUBLISHED) {
145
+ } else if (status === STATUS_UNPUBLISHED) {
65
146
  // If setting the status other than draft, we have to check if the user has permissions to publish.
66
- await entriesPermissions.ensure({
147
+ await accessControl.ensureCanAccessEntry({
148
+ model,
67
149
  pw: "u"
68
150
  });
69
151
  }
70
152
  }
71
- const locked = status !== _statuses.STATUS_DRAFT;
153
+ const locked = status !== STATUS_DRAFT;
72
154
  let revisionLevelPublishingMetaFields = {
73
155
  revisionFirstPublishedOn: null,
74
156
  revisionLastPublishedOn: null,
@@ -81,147 +163,86 @@ const createEntryData = async ({
81
163
  firstPublishedBy: null,
82
164
  lastPublishedBy: null
83
165
  };
84
- if (status === _statuses.STATUS_PUBLISHED) {
166
+ if (status === STATUS_PUBLISHED) {
85
167
  revisionLevelPublishingMetaFields = {
86
- revisionFirstPublishedOn: (0, _date.getDate)(rawInput.revisionFirstPublishedOn, currentDateTime),
87
- revisionLastPublishedOn: (0, _date.getDate)(rawInput.revisionLastPublishedOn, currentDateTime),
88
- revisionFirstPublishedBy: (0, _identity.getIdentity)(rawInput.revisionFirstPublishedBy, currentIdentity),
89
- revisionLastPublishedBy: (0, _identity.getIdentity)(rawInput.revisionLastPublishedBy, currentIdentity)
168
+ revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),
169
+ revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),
170
+ revisionFirstPublishedBy: getIdentity(rawInput.revisionFirstPublishedBy, currentIdentity),
171
+ revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)
90
172
  };
91
173
  entryLevelPublishingMetaFields = {
92
- firstPublishedOn: (0, _date.getDate)(rawInput.firstPublishedOn, currentDateTime),
93
- lastPublishedOn: (0, _date.getDate)(rawInput.lastPublishedOn, currentDateTime),
94
- firstPublishedBy: (0, _identity.getIdentity)(rawInput.firstPublishedBy, currentIdentity),
95
- lastPublishedBy: (0, _identity.getIdentity)(rawInput.lastPublishedBy, currentIdentity)
174
+ firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),
175
+ lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),
176
+ firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),
177
+ lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)
96
178
  };
97
179
  }
98
180
  const entry = {
99
- webinyVersion: context.WEBINY_VERSION,
100
181
  tenant: getTenant().id,
101
182
  entryId,
102
183
  id,
103
184
  modelId: model.modelId,
104
- locale: locale.code,
105
185
  /**
106
186
  * Entry-level meta fields. 👇
107
187
  */
108
- createdOn: (0, _date.getDate)(rawInput.createdOn, currentDateTime),
109
- modifiedOn: (0, _date.getDate)(rawInput.modifiedOn, null),
110
- savedOn: (0, _date.getDate)(rawInput.savedOn, currentDateTime),
111
- createdBy: (0, _identity.getIdentity)(rawInput.createdBy, currentIdentity),
112
- modifiedBy: (0, _identity.getIdentity)(rawInput.modifiedBy, null),
113
- savedBy: (0, _identity.getIdentity)(rawInput.savedBy, currentIdentity),
188
+ createdOn: getDate(rawInput.createdOn, currentDateTime),
189
+ modifiedOn: getDate(rawInput.modifiedOn, null),
190
+ savedOn: getDate(rawInput.savedOn, currentDateTime),
191
+ deletedOn: getDate(rawInput.deletedOn, null),
192
+ restoredOn: getDate(rawInput.restoredOn, null),
193
+ createdBy: getIdentity(rawInput.createdBy, currentIdentity),
194
+ modifiedBy: getIdentity(rawInput.modifiedBy, null),
195
+ savedBy: getIdentity(rawInput.savedBy, currentIdentity),
196
+ deletedBy: getIdentity(rawInput.deletedBy, null),
197
+ restoredBy: getIdentity(rawInput.restoredBy, null),
114
198
  ...entryLevelPublishingMetaFields,
115
199
  /**
116
200
  * Revision-level meta fields. 👇
117
201
  */
118
- revisionCreatedOn: (0, _date.getDate)(rawInput.revisionCreatedOn, currentDateTime),
119
- revisionModifiedOn: (0, _date.getDate)(rawInput.revisionModifiedOn, null),
120
- revisionSavedOn: (0, _date.getDate)(rawInput.revisionSavedOn, currentDateTime),
121
- revisionCreatedBy: (0, _identity.getIdentity)(rawInput.revisionCreatedBy, currentIdentity),
122
- revisionModifiedBy: (0, _identity.getIdentity)(rawInput.revisionModifiedBy, null),
123
- revisionSavedBy: (0, _identity.getIdentity)(rawInput.revisionSavedBy, currentIdentity),
202
+ revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),
203
+ revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),
204
+ revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),
205
+ revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),
206
+ revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),
207
+ revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),
208
+ revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),
209
+ revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),
210
+ revisionDeletedBy: getIdentity(rawInput.revisionDeletedBy, null),
211
+ revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),
124
212
  ...revisionLevelPublishingMetaFields,
125
213
  version,
126
214
  status,
127
215
  locked,
128
- values: input,
216
+ values,
129
217
  location: {
130
- folderId: rawInput.wbyAco_location?.folderId || _constants.ROOT_FOLDER
131
- }
132
- };
133
- return {
134
- entry,
135
- input
218
+ folderId: rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER
219
+ },
220
+ state: getState({
221
+ input: rawInput
222
+ })
136
223
  };
137
- };
138
-
139
- /**
140
- * Used for some fields to convert their values.
141
- */
142
- exports.createEntryData = createEntryData;
143
- const convertDefaultValue = (field, value) => {
144
- switch (field.type) {
145
- case "boolean":
146
- return Boolean(value);
147
- case "number":
148
- return Number(value);
149
- default:
150
- return value;
151
- }
152
- };
153
- const getDefaultValue = field => {
154
- const {
155
- settings,
156
- multipleValues
157
- } = field;
158
- if (settings && settings.defaultValue !== undefined) {
159
- return convertDefaultValue(field, settings.defaultValue);
160
- }
161
- const {
162
- predefinedValues
163
- } = field;
164
- if (!predefinedValues || !predefinedValues.enabled || Array.isArray(predefinedValues.values) === false) {
165
- return undefined;
166
- }
167
- if (!multipleValues) {
168
- const selectedValue = predefinedValues.values.find(value => {
169
- return !!value.selected;
170
- });
171
- if (selectedValue) {
172
- return convertDefaultValue(field, selectedValue.value);
173
- }
174
- return undefined;
175
- }
176
- return predefinedValues.values.filter(({
177
- selected
178
- }) => !!selected).map(({
179
- value
180
- }) => {
181
- return convertDefaultValue(field, value);
182
- });
183
- };
184
-
185
- /**
186
- * Cleans and adds default values to create input data.
187
- */
188
- const mapAndCleanCreateInputData = (model, input) => {
189
- return model.fields.reduce((acc, field) => {
190
- /**
191
- * This should never happen, but let's make it sure.
192
- * The fix would be for the user to add the fieldId on the field definition.
193
- */
194
- if (!field.fieldId) {
195
- throw new _error.default("Field does not have an fieldId.", "MISSING_FIELD_ID", {
196
- field
224
+ if (status !== STATUS_DRAFT) {
225
+ if (status === STATUS_PUBLISHED) {
226
+ await accessControl.ensureCanAccessEntry({
227
+ model,
228
+ entry,
229
+ pw: "p"
197
230
  });
198
- }
199
- const value = input[field.fieldId];
200
- /**
201
- * We set the default value on create input if value is not defined.
202
- */
203
- acc[field.fieldId] = value === undefined ? getDefaultValue(field) : value;
204
- return acc;
205
- }, {});
206
- };
207
- const createEntryId = input => {
208
- let entryId = (0, _utils.mdbid)();
209
- if (input.id) {
210
- if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\-]+)([a-zA-Z0-9])$/) === null) {
211
- throw new _error.default("The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.", "INVALID_ID", {
212
- id: input.id
231
+ } else if (status === STATUS_UNPUBLISHED) {
232
+ // If setting the status other than draft, we have to check if the user has permissions to publish.
233
+ await accessControl.ensureCanAccessEntry({
234
+ model,
235
+ entry,
236
+ pw: "u"
213
237
  });
214
238
  }
215
- entryId = input.id;
216
239
  }
217
- const version = 1;
218
240
  return {
219
- entryId,
220
- version,
221
- id: (0, _utils.createIdentifier)({
222
- id: entryId,
223
- version
224
- })
241
+ entry,
242
+ input: {
243
+ ...rawInput,
244
+ values: structuredClone(values)
245
+ }
225
246
  };
226
247
  };
227
248
 
@@ -1 +1 @@
1
- {"version":3,"names":["_date","require","_constants","_error","_interopRequireDefault","_entryDataValidation","_referenceFieldsMapping","_utils","_statuses","_identity","createEntryData","model","rawInput","options","context","getIdentity","getSecurityIdentity","getLocale","getTenant","entriesPermissions","initialInput","mapAndCleanCreateInputData","validateModelEntryDataOrThrow","data","skipValidators","input","referenceFieldsMapping","validateEntries","locale","id","entryId","version","createEntryId","currentIdentity","currentDateTime","Date","status","STATUS_DRAFT","STATUS_PUBLISHED","ensure","pw","STATUS_UNPUBLISHED","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","getDate","entry","webinyVersion","WEBINY_VERSION","tenant","modelId","code","createdOn","modifiedOn","savedOn","createdBy","modifiedBy","savedBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","values","location","folderId","wbyAco_location","ROOT_FOLDER","exports","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter","map","fields","reduce","acc","fieldId","WebinyError","mdbid","match","createIdentifier"],"sources":["createEntryData.ts"],"sourcesContent":["import {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types\";\nimport { getDate } from \"~/utils/date\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { EntriesPermissions } from \"~/utils/permissions/EntriesPermissions\";\nimport { getIdentity } from \"~/utils/identity\";\n\ntype DefaultValue = boolean | number | string | null;\n\ntype CreateEntryDataParams = {\n model: CmsModel;\n rawInput: CreateCmsEntryInput;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n entriesPermissions: EntriesPermissions;\n};\n\nexport const createEntryData = async ({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getLocale,\n getTenant,\n entriesPermissions\n}: CreateEntryDataParams): Promise<{\n entry: CmsEntry;\n input: Record<string, any>;\n}> => {\n const initialInput = mapAndCleanCreateInputData(model, rawInput);\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n data: initialInput,\n skipValidators: options?.skipValidators\n });\n\n const input = await referenceFieldsMapping({\n context,\n model,\n input: initialInput,\n validateEntries: true\n });\n\n const locale = getLocale();\n\n const { id, entryId, version } = createEntryId(rawInput);\n\n /**\n * There is a possibility that user sends an ID in the input, so we will use that one.\n * There is no check if the ID is unique or not, that is up to the user.\n */\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * Users can set the initial status of the entry. If so, we need to make\n * sure they have the required permissions and also that all the fields\n * are filled in correctly.\n */\n const status = rawInput.status || STATUS_DRAFT;\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await entriesPermissions.ensure({ pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await entriesPermissions.ensure({ pw: \"u\" });\n }\n }\n\n const locked = status !== STATUS_DRAFT;\n\n let revisionLevelPublishingMetaFields: Pick<\n CmsEntry,\n | \"revisionFirstPublishedOn\"\n | \"revisionLastPublishedOn\"\n | \"revisionFirstPublishedBy\"\n | \"revisionLastPublishedBy\"\n > = {\n revisionFirstPublishedOn: null,\n revisionLastPublishedOn: null,\n revisionFirstPublishedBy: null,\n revisionLastPublishedBy: null\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: null,\n lastPublishedOn: null,\n firstPublishedBy: null,\n lastPublishedBy: null\n };\n\n if (status === STATUS_PUBLISHED) {\n revisionLevelPublishingMetaFields = {\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)\n };\n\n entryLevelPublishingMetaFields = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\n\n const entry: CmsEntry = {\n webinyVersion: context.WEBINY_VERSION,\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\n locale: locale.code,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, null),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity),\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity),\n ...entryLevelPublishingMetaFields,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity),\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity),\n ...revisionLevelPublishingMetaFields,\n\n version,\n status,\n locked,\n values: input,\n location: {\n folderId: rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n }\n };\n\n return { entry, input };\n};\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: DefaultValue): DefaultValue => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\nconst getDefaultValue = (field: CmsModelField): (DefaultValue | DefaultValue[]) | undefined => {\n const { settings, multipleValues } = field;\n if (settings && settings.defaultValue !== undefined) {\n return convertDefaultValue(field, settings.defaultValue);\n }\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n return undefined;\n }\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(value => {\n return !!value.selected;\n });\n if (selectedValue) {\n return convertDefaultValue(field, selectedValue.value);\n }\n return undefined;\n }\n return predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n};\n\n/**\n * Cleans and adds default values to create input data.\n */\nconst mapAndCleanCreateInputData = (model: CmsModel, input: CreateCmsEntryInput) => {\n return model.fields.reduce<CreateCmsEntryInput>((acc, field) => {\n /**\n * This should never happen, but let's make it sure.\n * The fix would be for the user to add the fieldId on the field definition.\n */\n if (!field.fieldId) {\n throw new WebinyError(\"Field does not have an fieldId.\", \"MISSING_FIELD_ID\", {\n field\n });\n }\n const value = input[field.fieldId];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[field.fieldId] = value === undefined ? getDefaultValue(field) : value;\n return acc;\n }, {});\n};\n\nconst createEntryId = (input: CreateCmsEntryInput) => {\n let entryId = mdbid();\n if (input.id) {\n if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\\-]+)([a-zA-Z0-9])$/) === null) {\n throw new WebinyError(\n \"The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.\",\n \"INVALID_ID\",\n {\n id: input.id\n }\n );\n }\n entryId = input.id;\n }\n const version = 1;\n return {\n entryId,\n version,\n id: createIdentifier({\n id: entryId,\n version\n })\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["getDate","ROOT_FOLDER","WebinyError","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","mdbid","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getIdentity","getState","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","list","defaultValue","undefined","predefinedValues","enabled","Array","isArray","values","selectedValue","find","selected","filter","map","createEntryId","input","entryId","id","match","version","cleanInputValues","model","fields","reduce","acc","fieldId","key","createEntryData","rawInput","options","context","getSecurityIdentity","getTenant","accessControl","initialValues","skipValidators","validateEntries","currentIdentity","currentDateTime","Date","status","ensureCanAccessEntry","pw","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","entry","tenant","modelId","createdOn","modifiedOn","savedOn","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","location","folderId","wbyAco_location","state","structuredClone"],"sources":["createEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { getState } from \"./state.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ntype DefaultValue = boolean | number | string | null;\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: DefaultValue): DefaultValue => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\nconst getDefaultValue = (field: CmsModelField): (DefaultValue | DefaultValue[]) | undefined => {\n const { settings, list } = field;\n if (settings && settings.defaultValue !== undefined) {\n return convertDefaultValue(field, settings.defaultValue);\n }\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n return undefined;\n }\n if (!list) {\n const selectedValue = predefinedValues.values.find(value => {\n return !!value.selected;\n });\n if (selectedValue) {\n return convertDefaultValue(field, selectedValue.value);\n }\n return undefined;\n }\n return predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n};\n\nconst createEntryId = (input: CreateCmsEntryInput) => {\n let entryId = mdbid();\n if (input.id) {\n if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\\-]+)([a-zA-Z0-9])$/) === null) {\n throw new WebinyError(\n \"The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.\",\n \"INVALID_ID\",\n {\n id: input.id\n }\n );\n }\n entryId = input.id;\n }\n const version = 1;\n return {\n entryId,\n version,\n id: createIdentifier({\n id: entryId,\n version\n })\n };\n};\n\n/**\n * Cleans and adds default values to create input data.\n */\nconst cleanInputValues = <TValues extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: TValues\n) => {\n return model.fields.reduce<TValues>((acc, field) => {\n /**\n * This should never happen, but let's make it sure.\n * The fix would be for the user to add the fieldId on the field definition.\n */\n if (!field.fieldId) {\n throw new WebinyError(\"Field does not have an fieldId.\", \"MISSING_FIELD_ID\", {\n field\n });\n }\n const key = field.fieldId as keyof TValues;\n const value = input[key] as TValues[keyof TValues];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[key] = value === undefined ? (getDefaultValue(field) as TValues[keyof TValues]) : value;\n return acc;\n }, {} as TValues);\n};\n\ninterface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getTenant,\n accessControl\n}: CreateEntryDataParams<TValues>): Promise<ICreateEntryDataResponse<TValues>> => {\n const initialValues = cleanInputValues<TValues>(model, rawInput.values || ({} as TValues));\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: initialValues,\n validateEntries: true\n });\n\n const { id, entryId, version } = createEntryId(rawInput);\n\n /**\n * There is a possibility that user sends an ID in the input, so we will use that one.\n * There is no check if the ID is unique or not, that is up to the user.\n */\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * Users can set the initial status of the entry. If so, we need to make\n * sure they have the required permissions and also that all the fields\n * are filled in correctly.\n */\n const status = rawInput.status || STATUS_DRAFT;\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, pw: \"u\" });\n }\n }\n\n const locked = status !== STATUS_DRAFT;\n\n let revisionLevelPublishingMetaFields: Pick<\n CmsEntry,\n | \"revisionFirstPublishedOn\"\n | \"revisionLastPublishedOn\"\n | \"revisionFirstPublishedBy\"\n | \"revisionLastPublishedBy\"\n > = {\n revisionFirstPublishedOn: null,\n revisionLastPublishedOn: null,\n revisionFirstPublishedBy: null,\n revisionLastPublishedBy: null\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: null,\n lastPublishedOn: null,\n firstPublishedBy: null,\n lastPublishedBy: null\n };\n\n if (status === STATUS_PUBLISHED) {\n revisionLevelPublishingMetaFields = {\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)\n };\n\n entryLevelPublishingMetaFields = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\n\n const entry: CmsEntry<TValues> = {\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, null),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity)!,\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity)!,\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\n ...entryLevelPublishingMetaFields,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity)!,\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity)!,\n revisionDeletedBy: getIdentity(rawInput.revisionDeletedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\n ...revisionLevelPublishingMetaFields,\n\n version,\n status,\n locked,\n values,\n location: {\n folderId:\n rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n },\n state: getState({\n input: rawInput\n })\n };\n\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"u\" });\n }\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}