@webiny/api-headless-cms 6.3.0-beta.4 → 6.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/entryHooks/OnEntryBeforeCreate.js +2 -1
- package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
- package/abstractions/entryHooks/index.js +0 -2
- package/abstractions/index.js +0 -2
- package/constants.js +56 -56
- package/constants.js.map +1 -1
- package/context.js +97 -127
- package/context.js.map +1 -1
- package/crud/AccessControl/AccessControl.js +315 -470
- package/crud/AccessControl/AccessControl.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.js +191 -309
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +29 -59
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/references/buildPaths.js +105 -130
- package/crud/contentEntry/references/buildPaths.js.map +1 -1
- package/crud/contentEntry/references/validateEntries.js +36 -74
- package/crud/contentEntry/references/validateEntries.js.map +1 -1
- package/crud/contentEntry/searchableFields.js +42 -57
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.js +287 -348
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.js +7 -10
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +6 -8
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/defaultFields.js +56 -49
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel/fields/descriptionField.js +8 -18
- package/crud/contentModel/fields/descriptionField.js.map +1 -1
- package/crud/contentModel/fields/getApplicableFieldById.js +4 -5
- package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
- package/crud/contentModel/fields/imageField.js +8 -13
- package/crud/contentModel/fields/imageField.js.map +1 -1
- package/crud/contentModel/fields/titleField.js +8 -18
- package/crud/contentModel/fields/titleField.js.map +1 -1
- package/crud/contentModel/validate/endingAllowed.js +10 -14
- package/crud/contentModel/validate/endingAllowed.js.map +1 -1
- package/crud/contentModel/validate/isModelEndingAllowed.js +15 -14
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
- package/crud/contentModel/validate/modelId.js +19 -24
- package/crud/contentModel/validate/modelId.js.map +1 -1
- package/crud/contentModel/validate/pluralApiName.js +8 -13
- package/crud/contentModel/validate/pluralApiName.js.map +1 -1
- package/crud/contentModel/validate/singularApiName.js +8 -13
- package/crud/contentModel/validate/singularApiName.js.map +1 -1
- package/crud/contentModel/validateStorageId.js +10 -8
- package/crud/contentModel/validateStorageId.js.map +1 -1
- package/crud/contentModel/validation.js +190 -209
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +65 -109
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup.crud.js +65 -90
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/domain/contentEntry/EntryId.js +37 -45
- package/domain/contentEntry/EntryId.js.map +1 -1
- package/domain/contentEntry/errors.js +38 -42
- package/domain/contentEntry/errors.js.map +1 -1
- package/domain/contentModel/createFieldStorageId.js +6 -8
- package/domain/contentModel/createFieldStorageId.js.map +1 -1
- package/domain/contentModel/ensureTypeTag.js +5 -11
- package/domain/contentModel/ensureTypeTag.js.map +1 -1
- package/domain/contentModel/errors.js +82 -91
- package/domain/contentModel/errors.js.map +1 -1
- package/domain/contentModel/schemas.js +130 -161
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModel/validation/endingAllowed.js +10 -14
- package/domain/contentModel/validation/endingAllowed.js.map +1 -1
- package/domain/contentModel/validation/fields/descriptionField.js +8 -18
- package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
- package/domain/contentModel/validation/fields/getApplicableFieldById.js +4 -5
- package/domain/contentModel/validation/fields/getApplicableFieldById.js.map +1 -1
- package/domain/contentModel/validation/fields/imageField.js +8 -13
- package/domain/contentModel/validation/fields/imageField.js.map +1 -1
- package/domain/contentModel/validation/fields/titleField.js +8 -18
- package/domain/contentModel/validation/fields/titleField.js.map +1 -1
- package/domain/contentModel/validation/isModelEndingAllowed.js +15 -14
- package/domain/contentModel/validation/isModelEndingAllowed.js.map +1 -1
- package/domain/contentModel/validation/modelFields.js +140 -242
- package/domain/contentModel/validation/modelFields.js.map +1 -1
- package/domain/contentModel/validation/modelId.js +19 -24
- package/domain/contentModel/validation/modelId.js.map +1 -1
- package/domain/contentModel/validation/pluralApiName.js +8 -13
- package/domain/contentModel/validation/pluralApiName.js.map +1 -1
- package/domain/contentModel/validation/singularApiName.js +8 -13
- package/domain/contentModel/validation/singularApiName.js.map +1 -1
- package/domain/contentModelGroup/errors.js +60 -67
- package/domain/contentModelGroup/errors.js.map +1 -1
- package/domain/contentModelGroup/validation.js +22 -31
- package/domain/contentModelGroup/validation.js.map +1 -1
- package/export/crud/exporting.js +18 -38
- package/export/crud/exporting.js.map +1 -1
- package/export/crud/importing.js +48 -67
- package/export/crud/importing.js.map +1 -1
- package/export/crud/imports/importData.js +28 -39
- package/export/crud/imports/importData.js.map +1 -1
- package/export/crud/imports/importGroups.js +75 -90
- package/export/crud/imports/importGroups.js.map +1 -1
- package/export/crud/imports/importModels.js +99 -120
- package/export/crud/imports/importModels.js.map +1 -1
- package/export/crud/imports/remapIcon.js +7 -10
- package/export/crud/imports/remapIcon.js.map +1 -1
- package/export/crud/imports/validateGroups.js +75 -99
- package/export/crud/imports/validateGroups.js.map +1 -1
- package/export/crud/imports/validateInput.js +42 -60
- package/export/crud/imports/validateInput.js.map +1 -1
- package/export/crud/imports/validateModels.js +117 -175
- package/export/crud/imports/validateModels.js.map +1 -1
- package/export/crud/index.js +4 -5
- package/export/crud/index.js.map +1 -1
- package/export/crud/sanitize.js +23 -26
- package/export/crud/sanitize.js.map +1 -1
- package/export/graphql/index.js +43 -46
- package/export/graphql/index.js.map +1 -1
- package/export/index.js +0 -2
- package/export/types.js +7 -13
- package/export/types.js.map +1 -1
- package/exports/api/cms/entry.d.ts +2 -0
- package/exports/api/cms/entry.js +15 -69
- package/exports/api/cms/graphql.js +1 -3
- package/exports/api/cms/group.js +3 -14
- package/exports/api/cms/model.js +5 -21
- package/exports/api/cms/storage.js +0 -2
- package/exports/api/cms/validation.js +0 -2
- package/extensions/entryHooks/OnEntryBeforeCreate.js +16 -19
- package/extensions/entryHooks/OnEntryBeforeCreate.js.map +1 -1
- package/extensions/entryHooks/index.js +0 -2
- package/extensions/index.js +4 -2
- package/extensions/index.js.map +1 -1
- package/features/contentEntry/ContentEntriesFeature.js +36 -36
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js +61 -81
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -1
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +18 -16
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -1
- package/features/contentEntry/ContentEntryTraverser/abstractions.js +2 -4
- package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -1
- package/features/contentEntry/ContentEntryTraverser/feature.js +6 -5
- package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -1
- package/features/contentEntry/ContentEntryTraverser/index.js +0 -2
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js +25 -30
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +4 -16
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +50 -88
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntry/abstractions.js +3 -14
- package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.js +17 -27
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntry/feature.js +7 -18
- package/features/contentEntry/CreateEntry/feature.js.map +1 -1
- package/features/contentEntry/CreateEntry/index.js +1 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +29 -41
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +4 -20
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +81 -129
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +3 -25
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +25 -31
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/feature.js +7 -9
- package/features/contentEntry/CreateEntryRevisionFrom/feature.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/index.js +0 -2
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +21 -23
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +70 -96
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +26 -30
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +86 -115
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/abstractions.js +5 -40
- package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +30 -41
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.js +25 -31
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/feature.js +10 -14
- package/features/contentEntry/DeleteEntry/feature.js.map +1 -1
- package/features/contentEntry/DeleteEntry/index.js +2 -4
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +37 -43
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +85 -126
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/abstractions.js +3 -26
- package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.js +25 -31
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/feature.js +7 -9
- package/features/contentEntry/DeleteEntryRevision/feature.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/index.js +2 -4
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +21 -27
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +82 -122
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js +3 -25
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.js +25 -31
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/feature.js +7 -9
- package/features/contentEntry/DeleteMultipleEntries/feature.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/index.js +0 -2
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +30 -35
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +21 -34
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/abstractions.js +3 -14
- package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js +15 -25
- package/features/contentEntry/GetEntriesByIds/decorators/GetEntriesByIdsNotDeletedDecorator.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/feature.js +8 -7
- package/features/contentEntry/GetEntriesByIds/feature.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/index.js +1 -3
- package/features/contentEntry/GetEntry/GetEntryUseCase.js +22 -31
- package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetEntry/abstractions.js +2 -8
- package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntry/feature.js +6 -5
- package/features/contentEntry/GetEntry/feature.js.map +1 -1
- package/features/contentEntry/GetEntry/index.js +0 -2
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +20 -25
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetEntryById/abstractions.js +2 -8
- package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntryById/feature.js +6 -5
- package/features/contentEntry/GetEntryById/feature.js.map +1 -1
- package/features/contentEntry/GetEntryById/index.js +0 -2
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +24 -30
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +21 -34
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +3 -14
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js +15 -25
- package/features/contentEntry/GetLatestEntriesByIds/decorators/GetLatestEntriesByIdsNotDeletedDecorator.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/feature.js +8 -7
- package/features/contentEntry/GetLatestEntriesByIds/feature.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/index.js +1 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +21 -35
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +23 -29
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +6 -21
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/feature.js +10 -19
- package/features/contentEntry/GetLatestRevisionByEntryId/feature.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/index.js +1 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +17 -29
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +14 -16
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +17 -27
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +21 -35
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +23 -29
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +17 -28
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +4 -16
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js +8 -12
- package/features/contentEntry/GetPreviousRevisionByEntryId/feature.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/index.js +1 -3
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +24 -29
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +21 -34
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +3 -14
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js +15 -25
- package/features/contentEntry/GetPublishedEntriesByIds/decorators/GetPublishedEntriesByIdsNotDeletedDecorator.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/feature.js +8 -7
- package/features/contentEntry/GetPublishedEntriesByIds/feature.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/index.js +1 -3
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +25 -31
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +16 -23
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +3 -13
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js +7 -17
- package/features/contentEntry/GetPublishedRevisionByEntryId/feature.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/index.js +1 -3
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +26 -33
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +14 -17
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionById/abstractions.js +3 -15
- package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js +14 -26
- package/features/contentEntry/GetRevisionById/decorators/GetRevisionByIdNotDeletedDecorator.js.map +1 -1
- package/features/contentEntry/GetRevisionById/feature.js +8 -21
- package/features/contentEntry/GetRevisionById/feature.js.map +1 -1
- package/features/contentEntry/GetRevisionById/index.js +1 -3
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +24 -30
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +21 -34
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +3 -14
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/feature.js +7 -6
- package/features/contentEntry/GetRevisionsByEntryId/feature.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/index.js +1 -3
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +25 -43
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/abstractions.js +2 -9
- package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/feature.js +6 -13
- package/features/contentEntry/GetSingletonEntry/feature.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/index.js +0 -2
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +23 -24
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +45 -61
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/abstractions.js +3 -13
- package/features/contentEntry/GetUniqueFieldValues/abstractions.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/errors.js +19 -20
- package/features/contentEntry/GetUniqueFieldValues/errors.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/feature.js +7 -6
- package/features/contentEntry/GetUniqueFieldValues/feature.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/index.js +1 -3
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +22 -29
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +55 -57
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js +33 -53
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +25 -27
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +22 -29
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/abstractions.js +6 -35
- package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
- package/features/contentEntry/ListEntries/feature.js +10 -12
- package/features/contentEntry/ListEntries/feature.js.map +1 -1
- package/features/contentEntry/ListEntries/index.js +1 -3
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js +19 -25
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +66 -94
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/abstractions.js +3 -25
- package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.js +25 -31
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/MoveEntry/feature.js +7 -9
- package/features/contentEntry/MoveEntry/feature.js.map +1 -1
- package/features/contentEntry/MoveEntry/index.js +1 -3
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js +28 -38
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -17
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +77 -118
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/abstractions.js +3 -25
- package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.js +25 -31
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/feature.js +7 -9
- package/features/contentEntry/PublishEntry/feature.js.map +1 -1
- package/features/contentEntry/PublishEntry/index.js +1 -3
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +33 -48
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -15
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +68 -103
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/abstractions.js +3 -26
- package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.js +25 -31
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/feature.js +7 -9
- package/features/contentEntry/RepublishEntry/feature.js.map +1 -1
- package/features/contentEntry/RepublishEntry/index.js +0 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +28 -38
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +80 -110
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js +3 -26
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.js +25 -31
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/feature.js +7 -9
- package/features/contentEntry/RestoreEntryFromBin/feature.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/index.js +0 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +25 -30
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -14
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +70 -115
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/abstractions.js +3 -14
- package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.js +25 -36
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/feature.js +7 -18
- package/features/contentEntry/UnpublishEntry/feature.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/index.js +1 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +25 -30
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +5 -22
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +58 -107
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -3
- package/features/contentEntry/UpdateEntry/abstractions.js +3 -14
- package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.js +17 -27
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/feature.js +7 -18
- package/features/contentEntry/UpdateEntry/feature.js.map +1 -1
- package/features/contentEntry/UpdateEntry/index.js +1 -3
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +77 -0
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -0
- package/features/contentEntry/UpdateRevisionDescription/abstractions.d.ts +25 -0
- package/features/contentEntry/UpdateRevisionDescription/abstractions.js +5 -0
- package/features/contentEntry/UpdateRevisionDescription/abstractions.js.map +1 -0
- package/features/contentEntry/UpdateRevisionDescription/events.d.ts +44 -0
- package/features/contentEntry/UpdateRevisionDescription/events.js +23 -0
- package/features/contentEntry/UpdateRevisionDescription/events.js.map +1 -0
- package/features/contentEntry/UpdateRevisionDescription/feature.d.ts +12 -0
- package/features/contentEntry/UpdateRevisionDescription/feature.js +11 -0
- package/features/contentEntry/UpdateRevisionDescription/feature.js.map +1 -0
- package/features/contentEntry/UpdateRevisionDescription/index.d.ts +2 -0
- package/features/contentEntry/UpdateRevisionDescription/index.js +2 -0
- package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js +17 -26
- package/features/contentEntry/UpdateSingletonEntry/UpdateSingletonEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js +2 -9
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/feature.js +6 -13
- package/features/contentEntry/UpdateSingletonEntry/feature.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/index.js +0 -2
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +42 -63
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
- package/features/contentEntry/ValidateEntry/abstractions.js +2 -8
- package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ValidateEntry/feature.js +6 -6
- package/features/contentEntry/ValidateEntry/feature.js.map +1 -1
- package/features/contentEntry/ValidateEntry/index.js +0 -2
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +15 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +212 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.d.ts +13 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js +2 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +15 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +150 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.d.ts +13 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js +2 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +66 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/index.js +2 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +62 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/index.js +2 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +10 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +41 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/index.js +2 -0
- package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js +21 -0
- package/features/contentEntry/entryDataFactories/EntryDataFactoriesFeature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +12 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +104 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.d.ts +13 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js +5 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js.map +1 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.d.ts +4 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js +11 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/feature.js.map +1 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.d.ts +2 -0
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/index.js +2 -0
- package/{crud → features}/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +0 -3
- package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +17 -0
- package/features/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
- package/features/contentEntry/entryDataFactories/statuses.js +7 -0
- package/features/contentEntry/entryDataFactories/statuses.js.map +1 -0
- package/features/contentEntry/entryDataFactories/system.js +10 -0
- package/features/contentEntry/entryDataFactories/system.js.map +1 -0
- package/features/contentModel/ContentModelFeature.js +16 -19
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.js +104 -148
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.js +74 -119
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.js +3 -13
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/events.js +25 -36
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModel/feature.js +7 -16
- package/features/contentModel/CreateModel/feature.js.map +1 -1
- package/features/contentModel/CreateModel/index.js +1 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +107 -150
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +84 -119
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.js +3 -13
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.js +25 -36
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/feature.js +7 -16
- package/features/contentModel/CreateModelFrom/feature.js.map +1 -1
- package/features/contentModel/CreateModelFrom/index.js +1 -3
- package/features/contentModel/DeleteModel/DeleteModelRepository.js +27 -41
- package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js +44 -72
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +50 -83
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
- package/features/contentModel/DeleteModel/abstractions.js +3 -13
- package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/events.js +25 -36
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/DeleteModel/feature.js +8 -19
- package/features/contentModel/DeleteModel/feature.js.map +1 -1
- package/features/contentModel/DeleteModel/index.js +1 -3
- package/features/contentModel/GetModel/GetModelRepository.js +15 -23
- package/features/contentModel/GetModel/GetModelRepository.js.map +1 -1
- package/features/contentModel/GetModel/GetModelUseCase.js +21 -34
- package/features/contentModel/GetModel/GetModelUseCase.js.map +1 -1
- package/features/contentModel/GetModel/abstractions.js +3 -13
- package/features/contentModel/GetModel/abstractions.js.map +1 -1
- package/features/contentModel/GetModel/feature.js +7 -16
- package/features/contentModel/GetModel/feature.js.map +1 -1
- package/features/contentModel/GetModel/index.js +0 -2
- package/features/contentModel/ListModels/ListModelsRepository.js +18 -36
- package/features/contentModel/ListModels/ListModelsRepository.js.map +1 -1
- package/features/contentModel/ListModels/ListModelsUseCase.js +23 -41
- package/features/contentModel/ListModels/ListModelsUseCase.js.map +1 -1
- package/features/contentModel/ListModels/abstractions.js +3 -13
- package/features/contentModel/ListModels/abstractions.js.map +1 -1
- package/features/contentModel/ListModels/feature.js +7 -17
- package/features/contentModel/ListModels/feature.js.map +1 -1
- package/features/contentModel/ListModels/index.js +0 -2
- package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +18 -18
- package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -1
- package/features/contentModel/ModelFieldCompression/abstractions.js +2 -1
- package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -1
- package/features/contentModel/ModelFieldCompression/feature.js +6 -5
- package/features/contentModel/ModelFieldCompression/feature.js.map +1 -1
- package/features/contentModel/ModelFieldCompression/index.js +0 -2
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +15 -19
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
- package/features/contentModel/ModelToAstConverter/abstractions.js +2 -6
- package/features/contentModel/ModelToAstConverter/abstractions.js.map +1 -1
- package/features/contentModel/ModelToAstConverter/feature.js +6 -5
- package/features/contentModel/ModelToAstConverter/feature.js.map +1 -1
- package/features/contentModel/ModelToAstConverter/index.js +0 -2
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +71 -97
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +75 -118
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.js +3 -13
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/events.js +25 -36
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModel/UpdateModel/feature.js +7 -16
- package/features/contentModel/UpdateModel/feature.js.map +1 -1
- package/features/contentModel/UpdateModel/index.js +1 -3
- package/features/contentModel/shared/ModelsFetcher.js +66 -81
- package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
- package/features/contentModel/shared/PluginModelsProvider.js +38 -54
- package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
- package/features/contentModel/shared/abstractions.js +4 -16
- package/features/contentModel/shared/abstractions.js.map +1 -1
- package/features/contentModelGroup/ContentModelGroupFeature.js +12 -16
- package/features/contentModelGroup/ContentModelGroupFeature.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +63 -94
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +80 -107
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.js +3 -13
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.js +25 -36
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/feature.js +7 -16
- package/features/contentModelGroup/CreateGroup/feature.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/index.js +0 -2
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +37 -56
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +53 -80
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/abstractions.js +3 -13
- package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.js +25 -36
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/feature.js +7 -16
- package/features/contentModelGroup/DeleteGroup/feature.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/index.js +0 -2
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js +60 -80
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +19 -34
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/GetGroup/abstractions.js +3 -13
- package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/GetGroup/feature.js +7 -16
- package/features/contentModelGroup/GetGroup/feature.js.map +1 -1
- package/features/contentModelGroup/GetGroup/index.js +0 -2
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +57 -74
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +19 -34
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
- package/features/contentModelGroup/ListGroups/abstractions.js +3 -13
- package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
- package/features/contentModelGroup/ListGroups/feature.js +7 -16
- package/features/contentModelGroup/ListGroups/feature.js.map +1 -1
- package/features/contentModelGroup/ListGroups/index.js +0 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +31 -44
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +75 -111
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.js +3 -13
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.js +25 -36
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/feature.js +7 -16
- package/features/contentModelGroup/UpdateGroup/feature.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/index.js +0 -2
- package/features/contentModelGroup/shared/PluginGroupsProvider.js +61 -78
- package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.js +4 -9
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/contentModelGroup/shared/index.js +1 -3
- package/features/graphql/feature.js +18 -17
- package/features/graphql/feature.js.map +1 -1
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +24 -20
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +2 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +2 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -1
- package/features/graphql/fields/base/BooleanToGraphQL.js +37 -52
- package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/DateTimeToGraphQL.js +48 -63
- package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +168 -252
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/FileToGraphQL.js +24 -27
- package/features/graphql/fields/base/FileToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/JsonToGraphQL.js +30 -39
- package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/LongTextToGraphQL.js +31 -42
- package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/NumberToGraphQL.js +37 -52
- package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/ObjectToGraphQL.js +180 -239
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RefToGraphQL.js +150 -210
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RichTextToGraphQL.js +35 -46
- package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js +38 -51
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/TextToGraphQL.js +37 -52
- package/features/graphql/fields/base/TextToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +26 -31
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -1
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +7 -10
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -1
- package/features/graphql/fields/base/richText/richTextResolver.js +11 -20
- package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
- package/features/graphql/fields/base/utils/createGraphQLInputField.js +6 -13
- package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -1
- package/features/graphql/index.js +0 -2
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +2 -1
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -1
- package/features/installer/CmsInstaller.js +31 -32
- package/features/installer/CmsInstaller.js.map +1 -1
- package/features/installer/feature.js +6 -5
- package/features/installer/feature.js.map +1 -1
- package/features/modelBuilder/LayoutBuilder.js +66 -122
- package/features/modelBuilder/LayoutBuilder.js.map +1 -1
- package/features/modelBuilder/abstractions.js +3 -17
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/feature.js +31 -42
- package/features/modelBuilder/feature.js.map +1 -1
- package/features/modelBuilder/fields/BaseFieldBuilder.js +31 -38
- package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/BooleanFieldType.js +18 -17
- package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.js +157 -201
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DateTimeFieldType.js +59 -78
- package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +51 -54
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilder.js +0 -2
- package/features/modelBuilder/fields/FieldBuilderRegistry.js +38 -62
- package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
- package/features/modelBuilder/fields/FileFieldType.js +25 -24
- package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
- package/features/modelBuilder/fields/JsonFieldType.js +13 -12
- package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LayoutFieldBuilder.js +3 -6
- package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/LocationFieldType.js +15 -14
- package/features/modelBuilder/fields/LocationFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LongTextFieldType.js +115 -114
- package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/NumberFieldType.js +38 -37
- package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
- package/features/modelBuilder/fields/ObjectFieldType.js +50 -67
- package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RefFieldType.js +25 -24
- package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RichTextFieldType.js +20 -19
- package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/SearchableJsonFieldType.js +13 -12
- package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.js +123 -123
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiAlertFieldType.js +27 -27
- package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiSeparatorFieldType.js +23 -22
- package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiTabsFieldType.js +58 -63
- package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -1
- package/features/modelBuilder/fields/abstractions.js +2 -9
- package/features/modelBuilder/fields/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/fieldTypeValidator.js +0 -31
- package/features/modelBuilder/index.js +10 -16
- package/features/modelBuilder/models/BaseModelBuilder.js +70 -130
- package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/ModelBuilder.js +18 -33
- package/features/modelBuilder/models/ModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/ModelsProvider.js +24 -33
- package/features/modelBuilder/models/ModelsProvider.js.map +1 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js +15 -24
- package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PublicModelBuilder.js +89 -114
- package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/abstractions.js +2 -6
- package/features/modelBuilder/models/abstractions.js.map +1 -1
- package/features/shared/abstractions.js +5 -16
- package/features/shared/abstractions.js.map +1 -1
- package/features/sortMapper/SortMapper.js +27 -46
- package/features/sortMapper/SortMapper.js.map +1 -1
- package/features/sortMapper/abstractions.js +2 -2
- package/features/sortMapper/abstractions.js.map +1 -1
- package/features/sortMapper/feature.js +7 -6
- package/features/sortMapper/feature.js.map +1 -1
- package/features/storage/StorageTransformRegistry.js +24 -20
- package/features/storage/StorageTransformRegistry.js.map +1 -1
- package/features/storage/abstractions/StorageTransform.js +2 -1
- package/features/storage/abstractions/StorageTransform.js.map +1 -1
- package/features/storage/abstractions/StorageTransformRegistry.js +2 -1
- package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -1
- package/features/storage/feature.js +13 -12
- package/features/storage/feature.js.map +1 -1
- package/features/storage/fields/DateStorageTransform.js +67 -96
- package/features/storage/fields/DateStorageTransform.js.map +1 -1
- package/features/storage/fields/DefaultStorageTransform.js +13 -14
- package/features/storage/fields/DefaultStorageTransform.js.map +1 -1
- package/features/storage/fields/DynamicZoneStorageTransform.js +91 -128
- package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -1
- package/features/storage/fields/JsonStorageTransform.js +17 -22
- package/features/storage/fields/JsonStorageTransform.js.map +1 -1
- package/features/storage/fields/LongTextStorageTransform.js +33 -44
- package/features/storage/fields/LongTextStorageTransform.js.map +1 -1
- package/features/storage/fields/ObjectStorageTransform.js +64 -87
- package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
- package/features/storage/fields/RichTextStorageTransform.js +23 -28
- package/features/storage/fields/RichTextStorageTransform.js.map +1 -1
- package/features/storage/index.js +0 -2
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -15
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
- package/features/validation/CmsModelFieldValidatorRegistry.js +21 -17
- package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -1
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js +2 -1
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -1
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +2 -1
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -1
- package/features/validation/abstractions/CmsModelFieldValidator.js +2 -1
- package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -1
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +2 -1
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -1
- package/features/validation/feature.js +25 -24
- package/features/validation/feature.js.map +1 -1
- package/features/validation/index.js +0 -2
- package/features/validation/validators/DateGteValidator.js +12 -18
- package/features/validation/validators/DateGteValidator.js.map +1 -1
- package/features/validation/validators/DateLteValidator.js +12 -18
- package/features/validation/validators/DateLteValidator.js.map +1 -1
- package/features/validation/validators/GteValidator.js +11 -13
- package/features/validation/validators/GteValidator.js.map +1 -1
- package/features/validation/validators/InValidator.js +11 -13
- package/features/validation/validators/InValidator.js.map +1 -1
- package/features/validation/validators/LteValidator.js +11 -13
- package/features/validation/validators/LteValidator.js.map +1 -1
- package/features/validation/validators/MaxLengthValidator.js +11 -13
- package/features/validation/validators/MaxLengthValidator.js.map +1 -1
- package/features/validation/validators/MinLengthValidator.js +11 -13
- package/features/validation/validators/MinLengthValidator.js.map +1 -1
- package/features/validation/validators/PatternValidator.js +20 -29
- package/features/validation/validators/PatternValidator.js.map +1 -1
- package/features/validation/validators/RequiredValidator.js +10 -9
- package/features/validation/validators/RequiredValidator.js.map +1 -1
- package/features/validation/validators/TimeGteValidator.js +11 -13
- package/features/validation/validators/TimeGteValidator.js.map +1 -1
- package/features/validation/validators/TimeLteValidator.js +11 -13
- package/features/validation/validators/TimeLteValidator.js.map +1 -1
- package/features/validation/validators/UniqueValidator.js +31 -38
- package/features/validation/validators/UniqueValidator.js.map +1 -1
- package/features/validation/validators/patterns/EmailPattern.js +11 -8
- package/features/validation/validators/patterns/EmailPattern.js.map +1 -1
- package/features/validation/validators/patterns/LowerCasePattern.js +11 -8
- package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -1
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js +11 -8
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -1
- package/features/validation/validators/patterns/UpperCasePattern.js +11 -8
- package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -1
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js +11 -8
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -1
- package/features/validation/validators/patterns/UrlPattern.js +11 -8
- package/features/validation/validators/patterns/UrlPattern.js.map +1 -1
- package/features/whereMapper/WhereMapper.js +42 -69
- package/features/whereMapper/WhereMapper.js.map +1 -1
- package/features/whereMapper/abstractions.js +2 -2
- package/features/whereMapper/abstractions.js.map +1 -1
- package/features/whereMapper/feature.js +7 -6
- package/features/whereMapper/feature.js.map +1 -1
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +18 -37
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +92 -136
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +103 -152
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.js +6 -6
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.js +16 -20
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.js +4 -5
- package/graphql/checkEndpointAccess.js.map +1 -1
- package/graphql/createExecutableSchema.js +30 -41
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/formatErrorPayload.js +13 -14
- package/graphql/formatErrorPayload.js.map +1 -1
- package/graphql/generateSchema.js +20 -24
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema/generateCacheId.js +7 -6
- package/graphql/getSchema/generateCacheId.js.map +1 -1
- package/graphql/getSchema/generateCacheKey.js +23 -23
- package/graphql/getSchema/generateCacheKey.js.map +1 -1
- package/graphql/getSchema.js +46 -63
- package/graphql/getSchema.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +15 -23
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.js +50 -63
- package/graphql/handleRequest.js.map +1 -1
- package/graphql/index.js +6 -3
- package/graphql/index.js.map +1 -1
- package/graphql/scalars/RevisionId.js +10 -14
- package/graphql/scalars/RevisionId.js.map +1 -1
- package/graphql/scalars/RevisionIdScalarPlugin.js +10 -7
- package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +29 -30
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.js +33 -36
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/cms/createEntryResolver.js +37 -49
- package/graphql/schema/cms/createEntryResolver.js.map +1 -1
- package/graphql/schema/cms/deleteEntryResolver.js +39 -51
- package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getEntryResolver.js +37 -51
- package/graphql/schema/cms/getEntryResolver.js.map +1 -1
- package/graphql/schema/cms/helpers/buildFieldsSelection.js +26 -71
- package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
- package/graphql/schema/cms/helpers/getErrorMessage.js +5 -11
- package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -1
- package/graphql/schema/cms/helpers/getModel.js +5 -9
- package/graphql/schema/cms/helpers/getModel.js.map +1 -1
- package/graphql/schema/cms/helpers/index.js +0 -2
- package/graphql/schema/cms/helpers/transformSortToArray.js +7 -34
- package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -1
- package/graphql/schema/cms/helpers/transformWhereToNested.js +23 -50
- package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
- package/graphql/schema/cms/helpers.js +0 -2
- package/graphql/schema/cms/index.js +20 -22
- package/graphql/schema/cms/index.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.js +58 -82
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/publishEntryResolver.js +37 -49
- package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/resolvers/createEntry.js +11 -10
- package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js +11 -10
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/getEntry.js +11 -10
- package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/index.js +0 -2
- package/graphql/schema/cms/resolvers/listEntries.js +11 -10
- package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
- package/graphql/schema/cms/resolvers/mutationCms.js +13 -18
- package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/publishEntryRevision.js +11 -10
- package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/queryCms.js +13 -17
- package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +11 -10
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/updateEntryRevision.js +11 -10
- package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
- package/graphql/schema/cms/typeDefs/index.js +0 -2
- package/graphql/schema/cms/typeDefs/mutation.js +8 -7
- package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.js +8 -7
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/cms/typeDefs/responses.js +8 -7
- package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
- package/graphql/schema/cms/unpublishEntryResolver.js +37 -49
- package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/updateEntryResolver.js +38 -51
- package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
- package/graphql/schema/contentEntries.js +218 -305
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +70 -89
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +92 -105
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +67 -121
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +70 -86
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.js +48 -58
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +24 -27
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +26 -35
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.js +35 -42
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/createSingularResolvers.js +32 -40
- package/graphql/schema/createSingularResolvers.js.map +1 -1
- package/graphql/schema/createSingularSDL.js +32 -44
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +36 -48
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +9 -10
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +9 -10
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +18 -28
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +11 -12
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +41 -53
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +9 -10
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +9 -10
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +9 -10
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +10 -11
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.js +10 -11
- package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.js +11 -17
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +9 -10
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +10 -11
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +9 -10
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +10 -11
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +9 -10
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +12 -0
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js +10 -11
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +13 -16
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +10 -11
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +13 -16
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +10 -11
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.js +7 -10
- package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.js +7 -10
- package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +81 -97
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/index.js +17 -23
- package/index.js.map +1 -1
- package/legacy/abstractions.js +5 -22
- package/legacy/abstractions.js.map +1 -1
- package/package.json +25 -25
- package/parameters/context.js +4 -7
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +10 -22
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +0 -2
- package/parameters/path.js +9 -19
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +6 -5
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/index.js +0 -2
- package/plugins/CmsGroupPlugin.js +15 -26
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +5 -5
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.js +135 -213
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +12 -14
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/StorageOperationsCmsModelPlugin.js +22 -29
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
- package/plugins/index.js +0 -2
- package/types/context.d.ts +6 -2
- package/types/context.js +0 -3
- package/types/fields/dynamicZoneField.js +0 -3
- package/types/fields/objectField.js +0 -3
- package/types/identity.js +0 -3
- package/types/index.js +0 -2
- package/types/model.js +0 -3
- package/types/modelAst.js +0 -3
- package/types/modelField.js +0 -3
- package/types/modelGroup.js +0 -3
- package/types/plugins.js +0 -3
- package/types/types.d.ts +4 -9
- package/types/types.js +6 -218
- package/types/types.js.map +1 -1
- package/utils/caching/Cache.js +28 -35
- package/utils/caching/Cache.js.map +1 -1
- package/utils/caching/CacheKey.js +13 -14
- package/utils/caching/CacheKey.js.map +1 -1
- package/utils/caching/index.js +0 -2
- package/utils/caching/types.js +0 -3
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +12 -15
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +13 -12
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
- package/utils/contentModelAst/CmsModelToAstConverter.js +14 -18
- package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
- package/utils/contentModelAst/index.js +0 -2
- package/utils/converters/Converter.js +35 -44
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.js +70 -107
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/types.js +0 -3
- package/utils/converters/valueKeyFromStorageConverter.js +13 -19
- package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +18 -21
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyToStorageConverter.js +13 -19
- package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
- package/utils/createModelField.js +24 -44
- package/utils/createModelField.js.map +1 -1
- package/utils/createTypeFromFields.js +30 -52
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.js +2 -3
- package/utils/createTypeName.js.map +1 -1
- package/utils/date.js +9 -24
- package/utils/date.js.map +1 -1
- package/utils/entryStorage.js +57 -90
- package/utils/entryStorage.js.map +1 -1
- package/utils/errors.js +7 -7
- package/utils/errors.js.map +1 -1
- package/utils/filterAsync.js +8 -9
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.js +4 -5
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.js +9 -14
- package/utils/getEntryDescription.js.map +1 -1
- package/utils/getEntryImage.js +9 -14
- package/utils/getEntryImage.js.map +1 -1
- package/utils/getEntryTitle.js +11 -26
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.js +27 -39
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/identity.js +9 -16
- package/utils/identity.js.map +1 -1
- package/utils/incrementEntryIdVersion.js +14 -18
- package/utils/incrementEntryIdVersion.js.map +1 -1
- package/utils/index.js +0 -2
- package/utils/isHeadlessCmsReady.js +5 -14
- package/utils/isHeadlessCmsReady.js.map +1 -1
- package/utils/modelFieldTraverser/ModelFieldTraverser.js +27 -29
- package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
- package/utils/modelFieldTraverser/index.js +0 -2
- package/utils/renderFields.js +26 -49
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +31 -37
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.js +23 -40
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +60 -56
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.js +21 -23
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +6 -7
- package/utils/toSlug.js.map +1 -1
- package/abstractions/entryHooks/index.js.map +0 -1
- package/abstractions/index.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +0 -19
- package/crud/contentEntry/entryDataFactories/createEntryData.js +0 -263
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +0 -22
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +0 -165
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +0 -14
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +0 -59
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +0 -13
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +0 -54
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +0 -11
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +0 -34
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +0 -19
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +0 -131
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/index.d.ts +0 -8
- package/crud/contentEntry/entryDataFactories/index.js +0 -10
- package/crud/contentEntry/entryDataFactories/index.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +0 -32
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/statuses.js +0 -6
- package/crud/contentEntry/entryDataFactories/statuses.js.map +0 -1
- package/crud/contentEntry/entryDataFactories/system.js +0 -14
- package/crud/contentEntry/entryDataFactories/system.js.map +0 -1
- package/export/index.js.map +0 -1
- package/exports/api/cms/entry.js.map +0 -1
- package/exports/api/cms/graphql.js.map +0 -1
- package/exports/api/cms/group.js.map +0 -1
- package/exports/api/cms/model.js.map +0 -1
- package/exports/api/cms/storage.js.map +0 -1
- package/exports/api/cms/validation.js.map +0 -1
- package/extensions/entryHooks/index.js.map +0 -1
- package/features/contentEntry/ContentEntryTraverser/index.js.map +0 -1
- package/features/contentEntry/CreateEntry/index.js.map +0 -1
- package/features/contentEntry/CreateEntryRevisionFrom/index.js.map +0 -1
- package/features/contentEntry/DeleteEntry/index.js.map +0 -1
- package/features/contentEntry/DeleteEntryRevision/index.js.map +0 -1
- package/features/contentEntry/DeleteMultipleEntries/index.js.map +0 -1
- package/features/contentEntry/GetEntriesByIds/index.js.map +0 -1
- package/features/contentEntry/GetEntry/index.js.map +0 -1
- package/features/contentEntry/GetEntryById/index.js.map +0 -1
- package/features/contentEntry/GetLatestEntriesByIds/index.js.map +0 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/index.js.map +0 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/index.js.map +0 -1
- package/features/contentEntry/GetPublishedEntriesByIds/index.js.map +0 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/index.js.map +0 -1
- package/features/contentEntry/GetRevisionById/index.js.map +0 -1
- package/features/contentEntry/GetRevisionsByEntryId/index.js.map +0 -1
- package/features/contentEntry/GetSingletonEntry/index.js.map +0 -1
- package/features/contentEntry/GetUniqueFieldValues/index.js.map +0 -1
- package/features/contentEntry/ListEntries/index.js.map +0 -1
- package/features/contentEntry/MoveEntry/index.js.map +0 -1
- package/features/contentEntry/PublishEntry/index.js.map +0 -1
- package/features/contentEntry/RepublishEntry/index.js.map +0 -1
- package/features/contentEntry/RestoreEntryFromBin/index.js.map +0 -1
- package/features/contentEntry/UnpublishEntry/index.js.map +0 -1
- package/features/contentEntry/UpdateEntry/index.js.map +0 -1
- package/features/contentEntry/UpdateSingletonEntry/index.js.map +0 -1
- package/features/contentEntry/ValidateEntry/index.js.map +0 -1
- package/features/contentModel/CreateModel/index.js.map +0 -1
- package/features/contentModel/CreateModelFrom/index.js.map +0 -1
- package/features/contentModel/DeleteModel/index.js.map +0 -1
- package/features/contentModel/GetModel/index.js.map +0 -1
- package/features/contentModel/ListModels/index.js.map +0 -1
- package/features/contentModel/ModelFieldCompression/index.js.map +0 -1
- package/features/contentModel/ModelToAstConverter/index.js.map +0 -1
- package/features/contentModel/UpdateModel/index.js.map +0 -1
- package/features/contentModelGroup/CreateGroup/index.js.map +0 -1
- package/features/contentModelGroup/DeleteGroup/index.js.map +0 -1
- package/features/contentModelGroup/GetGroup/index.js.map +0 -1
- package/features/contentModelGroup/ListGroups/index.js.map +0 -1
- package/features/contentModelGroup/UpdateGroup/index.js.map +0 -1
- package/features/contentModelGroup/shared/index.js.map +0 -1
- package/features/graphql/index.js.map +0 -1
- package/features/modelBuilder/fields/FieldBuilder.js.map +0 -1
- package/features/modelBuilder/fields/fieldTypeValidator.js.map +0 -1
- package/features/modelBuilder/index.js.map +0 -1
- package/features/storage/index.js.map +0 -1
- package/features/validation/index.js.map +0 -1
- package/graphql/schema/cms/helpers/index.js.map +0 -1
- package/graphql/schema/cms/helpers.js.map +0 -1
- package/graphql/schema/cms/resolvers/index.js.map +0 -1
- package/graphql/schema/cms/typeDefs/index.js.map +0 -1
- package/parameters/index.js.map +0 -1
- package/plugins/CmsGraphQLSchemaPlugin/index.js.map +0 -1
- package/plugins/index.js.map +0 -1
- package/types/context.js.map +0 -1
- package/types/fields/dynamicZoneField.js.map +0 -1
- package/types/fields/objectField.js.map +0 -1
- package/types/identity.js.map +0 -1
- package/types/index.js.map +0 -1
- package/types/model.js.map +0 -1
- package/types/modelAst.js.map +0 -1
- package/types/modelField.js.map +0 -1
- package/types/modelGroup.js.map +0 -1
- package/types/plugins.js.map +0 -1
- package/utils/caching/index.js.map +0 -1
- package/utils/caching/types.js.map +0 -1
- package/utils/contentModelAst/index.js.map +0 -1
- package/utils/converters/types.js.map +0 -1
- package/utils/index.js.map +0 -1
- package/utils/modelFieldTraverser/index.js.map +0 -1
- /package/{crud → features}/contentEntry/entryDataFactories/statuses.d.ts +0 -0
- /package/{crud → features}/contentEntry/entryDataFactories/system.d.ts +0 -0
|
@@ -1,68 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import dot_prop_immutable from "dot-prop-immutable";
|
|
2
2
|
import { parseIdentifier } from "@webiny/utils";
|
|
3
3
|
import { buildReferenceFieldPaths } from "./references/buildPaths.js";
|
|
4
4
|
import { validateReferencedEntries } from "./references/validateEntries.js";
|
|
5
5
|
import { createIdentifier } from "@webiny/utils/createIdentifier.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const {
|
|
14
|
-
context,
|
|
15
|
-
model,
|
|
16
|
-
values,
|
|
17
|
-
validateEntries = false
|
|
18
|
-
} = params;
|
|
19
|
-
let output = structuredClone(values);
|
|
20
|
-
const referenceFieldPaths = buildReferenceFieldPaths({
|
|
21
|
-
fields: model.fields,
|
|
22
|
-
input: values,
|
|
23
|
-
parentPaths: []
|
|
24
|
-
});
|
|
25
|
-
if (!referenceFieldPaths.length) {
|
|
26
|
-
return output;
|
|
27
|
-
}
|
|
28
|
-
if (validateEntries) {
|
|
29
|
-
await validateReferencedEntries({
|
|
30
|
-
output,
|
|
31
|
-
context,
|
|
32
|
-
referenceFieldPaths
|
|
6
|
+
const referenceFieldsMapping = async (params)=>{
|
|
7
|
+
const { context, model, values, validateEntries = false } = params;
|
|
8
|
+
let output = structuredClone(values);
|
|
9
|
+
const referenceFieldPaths = buildReferenceFieldPaths({
|
|
10
|
+
fields: model.fields,
|
|
11
|
+
input: values,
|
|
12
|
+
parentPaths: []
|
|
33
13
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
for (const path of referenceFieldPaths) {
|
|
40
|
-
// It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.
|
|
41
|
-
const refValue = dotPropImmutable.get(values, path);
|
|
42
|
-
if (!refValue) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards
|
|
48
|
-
* compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need
|
|
49
|
-
* to make sure that the legacy structure { entryId, modelId } is supported.
|
|
50
|
-
*/
|
|
51
|
-
const {
|
|
52
|
-
id: entryId,
|
|
53
|
-
version
|
|
54
|
-
} = parseIdentifier(refValue.id || refValue.entryId);
|
|
55
|
-
const id = createIdentifier({
|
|
56
|
-
version: version || 1,
|
|
57
|
-
id: entryId
|
|
14
|
+
if (!referenceFieldPaths.length) return output;
|
|
15
|
+
if (validateEntries) await validateReferencedEntries({
|
|
16
|
+
output,
|
|
17
|
+
context,
|
|
18
|
+
referenceFieldPaths
|
|
58
19
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
20
|
+
for (const path of referenceFieldPaths){
|
|
21
|
+
const refValue = dot_prop_immutable.get(values, path);
|
|
22
|
+
if (!refValue) continue;
|
|
23
|
+
const { id: entryId, version } = parseIdentifier(refValue.id || refValue.entryId);
|
|
24
|
+
const id = createIdentifier({
|
|
25
|
+
version: version || 1,
|
|
26
|
+
id: entryId
|
|
27
|
+
});
|
|
28
|
+
output = dot_prop_immutable.set(output, path, {
|
|
29
|
+
id,
|
|
30
|
+
entryId,
|
|
31
|
+
modelId: refValue.modelId
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return output;
|
|
66
35
|
};
|
|
36
|
+
export { referenceFieldsMapping };
|
|
67
37
|
|
|
68
38
|
//# sourceMappingURL=referenceFieldsMapping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"crud/contentEntry/referenceFieldsMapping.js","sources":["../../../src/crud/contentEntry/referenceFieldsMapping.ts"],"sourcesContent":["import dotPropImmutable from \"dot-prop-immutable\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport type { CmsContext, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { buildReferenceFieldPaths } from \"./references/buildPaths.js\";\nimport { validateReferencedEntries } from \"~/crud/contentEntry/references/validateEntries.js\";\nimport { createIdentifier } from \"@webiny/utils/createIdentifier.js\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ninterface IReferenceFieldsMappingParams<TValues extends CmsEntryValues = CmsEntryValues> {\n context: CmsContext;\n model: CmsModel;\n values: TValues;\n validateEntries?: boolean;\n}\n\n/**\n * This function traverses the content entry input value, extracts all occurrences of the `ref` field,\n * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to\n * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via\n * the `read` and `preview` endpoint.\n */\nexport const referenceFieldsMapping = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IReferenceFieldsMappingParams<TValues>\n): Promise<TValues> => {\n const { context, model, values, validateEntries = false } = params;\n\n let output = structuredClone(values);\n\n const referenceFieldPaths = buildReferenceFieldPaths<TValues>({\n fields: model.fields,\n input: values,\n parentPaths: []\n });\n\n if (!referenceFieldPaths.length) {\n return output;\n }\n\n if (validateEntries) {\n await validateReferencedEntries({\n output,\n context,\n referenceFieldPaths\n });\n }\n\n /**\n * Assign the entryId, id and model values to the output.\n */\n for (const path of referenceFieldPaths) {\n // It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.\n const refValue = dotPropImmutable.get(values, path) as CmsRefEntry | undefined;\n if (!refValue) {\n continue;\n }\n\n /**\n * Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards\n * compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need\n * to make sure that the legacy structure { entryId, modelId } is supported.\n */\n const { id: entryId, version } = parseIdentifier(refValue.id || refValue.entryId);\n\n const id = createIdentifier({\n version: version || 1,\n id: entryId\n });\n\n output = dotPropImmutable.set(output, path, {\n id,\n entryId,\n modelId: refValue.modelId\n });\n }\n\n return output;\n};\n"],"names":["referenceFieldsMapping","params","context","model","values","validateEntries","output","structuredClone","referenceFieldPaths","buildReferenceFieldPaths","validateReferencedEntries","path","refValue","dotPropImmutable","entryId","version","parseIdentifier","id","createIdentifier"],"mappings":";;;;;AA0BO,MAAMA,yBAAyB,OAClCC;IAEA,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,MAAM,EAAEC,kBAAkB,KAAK,EAAE,GAAGJ;IAE5D,IAAIK,SAASC,gBAAgBH;IAE7B,MAAMI,sBAAsBC,yBAAkC;QAC1D,QAAQN,MAAM,MAAM;QACpB,OAAOC;QACP,aAAa,EAAE;IACnB;IAEA,IAAI,CAACI,oBAAoB,MAAM,EAC3B,OAAOF;IAGX,IAAID,iBACA,MAAMK,0BAA0B;QAC5BJ;QACAJ;QACAM;IACJ;IAMJ,KAAK,MAAMG,QAAQH,oBAAqB;QAEpC,MAAMI,WAAWC,mBAAAA,GAAoB,CAACT,QAAQO;QAC9C,IAAI,CAACC,UACD;QAQJ,MAAM,EAAE,IAAIE,OAAO,EAAEC,OAAO,EAAE,GAAGC,gBAAgBJ,SAAS,EAAE,IAAIA,SAAS,OAAO;QAEhF,MAAMK,KAAKC,iBAAiB;YACxB,SAASH,WAAW;YACpB,IAAID;QACR;QAEAR,SAASO,mBAAAA,GAAoB,CAACP,QAAQK,MAAM;YACxCM;YACAH;YACA,SAASF,SAAS,OAAO;QAC7B;IACJ;IAEA,OAAON;AACX"}
|
|
@@ -1,140 +1,115 @@
|
|
|
1
|
-
import
|
|
1
|
+
import dot_prop_immutable from "dot-prop-immutable";
|
|
2
2
|
import { getBaseFieldType } from "../../../utils/getBaseFieldType.js";
|
|
3
|
-
const resolveBaseRef = params
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (field.list) {
|
|
13
|
-
const inputValue = dotPropImmutable.get(input, `${field.fieldId}`, []);
|
|
14
|
-
if (!Array.isArray(inputValue)) {
|
|
15
|
-
return collection;
|
|
16
|
-
}
|
|
17
|
-
for (const key in inputValue) {
|
|
18
|
-
const path = `${parentPathsValue}${field.fieldId}.${key}`;
|
|
19
|
-
collection.push(path);
|
|
20
|
-
}
|
|
21
|
-
return collection;
|
|
22
|
-
}
|
|
23
|
-
if (isMultipleValues) {
|
|
24
|
-
for (const key in input) {
|
|
25
|
-
const path = `${parentPathsValue}${key}.${field.fieldId}`;
|
|
26
|
-
collection.push(path);
|
|
27
|
-
}
|
|
28
|
-
return collection;
|
|
29
|
-
}
|
|
30
|
-
collection.push(`${parentPathsValue}${field.fieldId}`);
|
|
31
|
-
return collection;
|
|
32
|
-
};
|
|
33
|
-
export const buildReferenceFieldPaths = params => {
|
|
34
|
-
const {
|
|
35
|
-
fields,
|
|
36
|
-
parentPaths: initialParentPaths,
|
|
37
|
-
input
|
|
38
|
-
} = params;
|
|
39
|
-
const parentPaths = [...initialParentPaths];
|
|
40
|
-
const isMultipleValues = Array.isArray(input);
|
|
41
|
-
return fields.filter(field => ["object", "ref", "dynamicZone"].includes(getBaseFieldType(field))).reduce((collection, field) => {
|
|
42
|
-
/**
|
|
43
|
-
* First we check the ref field
|
|
44
|
-
*/
|
|
45
|
-
const baseType = getBaseFieldType(field);
|
|
46
|
-
if (baseType === "ref") {
|
|
47
|
-
return resolveBaseRef({
|
|
48
|
-
collection,
|
|
49
|
-
field,
|
|
50
|
-
parentPaths,
|
|
51
|
-
input,
|
|
52
|
-
isMultipleValues
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
if (baseType === "dynamicZone") {
|
|
56
|
-
const templates = field.settings?.templates || [];
|
|
57
|
-
if (field.list) {
|
|
58
|
-
const values = dotPropImmutable.get(input, field.fieldId, []);
|
|
59
|
-
if (!Array.isArray(values)) {
|
|
60
|
-
return collection;
|
|
3
|
+
const resolveBaseRef = (params)=>{
|
|
4
|
+
const { field, parentPaths, input, collection, isMultipleValues } = params;
|
|
5
|
+
const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
|
|
6
|
+
if (field.list) {
|
|
7
|
+
const inputValue = dot_prop_immutable.get(input, `${field.fieldId}`, []);
|
|
8
|
+
if (!Array.isArray(inputValue)) return collection;
|
|
9
|
+
for(const key in inputValue){
|
|
10
|
+
const path = `${parentPathsValue}${field.fieldId}.${key}`;
|
|
11
|
+
collection.push(path);
|
|
61
12
|
}
|
|
62
|
-
values.forEach((value, index) => {
|
|
63
|
-
const template = templates.find(tpl => tpl.id === value["_templateId"]);
|
|
64
|
-
if (!template) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const result = buildReferenceFieldPaths({
|
|
68
|
-
fields: template.fields,
|
|
69
|
-
input: value,
|
|
70
|
-
parentPaths: parentPaths.concat([field.fieldId, String(index)])
|
|
71
|
-
});
|
|
72
|
-
collection.push(...result);
|
|
73
|
-
});
|
|
74
|
-
return collection;
|
|
75
|
-
}
|
|
76
|
-
const value = dotPropImmutable.get(input, field.fieldId, {});
|
|
77
|
-
if (!value) {
|
|
78
13
|
return collection;
|
|
79
|
-
}
|
|
80
|
-
const template = templates.find(tpl => tpl.id === value["_templateId"]);
|
|
81
|
-
if (!template) {
|
|
82
|
-
return collection;
|
|
83
|
-
}
|
|
84
|
-
const result = buildReferenceFieldPaths({
|
|
85
|
-
fields: template.fields,
|
|
86
|
-
input: value ?? {},
|
|
87
|
-
parentPaths: parentPaths.concat([field.fieldId])
|
|
88
|
-
});
|
|
89
|
-
collection.push(...result);
|
|
90
|
-
return collection;
|
|
91
14
|
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Then we move onto the object field
|
|
95
|
-
*/
|
|
96
|
-
const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
|
|
97
|
-
/**
|
|
98
|
-
* This is if received input is array. We need to map key with fieldId at this point.
|
|
99
|
-
*/
|
|
100
15
|
if (isMultipleValues) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return collection;
|
|
106
|
-
}
|
|
107
|
-
const objFieldPath = `${field.fieldId}`;
|
|
108
|
-
const objFieldInputValue = dotPropImmutable.get(input, objFieldPath, []);
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* If field is multiple values one, we need to go through the input and use the existing keys.
|
|
112
|
-
*/
|
|
113
|
-
if (field.list) {
|
|
114
|
-
if (Array.isArray(objFieldInputValue) === false) {
|
|
16
|
+
for(const key in input){
|
|
17
|
+
const path = `${parentPathsValue}${key}.${field.fieldId}`;
|
|
18
|
+
collection.push(path);
|
|
19
|
+
}
|
|
115
20
|
return collection;
|
|
116
|
-
}
|
|
117
|
-
for (const key in objFieldInputValue) {
|
|
118
|
-
const result = buildReferenceFieldPaths({
|
|
119
|
-
fields: field.settings?.fields || [],
|
|
120
|
-
input: objFieldInputValue[key],
|
|
121
|
-
parentPaths: parentPaths.concat([field.fieldId, key])
|
|
122
|
-
});
|
|
123
|
-
collection.push(...result);
|
|
124
|
-
}
|
|
125
|
-
return collection;
|
|
126
21
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return
|
|
137
|
-
|
|
22
|
+
collection.push(`${parentPathsValue}${field.fieldId}`);
|
|
23
|
+
return collection;
|
|
24
|
+
};
|
|
25
|
+
const buildReferenceFieldPaths = (params)=>{
|
|
26
|
+
const { fields, parentPaths: initialParentPaths, input } = params;
|
|
27
|
+
const parentPaths = [
|
|
28
|
+
...initialParentPaths
|
|
29
|
+
];
|
|
30
|
+
const isMultipleValues = Array.isArray(input);
|
|
31
|
+
return fields.filter((field)=>[
|
|
32
|
+
"object",
|
|
33
|
+
"ref",
|
|
34
|
+
"dynamicZone"
|
|
35
|
+
].includes(getBaseFieldType(field))).reduce((collection, field)=>{
|
|
36
|
+
const baseType = getBaseFieldType(field);
|
|
37
|
+
if ("ref" === baseType) return resolveBaseRef({
|
|
38
|
+
collection,
|
|
39
|
+
field,
|
|
40
|
+
parentPaths,
|
|
41
|
+
input,
|
|
42
|
+
isMultipleValues
|
|
43
|
+
});
|
|
44
|
+
if ("dynamicZone" === baseType) {
|
|
45
|
+
const templates = field.settings?.templates || [];
|
|
46
|
+
if (field.list) {
|
|
47
|
+
const values = dot_prop_immutable.get(input, field.fieldId, []);
|
|
48
|
+
if (!Array.isArray(values)) return collection;
|
|
49
|
+
values.forEach((value, index)=>{
|
|
50
|
+
const template = templates.find((tpl)=>tpl.id === value["_templateId"]);
|
|
51
|
+
if (!template) return;
|
|
52
|
+
const result = buildReferenceFieldPaths({
|
|
53
|
+
fields: template.fields,
|
|
54
|
+
input: value,
|
|
55
|
+
parentPaths: parentPaths.concat([
|
|
56
|
+
field.fieldId,
|
|
57
|
+
String(index)
|
|
58
|
+
])
|
|
59
|
+
});
|
|
60
|
+
collection.push(...result);
|
|
61
|
+
});
|
|
62
|
+
return collection;
|
|
63
|
+
}
|
|
64
|
+
const value = dot_prop_immutable.get(input, field.fieldId, {});
|
|
65
|
+
if (!value) return collection;
|
|
66
|
+
const template = templates.find((tpl)=>tpl.id === value["_templateId"]);
|
|
67
|
+
if (!template) return collection;
|
|
68
|
+
const result = buildReferenceFieldPaths({
|
|
69
|
+
fields: template.fields,
|
|
70
|
+
input: value ?? {},
|
|
71
|
+
parentPaths: parentPaths.concat([
|
|
72
|
+
field.fieldId
|
|
73
|
+
])
|
|
74
|
+
});
|
|
75
|
+
collection.push(...result);
|
|
76
|
+
return collection;
|
|
77
|
+
}
|
|
78
|
+
const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
|
|
79
|
+
if (isMultipleValues) {
|
|
80
|
+
for(const key in input){
|
|
81
|
+
const path = `${parentPathsValue}${key}.${field.fieldId}`;
|
|
82
|
+
collection.push(path);
|
|
83
|
+
}
|
|
84
|
+
return collection;
|
|
85
|
+
}
|
|
86
|
+
const objFieldPath = `${field.fieldId}`;
|
|
87
|
+
const objFieldInputValue = dot_prop_immutable.get(input, objFieldPath, []);
|
|
88
|
+
if (field.list) {
|
|
89
|
+
if (false === Array.isArray(objFieldInputValue)) return collection;
|
|
90
|
+
for(const key in objFieldInputValue){
|
|
91
|
+
const result = buildReferenceFieldPaths({
|
|
92
|
+
fields: field.settings?.fields || [],
|
|
93
|
+
input: objFieldInputValue[key],
|
|
94
|
+
parentPaths: parentPaths.concat([
|
|
95
|
+
field.fieldId,
|
|
96
|
+
key
|
|
97
|
+
])
|
|
98
|
+
});
|
|
99
|
+
collection.push(...result);
|
|
100
|
+
}
|
|
101
|
+
return collection;
|
|
102
|
+
}
|
|
103
|
+
const results = buildReferenceFieldPaths({
|
|
104
|
+
fields: field.settings?.fields || [],
|
|
105
|
+
input: objFieldInputValue,
|
|
106
|
+
parentPaths: parentPaths.concat([
|
|
107
|
+
field.fieldId
|
|
108
|
+
])
|
|
109
|
+
});
|
|
110
|
+
return collection.concat(results);
|
|
111
|
+
}, []);
|
|
138
112
|
};
|
|
113
|
+
export { buildReferenceFieldPaths };
|
|
139
114
|
|
|
140
115
|
//# sourceMappingURL=buildPaths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["dotPropImmutable","getBaseFieldType","resolveBaseRef","params","field","parentPaths","input","collection","isMultipleValues","parentPathsValue","length","join","list","inputValue","get","fieldId","Array","isArray","key","path","push","buildReferenceFieldPaths","fields","initialParentPaths","filter","includes","reduce","baseType","templates","settings","values","forEach","value","index","template","find","tpl","id","result","concat","String","objFieldPath","objFieldInputValue","results"],"sources":["buildPaths.ts"],"sourcesContent":["import type { CmsDynamicZoneTemplate, CmsEntryValues, CmsModelField } from \"~/types/index.js\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\ntype INarrowedCmsModelField = Pick<CmsModelField, \"fieldId\" | \"list\" | \"type\" | \"settings\">;\n\ninterface IResolveBaseRefField<TValues extends CmsEntryValues = CmsEntryValues> {\n collection: string[];\n field: INarrowedCmsModelField;\n parentPaths: string[];\n input: TValues | TValues[];\n isMultipleValues: boolean;\n}\n\nconst resolveBaseRef = <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IResolveBaseRefField<TValues>\n): string[] => {\n const { field, parentPaths, input, collection, isMultipleValues } = params;\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.list) {\n const inputValue = dotPropImmutable.get(input, `${field.fieldId}`, []);\n if (!Array.isArray(inputValue)) {\n return collection;\n }\n\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n};\n\ninterface IBuildReferenceFieldPathsParams<TValues extends CmsEntryValues = CmsEntryValues> {\n fields: INarrowedCmsModelField[];\n parentPaths: string[];\n input: TValues | TValues[];\n}\n\nexport const buildReferenceFieldPaths = <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IBuildReferenceFieldPathsParams<TValues>\n): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce<string[]>((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n return resolveBaseRef({\n collection,\n field,\n parentPaths,\n input,\n isMultipleValues\n });\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n if (field.list) {\n const values = dotPropImmutable.get(input, field.fieldId, []);\n if (!Array.isArray(values)) {\n return collection;\n }\n\n values.forEach((value, index) => {\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n if (!template) {\n return;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value,\n parentPaths: parentPaths.concat([field.fieldId, String(index)])\n });\n\n collection.push(...result);\n });\n\n return collection;\n }\n\n const value = dotPropImmutable.get(input, field.fieldId, {});\n if (!value) {\n return collection;\n }\n\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n\n if (!template) {\n return collection;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value ?? {},\n parentPaths: parentPaths.concat([field.fieldId])\n });\n collection.push(...result);\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotPropImmutable.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.list) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, []);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"crud/contentEntry/references/buildPaths.js","sources":["../../../../src/crud/contentEntry/references/buildPaths.ts"],"sourcesContent":["import type { CmsDynamicZoneTemplate, CmsEntryValues, CmsModelField } from \"~/types/index.js\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\ntype INarrowedCmsModelField = Pick<CmsModelField, \"fieldId\" | \"list\" | \"type\" | \"settings\">;\n\ninterface IResolveBaseRefField<TValues extends CmsEntryValues = CmsEntryValues> {\n collection: string[];\n field: INarrowedCmsModelField;\n parentPaths: string[];\n input: TValues | TValues[];\n isMultipleValues: boolean;\n}\n\nconst resolveBaseRef = <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IResolveBaseRefField<TValues>\n): string[] => {\n const { field, parentPaths, input, collection, isMultipleValues } = params;\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.list) {\n const inputValue = dotPropImmutable.get(input, `${field.fieldId}`, []);\n if (!Array.isArray(inputValue)) {\n return collection;\n }\n\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n};\n\ninterface IBuildReferenceFieldPathsParams<TValues extends CmsEntryValues = CmsEntryValues> {\n fields: INarrowedCmsModelField[];\n parentPaths: string[];\n input: TValues | TValues[];\n}\n\nexport const buildReferenceFieldPaths = <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IBuildReferenceFieldPathsParams<TValues>\n): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce<string[]>((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n return resolveBaseRef({\n collection,\n field,\n parentPaths,\n input,\n isMultipleValues\n });\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n if (field.list) {\n const values = dotPropImmutable.get(input, field.fieldId, []);\n if (!Array.isArray(values)) {\n return collection;\n }\n\n values.forEach((value, index) => {\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n if (!template) {\n return;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value,\n parentPaths: parentPaths.concat([field.fieldId, String(index)])\n });\n\n collection.push(...result);\n });\n\n return collection;\n }\n\n const value = dotPropImmutable.get(input, field.fieldId, {});\n if (!value) {\n return collection;\n }\n\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n\n if (!template) {\n return collection;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value ?? {},\n parentPaths: parentPaths.concat([field.fieldId])\n });\n collection.push(...result);\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotPropImmutable.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.list) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, []);\n};\n"],"names":["resolveBaseRef","params","field","parentPaths","input","collection","isMultipleValues","parentPathsValue","inputValue","dotPropImmutable","Array","key","path","buildReferenceFieldPaths","fields","initialParentPaths","getBaseFieldType","baseType","templates","values","value","index","template","tpl","result","String","objFieldPath","objFieldInputValue","results"],"mappings":"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"}
|
|
@@ -1,81 +1,43 @@
|
|
|
1
|
-
import
|
|
1
|
+
import dot_prop_immutable from "dot-prop-immutable";
|
|
2
2
|
import { WebinyError } from "@webiny/error";
|
|
3
|
-
const getReferenceFieldValue = ref
|
|
4
|
-
|
|
5
|
-
return
|
|
6
|
-
}
|
|
7
|
-
return ref;
|
|
3
|
+
const getReferenceFieldValue = (ref)=>{
|
|
4
|
+
if (!ref?.id || !ref.modelId) return null;
|
|
5
|
+
return ref;
|
|
8
6
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*/
|
|
19
|
-
for (const path of referenceFieldPaths) {
|
|
20
|
-
const ref = dotPropImmutable.get(output, path);
|
|
21
|
-
const result = getReferenceFieldValue(ref);
|
|
22
|
-
if (!result) {
|
|
23
|
-
continue;
|
|
7
|
+
const validateReferencedEntries = async ({ output, context, referenceFieldPaths })=>{
|
|
8
|
+
const referencesByModel = new Map();
|
|
9
|
+
for (const path of referenceFieldPaths){
|
|
10
|
+
const ref = dot_prop_immutable.get(output, path);
|
|
11
|
+
const result = getReferenceFieldValue(ref);
|
|
12
|
+
if (!result) continue;
|
|
13
|
+
const refs = referencesByModel.get(result.modelId) || [];
|
|
14
|
+
refs.push(result.id);
|
|
15
|
+
referencesByModel.set(result.modelId, refs);
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Load all the entries by their IDs.
|
|
51
|
-
*/
|
|
52
|
-
const promises = await context.security.withoutAuthorization(async () => {
|
|
53
|
-
return models.map(model => {
|
|
54
|
-
return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
const allEntries = await Promise.all(promises).then(res => res.flat());
|
|
58
|
-
const entriesByModel = allEntries.reduce((acc, entry) => {
|
|
59
|
-
return {
|
|
60
|
-
...acc,
|
|
61
|
-
[entry.modelId]: [...(acc[entry.modelId] || []), entry.id]
|
|
62
|
-
};
|
|
63
|
-
}, {});
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Verify that all entries exist.
|
|
67
|
-
*/
|
|
68
|
-
referencesByModel.forEach((ids, modelId) => {
|
|
69
|
-
const modelEntriesInDb = entriesByModel[modelId];
|
|
70
|
-
for (const id of ids) {
|
|
71
|
-
if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {
|
|
72
|
-
throw new WebinyError(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
|
|
73
|
-
id,
|
|
74
|
-
model: modelId
|
|
17
|
+
if (0 === referencesByModel.size) return;
|
|
18
|
+
const models = await context.security.withoutAuthorization(async ()=>(await context.cms.listModels()).filter((model)=>{
|
|
19
|
+
const entries = referencesByModel.get(model.modelId) || [];
|
|
20
|
+
if (0 === entries.length) return false;
|
|
21
|
+
return true;
|
|
22
|
+
}));
|
|
23
|
+
if (!models.length) return;
|
|
24
|
+
const promises = await context.security.withoutAuthorization(async ()=>models.map((model)=>context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || [])));
|
|
25
|
+
const allEntries = await Promise.all(promises).then((res)=>res.flat());
|
|
26
|
+
const entriesByModel = allEntries.reduce((acc, entry)=>({
|
|
27
|
+
...acc,
|
|
28
|
+
[entry.modelId]: [
|
|
29
|
+
...acc[entry.modelId] || [],
|
|
30
|
+
entry.id
|
|
31
|
+
]
|
|
32
|
+
}), {});
|
|
33
|
+
referencesByModel.forEach((ids, modelId)=>{
|
|
34
|
+
const modelEntriesInDb = entriesByModel[modelId];
|
|
35
|
+
for (const id of ids)if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) throw new WebinyError(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
|
|
36
|
+
id,
|
|
37
|
+
model: modelId
|
|
75
38
|
});
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
});
|
|
39
|
+
});
|
|
79
40
|
};
|
|
41
|
+
export { validateReferencedEntries };
|
|
80
42
|
|
|
81
43
|
//# sourceMappingURL=validateEntries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"crud/contentEntry/references/validateEntries.js","sources":["../../../../src/crud/contentEntry/references/validateEntries.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { WebinyError } from \"@webiny/error\";\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface ValidateReferencedEntriesParams {\n output: Record<string, any>;\n context: Pick<CmsContext, \"cms\" | \"security\">;\n referenceFieldPaths: string[];\n}\n\nconst getReferenceFieldValue = (\n ref: Partial<ReferenceObject> | null | undefined\n): ReferenceObject | null => {\n if (!ref?.id || !ref.modelId) {\n return null;\n }\n return ref as ReferenceObject;\n};\n\nexport const validateReferencedEntries = async ({\n output,\n context,\n referenceFieldPaths\n}: ValidateReferencedEntriesParams) => {\n const referencesByModel = new Map<string, string[]>();\n\n /**\n * Group references by modelId.\n */\n for (const path of referenceFieldPaths) {\n const ref = dotPropImmutable.get(output, path) as ReferenceObject | any;\n\n const result = getReferenceFieldValue(ref);\n\n if (!result) {\n continue;\n }\n\n const refs = referencesByModel.get(result.modelId) || [];\n refs.push(result.id);\n referencesByModel.set(result.modelId, refs);\n }\n\n if (referencesByModel.size === 0) {\n return;\n }\n\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel.get(model.modelId) || [];\n if (entries.length === 0) {\n return false;\n }\n return true;\n });\n });\n\n if (!models.length) {\n return;\n }\n\n /**\n * Load all the entries by their IDs.\n */\n const promises = await context.security.withoutAuthorization(async () => {\n return models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);\n });\n });\n\n const allEntries = await Promise.all(promises).then(res => res.flat());\n const entriesByModel = allEntries.reduce<Record<string, string[]>>((acc, entry) => {\n return { ...acc, [entry.modelId]: [...(acc[entry.modelId] || []), entry.id] };\n }, {});\n\n /**\n * Verify that all entries exist.\n */\n referencesByModel.forEach((ids, modelId) => {\n const modelEntriesInDb = entriesByModel[modelId];\n for (const id of ids) {\n if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n }\n });\n};\n"],"names":["getReferenceFieldValue","ref","validateReferencedEntries","output","context","referenceFieldPaths","referencesByModel","Map","path","dotPropImmutable","result","refs","models","model","entries","promises","allEntries","Promise","res","entriesByModel","acc","entry","ids","modelId","modelEntriesInDb","id","WebinyError"],"mappings":";;AAeA,MAAMA,yBAAyB,CAC3BC;IAEA,IAAI,CAACA,KAAK,MAAM,CAACA,IAAI,OAAO,EACxB,OAAO;IAEX,OAAOA;AACX;AAEO,MAAMC,4BAA4B,OAAO,EAC5CC,MAAM,EACNC,OAAO,EACPC,mBAAmB,EACW;IAC9B,MAAMC,oBAAoB,IAAIC;IAK9B,KAAK,MAAMC,QAAQH,oBAAqB;QACpC,MAAMJ,MAAMQ,mBAAAA,GAAoB,CAACN,QAAQK;QAEzC,MAAME,SAASV,uBAAuBC;QAEtC,IAAI,CAACS,QACD;QAGJ,MAAMC,OAAOL,kBAAkB,GAAG,CAACI,OAAO,OAAO,KAAK,EAAE;QACxDC,KAAK,IAAI,CAACD,OAAO,EAAE;QACnBJ,kBAAkB,GAAG,CAACI,OAAO,OAAO,EAAEC;IAC1C;IAEA,IAAIL,AAA2B,MAA3BA,kBAAkB,IAAI,EACtB;IAMJ,MAAMM,SAAS,MAAMR,QAAQ,QAAQ,CAAC,oBAAoB,CAAC,UAC/C,OAAMA,QAAQ,GAAG,CAAC,UAAU,EAAC,EAAG,MAAM,CAACS,CAAAA;YAC3C,MAAMC,UAAUR,kBAAkB,GAAG,CAACO,MAAM,OAAO,KAAK,EAAE;YAC1D,IAAIC,AAAmB,MAAnBA,QAAQ,MAAM,EACd,OAAO;YAEX,OAAO;QACX;IAGJ,IAAI,CAACF,OAAO,MAAM,EACd;IAMJ,MAAMG,WAAW,MAAMX,QAAQ,QAAQ,CAAC,oBAAoB,CAAC,UAClDQ,OAAO,GAAG,CAACC,CAAAA,QACPT,QAAQ,GAAG,CAAC,eAAe,CAACS,OAAOP,kBAAkB,GAAG,CAACO,MAAM,OAAO,KAAK,EAAE;IAI5F,MAAMG,aAAa,MAAMC,QAAQ,GAAG,CAACF,UAAU,IAAI,CAACG,CAAAA,MAAOA,IAAI,IAAI;IACnE,MAAMC,iBAAiBH,WAAW,MAAM,CAA2B,CAACI,KAAKC,QAC9D;YAAE,GAAGD,GAAG;YAAE,CAACC,MAAM,OAAO,CAAC,EAAE;mBAAKD,GAAG,CAACC,MAAM,OAAO,CAAC,IAAI,EAAE;gBAAGA,MAAM,EAAE;aAAC;QAAC,IAC7E,CAAC;IAKJf,kBAAkB,OAAO,CAAC,CAACgB,KAAKC;QAC5B,MAAMC,mBAAmBL,cAAc,CAACI,QAAQ;QAChD,KAAK,MAAME,MAAMH,IACb,IAAI,CAACE,oBAAoB,CAACA,iBAAiB,QAAQ,CAACC,KAChD,MAAM,IAAIC,YACN,CAAC,kCAAkC,EAAED,GAAG,YAAY,EAAEF,QAAQ,EAAE,CAAC,EACjE,mBACA;YACIE;YACA,OAAOF;QACX;IAIhB;AACJ"}
|