@webiny/api-headless-cms 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.d.ts +2 -1
- package/constants.js +4 -0
- package/constants.js.map +1 -1
- package/context.d.ts +2 -5
- package/context.js +16 -7
- package/context.js.map +1 -1
- package/crud/AccessControl/AccessControl.d.ts +18 -28
- package/crud/AccessControl/AccessControl.js.map +1 -1
- package/crud/AccessControl/README.md +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.js +27 -12
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +13 -6
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +4 -1
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +4 -1
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +2 -1
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +4 -3
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/system.d.ts +10 -0
- package/crud/contentEntry/entryDataFactories/system.js +14 -0
- package/crud/contentEntry/entryDataFactories/system.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +19 -16
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/references/buildPaths.d.ts +1 -1
- package/crud/contentEntry/references/buildPaths.js +3 -3
- package/crud/contentEntry/references/buildPaths.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +2 -3
- package/crud/contentEntry/searchableFields.js +15 -19
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.js +16 -11
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/fields/descriptionField.js +1 -1
- package/crud/contentModel/fields/descriptionField.js.map +1 -1
- package/crud/contentModel/fields/imageField.js +1 -1
- package/crud/contentModel/fields/imageField.js.map +1 -1
- package/crud/contentModel/fields/titleField.js +1 -1
- package/crud/contentModel/fields/titleField.js.map +1 -1
- package/crud/contentModel/validation.d.ts +224 -902
- package/crud/contentModel/validation.js +64 -36
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +2 -1
- package/crud/contentModel.crud.js.map +1 -1
- package/domain/contentEntry/EntryId.d.ts +1 -0
- package/domain/contentEntry/EntryId.js +2 -0
- package/domain/contentEntry/EntryId.js.map +1 -1
- package/domain/contentEntry/errors.d.ts +2 -2
- package/domain/contentEntry/errors.js.map +1 -1
- package/domain/contentModel/errors.d.ts +1 -1
- package/domain/contentModel/errors.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +198 -616
- package/domain/contentModel/schemas.js +55 -37
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModel/validation/fields/descriptionField.js +1 -1
- package/domain/contentModel/validation/fields/descriptionField.js.map +1 -1
- package/domain/contentModel/validation/fields/imageField.js +1 -1
- package/domain/contentModel/validation/fields/imageField.js.map +1 -1
- package/domain/contentModel/validation/fields/titleField.js +1 -1
- package/domain/contentModel/validation/fields/titleField.js.map +1 -1
- package/domain/contentModel/validation/modelFields.js +15 -20
- package/domain/contentModel/validation/modelFields.js.map +1 -1
- package/domain/contentModelGroup/validation.d.ts +34 -82
- package/domain/contentModelGroup/validation.js +2 -2
- package/domain/contentModelGroup/validation.js.map +1 -1
- package/export/graphql/index.js +1 -1
- package/export/graphql/index.js.map +1 -1
- package/export/types.js.map +1 -1
- package/exports/api/cms/entry.d.ts +3 -0
- package/exports/api/cms/entry.js +6 -0
- package/exports/api/cms/entry.js.map +1 -1
- package/exports/api/cms/graphql.d.ts +1 -0
- package/exports/api/cms/graphql.js +3 -0
- package/exports/api/cms/graphql.js.map +1 -0
- package/exports/api/cms/model.d.ts +5 -1
- package/exports/api/cms/model.js +3 -1
- package/exports/api/cms/model.js.map +1 -1
- package/exports/api/cms/storage.d.ts +3 -0
- package/exports/api/cms/storage.js +5 -0
- package/exports/api/cms/storage.js.map +1 -0
- package/exports/api/cms/validation.d.ts +4 -0
- package/exports/api/cms/validation.js +6 -0
- package/exports/api/cms/validation.js.map +1 -0
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +3 -7
- package/extensions/index.d.ts +2 -6
- package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
- package/features/contentEntry/ContentEntriesFeature.js +6 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
- package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +2 -2
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
- package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
- package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.d.ts +4 -2
- package/features/contentEntry/CreateEntry/events.js +5 -1
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +4 -2
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +5 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.d.ts +4 -2
- package/features/contentEntry/DeleteEntry/events.js +5 -1
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.d.ts +4 -2
- package/features/contentEntry/DeleteEntryRevision/events.js +5 -1
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.d.ts +4 -2
- package/features/contentEntry/DeleteMultipleEntries/events.js +5 -1
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
- package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
- package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntry/abstractions.js +1 -0
- package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntry/feature.d.ts +4 -1
- package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
- package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
- package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +9 -15
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
- package/features/contentEntry/ListEntries/abstractions.js +4 -0
- package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
- package/features/contentEntry/ListEntries/feature.d.ts +4 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.d.ts +4 -2
- package/features/contentEntry/MoveEntry/events.js +5 -1
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.d.ts +4 -2
- package/features/contentEntry/PublishEntry/events.js +5 -1
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.d.ts +4 -2
- package/features/contentEntry/RepublishEntry/events.js +5 -1
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.d.ts +4 -2
- package/features/contentEntry/RestoreEntryFromBin/events.js +5 -1
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.d.ts +4 -2
- package/features/contentEntry/UnpublishEntry/events.js +5 -1
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.d.ts +4 -2
- package/features/contentEntry/UpdateEntry/events.js +5 -1
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +22 -0
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +90 -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 +10 -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 +33 -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 +20 -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 +4 -0
- package/features/contentEntry/UpdateRevisionDescription/index.js.map +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
- package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
- package/features/contentModel/ContentModelFeature.d.ts +4 -1
- package/features/contentModel/ContentModelFeature.js +2 -0
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +12 -12
- package/features/contentModel/CreateModel/CreateModelRepository.js +17 -12
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
- package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModel/abstractions.js +1 -0
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/events.d.ts +4 -2
- package/features/contentModel/CreateModel/events.js +5 -1
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModel/feature.d.ts +4 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +12 -13
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +25 -15
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.d.ts +4 -2
- package/features/contentModel/CreateModelFrom/events.js +5 -1
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
- package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
- package/features/contentModel/DeleteModel/abstractions.js +1 -0
- package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/events.d.ts +4 -2
- package/features/contentModel/DeleteModel/events.js +5 -1
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/DeleteModel/feature.d.ts +4 -1
- package/features/contentModel/GetModel/abstractions.d.ts +1 -0
- package/features/contentModel/GetModel/abstractions.js +1 -0
- package/features/contentModel/GetModel/abstractions.js.map +1 -1
- package/features/contentModel/GetModel/feature.d.ts +4 -1
- package/features/contentModel/ListModels/abstractions.d.ts +1 -0
- package/features/contentModel/ListModels/abstractions.js +1 -0
- package/features/contentModel/ListModels/abstractions.js.map +1 -1
- package/features/contentModel/ListModels/feature.d.ts +4 -1
- package/features/contentModel/ModelFieldCompression/ModelFieldCompression.d.ts +15 -0
- package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js +27 -0
- package/features/contentModel/ModelFieldCompression/ModelFieldCompression.js.map +1 -0
- package/features/contentModel/ModelFieldCompression/abstractions.d.ts +17 -0
- package/features/contentModel/ModelFieldCompression/abstractions.js +4 -0
- package/features/contentModel/ModelFieldCompression/abstractions.js.map +1 -0
- package/features/contentModel/ModelFieldCompression/feature.d.ts +4 -0
- package/features/contentModel/ModelFieldCompression/feature.js +10 -0
- package/features/contentModel/ModelFieldCompression/feature.js.map +1 -0
- package/features/contentModel/ModelFieldCompression/index.d.ts +1 -0
- package/features/contentModel/ModelFieldCompression/index.js +3 -0
- package/features/contentModel/ModelFieldCompression/index.js.map +1 -0
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
- package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
- package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +9 -9
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +21 -12
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +6 -3
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
- package/features/contentModel/UpdateModel/abstractions.js +1 -0
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/events.d.ts +4 -2
- package/features/contentModel/UpdateModel/events.js +5 -1
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModel/UpdateModel/feature.d.ts +4 -1
- package/features/contentModel/shared/ModelsFetcher.d.ts +8 -6
- package/features/contentModel/shared/ModelsFetcher.js +14 -4
- package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
- package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.d.ts +4 -2
- package/features/contentModelGroup/CreateGroup/events.js +5 -1
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.d.ts +4 -2
- package/features/contentModelGroup/DeleteGroup/events.js +5 -1
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
- package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
- package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
- package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
- package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.d.ts +4 -2
- package/features/contentModelGroup/UpdateGroup/events.js +5 -1
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
- package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
- package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
- package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
- package/features/contentModelGroup/shared/abstractions.js +1 -0
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/graphql/feature.d.ts +4 -0
- package/features/graphql/feature.js +34 -0
- package/features/graphql/feature.js.map +1 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
- package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
- package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
- package/features/graphql/fields/base/FileToGraphQL.js +39 -0
- package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
- package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
- package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
- package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
- package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
- package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
- package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
- package/features/graphql/fields/base/RefToGraphQL.js +261 -0
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
- package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
- package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/TextToGraphQL.js +74 -0
- package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
- package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
- package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +4 -4
- package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
- package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
- package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
- package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
- package/features/graphql/index.d.ts +4 -0
- package/features/graphql/index.js +6 -0
- package/features/graphql/index.js.map +1 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
- package/features/installer/CmsInstaller.d.ts +1 -1
- package/features/installer/CmsInstaller.js +1 -1
- package/features/installer/CmsInstaller.js.map +1 -1
- package/features/installer/feature.d.ts +4 -1
- package/features/modelBuilder/abstractions.d.ts +8 -4
- package/features/modelBuilder/abstractions.js +5 -2
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/feature.d.ts +4 -1
- package/features/modelBuilder/feature.js +6 -0
- package/features/modelBuilder/feature.js.map +1 -1
- package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
- package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
- package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
- package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
- package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +220 -0
- package/features/modelBuilder/fields/DataFieldBuilder.js +211 -0
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
- package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/DateTimeFieldType.js +22 -2
- package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +12 -5
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -46
- package/features/modelBuilder/fields/FieldBuilder.js +3 -152
- package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
- package/features/modelBuilder/fields/FieldBuilderRegistry.js +11 -1
- package/features/modelBuilder/fields/FieldBuilderRegistry.js.map +1 -1
- package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.js +2 -2
- package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
- package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
- package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
- package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
- package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
- package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
- package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/NumberFieldType.js +2 -2
- package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
- package/features/modelBuilder/fields/ObjectFieldType.d.ts +7 -6
- package/features/modelBuilder/fields/ObjectFieldType.js +21 -6
- package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/RefFieldType.js +2 -2
- package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/TextFieldType.js +2 -2
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiAlertFieldType.d.ts +19 -0
- package/features/modelBuilder/fields/UiAlertFieldType.js +36 -0
- package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -0
- package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +17 -0
- package/features/modelBuilder/fields/UiSeparatorFieldType.js +31 -0
- package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -0
- package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
- package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
- package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
- package/features/modelBuilder/fields/abstractions.d.ts +6 -3
- package/features/modelBuilder/fields/abstractions.js +1 -1
- package/features/modelBuilder/fields/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +23 -1
- package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
- package/features/modelBuilder/index.d.ts +3 -0
- package/features/modelBuilder/index.js +3 -0
- package/features/modelBuilder/index.js.map +1 -1
- package/features/modelBuilder/models/BaseModelBuilder.d.ts +9 -4
- package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
- package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
- package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PublicModelBuilder.js +16 -4
- package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
- package/features/shared/abstractions.d.ts +9 -2
- package/features/shared/abstractions.js +1 -0
- package/features/shared/abstractions.js.map +1 -1
- package/features/sortMapper/abstractions.d.ts +1 -0
- package/features/sortMapper/abstractions.js +1 -0
- package/features/sortMapper/abstractions.js.map +1 -1
- package/features/sortMapper/feature.d.ts +4 -1
- package/features/storage/StorageTransformRegistry.d.ts +13 -0
- package/features/storage/StorageTransformRegistry.js +27 -0
- package/features/storage/StorageTransformRegistry.js.map +1 -0
- package/features/storage/abstractions/StorageTransform.d.ts +26 -0
- package/features/storage/abstractions/StorageTransform.js +4 -0
- package/features/storage/abstractions/StorageTransform.js.map +1 -0
- package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
- package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
- package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
- package/features/storage/feature.d.ts +4 -0
- package/features/storage/feature.js +24 -0
- package/features/storage/feature.js.map +1 -0
- package/features/storage/fields/DateStorageTransform.d.ts +10 -0
- package/features/storage/fields/DateStorageTransform.js +110 -0
- package/features/storage/fields/DateStorageTransform.js.map +1 -0
- package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
- package/features/storage/fields/DefaultStorageTransform.js +20 -0
- package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
- package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
- package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
- package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
- package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
- package/features/storage/fields/JsonStorageTransform.js +31 -0
- package/features/storage/fields/JsonStorageTransform.js.map +1 -0
- package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
- package/features/storage/fields/LongTextStorageTransform.js +55 -0
- package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
- package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
- package/features/storage/fields/ObjectStorageTransform.js +99 -0
- package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
- package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
- package/features/storage/fields/RichTextStorageTransform.js +39 -0
- package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
- package/features/storage/index.d.ts +3 -0
- package/features/storage/index.js +5 -0
- package/features/storage/index.js.map +1 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
- package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
- package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
- package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
- package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
- package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
- package/features/validation/feature.d.ts +4 -0
- package/features/validation/feature.js +48 -0
- package/features/validation/feature.js.map +1 -0
- package/features/validation/index.d.ts +5 -0
- package/features/validation/index.js +7 -0
- package/features/validation/index.js.map +1 -0
- package/features/validation/validators/DateGteValidator.d.ts +10 -0
- package/features/validation/validators/DateGteValidator.js +26 -0
- package/features/validation/validators/DateGteValidator.js.map +1 -0
- package/features/validation/validators/DateLteValidator.d.ts +10 -0
- package/features/validation/validators/DateLteValidator.js +26 -0
- package/features/validation/validators/DateLteValidator.js.map +1 -0
- package/features/validation/validators/GteValidator.d.ts +10 -0
- package/features/validation/validators/GteValidator.js +21 -0
- package/features/validation/validators/GteValidator.js.map +1 -0
- package/features/validation/validators/InValidator.d.ts +10 -0
- package/features/validation/validators/InValidator.js +21 -0
- package/features/validation/validators/InValidator.js.map +1 -0
- package/features/validation/validators/LteValidator.d.ts +10 -0
- package/features/validation/validators/LteValidator.js +21 -0
- package/features/validation/validators/LteValidator.js.map +1 -0
- package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
- package/features/validation/validators/MaxLengthValidator.js +21 -0
- package/features/validation/validators/MaxLengthValidator.js.map +1 -0
- package/features/validation/validators/MinLengthValidator.d.ts +10 -0
- package/features/validation/validators/MinLengthValidator.js +21 -0
- package/features/validation/validators/MinLengthValidator.js.map +1 -0
- package/features/validation/validators/PatternValidator.d.ts +13 -0
- package/features/validation/validators/PatternValidator.js +38 -0
- package/features/validation/validators/PatternValidator.js.map +1 -0
- package/features/validation/validators/RequiredValidator.d.ts +10 -0
- package/features/validation/validators/RequiredValidator.js +16 -0
- package/features/validation/validators/RequiredValidator.js.map +1 -0
- package/features/validation/validators/TimeGteValidator.d.ts +10 -0
- package/features/validation/validators/TimeGteValidator.js +21 -0
- package/features/validation/validators/TimeGteValidator.js.map +1 -0
- package/features/validation/validators/TimeLteValidator.d.ts +10 -0
- package/features/validation/validators/TimeLteValidator.js +21 -0
- package/features/validation/validators/TimeLteValidator.js.map +1 -0
- package/features/validation/validators/UniqueValidator.d.ts +10 -0
- package/features/validation/validators/UniqueValidator.js +47 -0
- package/features/validation/validators/UniqueValidator.js.map +1 -0
- package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
- package/features/validation/validators/patterns/EmailPattern.js +14 -0
- package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
- package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
- package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
- package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
- package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
- package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
- package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
- package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
- package/features/validation/validators/patterns/UrlPattern.js +14 -0
- package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
- package/features/whereMapper/abstractions.d.ts +1 -0
- package/features/whereMapper/abstractions.js +1 -0
- package/features/whereMapper/abstractions.js.map +1 -1
- package/features/whereMapper/feature.d.ts +4 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +2 -2
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +2 -2
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/graphql/getSchema/generateCacheKey.js +15 -7
- package/graphql/getSchema/generateCacheKey.js.map +1 -1
- package/graphql/index.js +2 -1
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -1
- package/graphql/schema/baseSchema.js +28 -24
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/cms/createEntryResolver.d.ts +10 -0
- package/graphql/schema/cms/createEntryResolver.js +65 -0
- package/graphql/schema/cms/createEntryResolver.js.map +1 -0
- package/graphql/schema/cms/deleteEntryResolver.d.ts +10 -0
- package/graphql/schema/cms/deleteEntryResolver.js +65 -0
- package/graphql/schema/cms/deleteEntryResolver.js.map +1 -0
- package/graphql/schema/cms/getEntryResolver.d.ts +11 -0
- package/graphql/schema/cms/getEntryResolver.js +67 -0
- package/graphql/schema/cms/getEntryResolver.js.map +1 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.d.ts +23 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.js +79 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -0
- package/graphql/schema/cms/helpers/getErrorMessage.d.ts +4 -0
- package/graphql/schema/cms/helpers/getErrorMessage.js +14 -0
- package/graphql/schema/cms/helpers/getErrorMessage.js.map +1 -0
- package/graphql/schema/cms/helpers/getModel.d.ts +6 -0
- package/graphql/schema/cms/helpers/getModel.js +12 -0
- package/graphql/schema/cms/helpers/getModel.js.map +1 -0
- package/graphql/schema/cms/helpers/index.d.ts +5 -0
- package/graphql/schema/cms/helpers/index.js +7 -0
- package/graphql/schema/cms/helpers/index.js.map +1 -0
- package/graphql/schema/cms/helpers/transformSortToArray.d.ts +18 -0
- package/graphql/schema/cms/helpers/transformSortToArray.js +38 -0
- package/graphql/schema/cms/helpers/transformSortToArray.js.map +1 -0
- package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
- package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
- package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
- package/graphql/schema/cms/helpers.d.ts +5 -0
- package/graphql/schema/cms/helpers.js +7 -0
- package/graphql/schema/cms/helpers.js.map +1 -0
- package/graphql/schema/cms/index.d.ts +2 -0
- package/graphql/schema/cms/index.js +26 -0
- package/graphql/schema/cms/index.js.map +1 -0
- package/graphql/schema/cms/listEntriesResolver.d.ts +15 -0
- package/graphql/schema/cms/listEntriesResolver.js +115 -0
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -0
- package/graphql/schema/cms/publishEntryResolver.d.ts +10 -0
- package/graphql/schema/cms/publishEntryResolver.js +65 -0
- package/graphql/schema/cms/publishEntryResolver.js.map +1 -0
- package/graphql/schema/cms/resolvers/createEntry.d.ts +8 -0
- package/graphql/schema/cms/resolvers/createEntry.js +17 -0
- package/graphql/schema/cms/resolvers/createEntry.js.map +1 -0
- package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +8 -0
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js +17 -0
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -0
- package/graphql/schema/cms/resolvers/getEntry.d.ts +8 -0
- package/graphql/schema/cms/resolvers/getEntry.js +17 -0
- package/graphql/schema/cms/resolvers/getEntry.js.map +1 -0
- package/graphql/schema/cms/resolvers/index.d.ts +9 -0
- package/graphql/schema/cms/resolvers/index.js +11 -0
- package/graphql/schema/cms/resolvers/index.js.map +1 -0
- package/graphql/schema/cms/resolvers/listEntries.d.ts +8 -0
- package/graphql/schema/cms/resolvers/listEntries.js +17 -0
- package/graphql/schema/cms/resolvers/listEntries.js.map +1 -0
- package/graphql/schema/cms/resolvers/mutationCms.d.ts +8 -0
- package/graphql/schema/cms/resolvers/mutationCms.js +24 -0
- package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -0
- package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +8 -0
- package/graphql/schema/cms/resolvers/publishEntryRevision.js +17 -0
- package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -0
- package/graphql/schema/cms/resolvers/queryCms.d.ts +8 -0
- package/graphql/schema/cms/resolvers/queryCms.js +23 -0
- package/graphql/schema/cms/resolvers/queryCms.js.map +1 -0
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +8 -0
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +17 -0
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -0
- package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +8 -0
- package/graphql/schema/cms/resolvers/updateEntryRevision.js +17 -0
- package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -0
- package/graphql/schema/cms/typeDefs/index.d.ts +3 -0
- package/graphql/schema/cms/typeDefs/index.js +5 -0
- package/graphql/schema/cms/typeDefs/index.js.map +1 -0
- package/graphql/schema/cms/typeDefs/mutation.d.ts +8 -0
- package/graphql/schema/cms/typeDefs/mutation.js +42 -0
- package/graphql/schema/cms/typeDefs/mutation.js.map +1 -0
- package/graphql/schema/cms/typeDefs/query.d.ts +8 -0
- package/graphql/schema/cms/typeDefs/query.js +36 -0
- package/graphql/schema/cms/typeDefs/query.js.map +1 -0
- package/graphql/schema/cms/typeDefs/responses.d.ts +8 -0
- package/graphql/schema/cms/typeDefs/responses.js +35 -0
- package/graphql/schema/cms/typeDefs/responses.js.map +1 -0
- package/graphql/schema/cms/unpublishEntryResolver.d.ts +10 -0
- package/graphql/schema/cms/unpublishEntryResolver.js +65 -0
- package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -0
- package/graphql/schema/cms/updateEntryResolver.d.ts +11 -0
- package/graphql/schema/cms/updateEntryResolver.js +67 -0
- package/graphql/schema/cms/updateEntryResolver.js.map +1 -0
- package/graphql/schema/contentEntries.js +1 -1
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModels.js +31 -9
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +3 -2
- package/graphql/schema/createFieldResolvers.js +5 -4
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.d.ts +3 -2
- package/graphql/schema/createManageResolvers.js +5 -3
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +4 -4
- package/graphql/schema/createManageSDL.js +16 -11
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.d.ts +3 -2
- package/graphql/schema/createPreviewResolvers.js +4 -4
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.d.ts +3 -2
- package/graphql/schema/createReadResolvers.js +4 -4
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +4 -4
- package/graphql/schema/createReadSDL.js +7 -7
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/createSingularResolvers.d.ts +3 -2
- package/graphql/schema/createSingularResolvers.js +3 -3
- package/graphql/schema/createSingularResolvers.js.map +1 -1
- package/graphql/schema/createSingularSDL.d.ts +3 -2
- package/graphql/schema/createSingularSDL.js +5 -4
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +9 -7
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +13 -0
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -0
- package/graphql/schema/schemaPlugins.js +14 -17
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/index.d.ts +3 -5
- package/index.js +4 -7
- package/index.js.map +1 -1
- package/package.json +36 -32
- package/plugins/CmsModelPlugin.js +19 -4
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -2
- package/plugins/index.js.map +1 -1
- package/types/context.d.ts +5 -5
- package/types/context.js.map +1 -1
- package/types/fields/objectField.d.ts +2 -0
- package/types/fields/objectField.js.map +1 -1
- package/types/model.d.ts +39 -3
- package/types/model.js.map +1 -1
- package/types/modelField.d.ts +47 -15
- package/types/modelField.js.map +1 -1
- package/types/plugins.d.ts +1 -305
- package/types/plugins.js.map +1 -1
- package/types/types.d.ts +28 -61
- package/types/types.js +0 -4
- package/types/types.js.map +1 -1
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
- package/utils/converters/ConverterCollection.d.ts +2 -0
- package/utils/converters/ConverterCollection.js +3 -2
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/types.js.map +1 -1
- package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
- package/utils/converters/valueKeyFromStorageConverter.js +4 -2
- package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
- package/utils/converters/valueKeyStorageConverter.js +7 -3
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
- package/utils/converters/valueKeyToStorageConverter.js +4 -2
- package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
- package/utils/createModelField.js +10 -8
- package/utils/createModelField.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +3 -2
- package/utils/createTypeFromFields.js +3 -3
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/entryStorage.d.ts +8 -15
- package/utils/entryStorage.js +31 -59
- package/utils/entryStorage.js.map +1 -1
- package/utils/getBaseFieldType.js +3 -0
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
- package/utils/getSchemaFromFieldPlugins.js +5 -9
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/renderFields.d.ts +4 -3
- package/utils/renderFields.js +14 -9
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +3 -2
- package/utils/renderGetFilterFields.js +2 -2
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +4 -3
- package/utils/renderInputFields.js +5 -11
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +3 -2
- package/utils/renderListFilterFields.js +5 -3
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +4 -4
- package/utils/renderSortEnum.js +11 -11
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +1 -1
- package/utils/toSlug.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/state.d.ts +0 -10
- package/crud/contentEntry/entryDataFactories/state.js +0 -16
- package/crud/contentEntry/entryDataFactories/state.js.map +0 -1
- package/crud/contentModel/validateModel.d.ts +0 -9
- package/crud/contentModel/validateModel.js +0 -21
- package/crud/contentModel/validateModel.js.map +0 -1
- package/crud/contentModel/validateModelFields.d.ts +0 -9
- package/crud/contentModel/validateModelFields.js +0 -267
- package/crud/contentModel/validateModelFields.js.map +0 -1
- package/features/modelBuilder/fields/validators.js +0 -3
- package/features/modelBuilder/fields/validators.js.map +0 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
- package/graphql/schema/createFieldTypePluginRecords.js +0 -8
- package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
- package/graphqlFields/boolean.d.ts +0 -2
- package/graphqlFields/boolean.js +0 -52
- package/graphqlFields/boolean.js.map +0 -1
- package/graphqlFields/datetime.d.ts +0 -2
- package/graphqlFields/datetime.js +0 -71
- package/graphqlFields/datetime.js.map +0 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
- package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
- package/graphqlFields/dynamicZone/index.d.ts +0 -1
- package/graphqlFields/dynamicZone/index.js +0 -3
- package/graphqlFields/dynamicZone/index.js.map +0 -1
- package/graphqlFields/file.d.ts +0 -2
- package/graphqlFields/file.js +0 -37
- package/graphqlFields/file.js.map +0 -1
- package/graphqlFields/helpers.js +0 -20
- package/graphqlFields/helpers.js.map +0 -1
- package/graphqlFields/index.d.ts +0 -2
- package/graphqlFields/index.js +0 -15
- package/graphqlFields/index.js.map +0 -1
- package/graphqlFields/json.d.ts +0 -2
- package/graphqlFields/json.js +0 -42
- package/graphqlFields/json.js.map +0 -1
- package/graphqlFields/longText.d.ts +0 -2
- package/graphqlFields/longText.js +0 -57
- package/graphqlFields/longText.js.map +0 -1
- package/graphqlFields/number.d.ts +0 -2
- package/graphqlFields/number.js +0 -63
- package/graphqlFields/number.js.map +0 -1
- package/graphqlFields/object.d.ts +0 -2
- package/graphqlFields/object.js +0 -245
- package/graphqlFields/object.js.map +0 -1
- package/graphqlFields/ref.d.ts +0 -2
- package/graphqlFields/ref.js +0 -286
- package/graphqlFields/ref.js.map +0 -1
- package/graphqlFields/richText/richTextResolver.js.map +0 -1
- package/graphqlFields/richText.d.ts +0 -2
- package/graphqlFields/richText.js +0 -48
- package/graphqlFields/richText.js.map +0 -1
- package/graphqlFields/searchableJson.d.ts +0 -2
- package/graphqlFields/searchableJson.js +0 -53
- package/graphqlFields/searchableJson.js.map +0 -1
- package/graphqlFields/text.d.ts +0 -2
- package/graphqlFields/text.js +0 -59
- package/graphqlFields/text.js.map +0 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
- package/plugins/StorageTransformPlugin.d.ts +0 -35
- package/plugins/StorageTransformPlugin.js +0 -26
- package/plugins/StorageTransformPlugin.js.map +0 -1
- package/storage/date.d.ts +0 -3
- package/storage/date.js +0 -110
- package/storage/date.js.map +0 -1
- package/storage/default.d.ts +0 -2
- package/storage/default.js +0 -19
- package/storage/default.js.map +0 -1
- package/storage/dynamicZone.d.ts +0 -2
- package/storage/dynamicZone.js +0 -149
- package/storage/dynamicZone.js.map +0 -1
- package/storage/index.d.ts +0 -1
- package/storage/index.js +0 -13
- package/storage/index.js.map +0 -1
- package/storage/json.d.ts +0 -2
- package/storage/json.js +0 -49
- package/storage/json.js.map +0 -1
- package/storage/object.d.ts +0 -2
- package/storage/object.js +0 -104
- package/storage/object.js.map +0 -1
- package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +0 -1
- package/validators/dateGte.d.ts +0 -2
- package/validators/dateGte.js +0 -25
- package/validators/dateGte.js.map +0 -1
- package/validators/dateLte.d.ts +0 -2
- package/validators/dateLte.js +0 -25
- package/validators/dateLte.js.map +0 -1
- package/validators/gte.d.ts +0 -2
- package/validators/gte.js +0 -22
- package/validators/gte.js.map +0 -1
- package/validators/in.d.ts +0 -2
- package/validators/in.js +0 -22
- package/validators/in.js.map +0 -1
- package/validators/index.d.ts +0 -1
- package/validators/index.js +0 -16
- package/validators/index.js.map +0 -1
- package/validators/lte.d.ts +0 -2
- package/validators/lte.js +0 -22
- package/validators/lte.js.map +0 -1
- package/validators/maxLength.d.ts +0 -2
- package/validators/maxLength.js +0 -22
- package/validators/maxLength.js.map +0 -1
- package/validators/minLength.d.ts +0 -2
- package/validators/minLength.js +0 -22
- package/validators/minLength.js.map +0 -1
- package/validators/pattern.d.ts +0 -2
- package/validators/pattern.js +0 -36
- package/validators/pattern.js.map +0 -1
- package/validators/patternPlugins/email.d.ts +0 -2
- package/validators/patternPlugins/email.js +0 -13
- package/validators/patternPlugins/email.js.map +0 -1
- package/validators/patternPlugins/index.d.ts +0 -2
- package/validators/patternPlugins/index.js +0 -11
- package/validators/patternPlugins/index.js.map +0 -1
- package/validators/patternPlugins/lowerCase.d.ts +0 -2
- package/validators/patternPlugins/lowerCase.js +0 -13
- package/validators/patternPlugins/lowerCase.js.map +0 -1
- package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
- package/validators/patternPlugins/lowerCaseSpace.js +0 -13
- package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/validators/patternPlugins/upperCase.d.ts +0 -2
- package/validators/patternPlugins/upperCase.js +0 -13
- package/validators/patternPlugins/upperCase.js.map +0 -1
- package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
- package/validators/patternPlugins/upperCaseSpace.js +0 -13
- package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/validators/patternPlugins/url.d.ts +0 -2
- package/validators/patternPlugins/url.js +0 -13
- package/validators/patternPlugins/url.js.map +0 -1
- package/validators/required.d.ts +0 -2
- package/validators/required.js +0 -17
- package/validators/required.js.map +0 -1
- package/validators/timeGte.d.ts +0 -2
- package/validators/timeGte.js +0 -20
- package/validators/timeGte.js.map +0 -1
- package/validators/timeLte.d.ts +0 -2
- package/validators/timeLte.js +0 -20
- package/validators/timeLte.js.map +0 -1
- package/validators/unique.d.ts +0 -6
- package/validators/unique.js +0 -57
- package/validators/unique.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["camelCase","EntryValidationError","validateValue","params","fieldValidators","value","validatorList","context","field","model","entry","fieldValidator","name","validations","length","validate","result","validator","message","ex","validatePredefinedValue","enabled","values","predefinedValues","Array","isArray","undefined","predefinedValue","getFieldValidation","listValidation","filter","item","runFieldMultipleValuesValidations","initialValues","fieldId","valuesError","valueError","validation","predefinedValueError","runFieldValueValidations","error","execValidation","multipleValues","validateModelEntryData","skipValidators","isValidatorSkipped","plugin","includes","skippedValidators","Set","validators","plugins","byType","isSkipped","add","push","keys","Object","size","parents","fields","validateModelEntryDataOrThrow","invalidFields","executeFieldValidation","type","settings","id","storageId","objectValue","index","childField","errors","concat","templates","template","fieldData","templateValue","gqlTypeName","results","Promise","all","map"],"sources":["entryDataValidation.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsDynamicZoneTemplate,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CmsModelFieldValidation,\n CmsModelFieldValidatorPlugin,\n CmsModelFieldValidatorValidateParams\n} from \"~/types/index.js\";\nimport camelCase from \"lodash/camelCase.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\n\ntype PluginValidationCallable = (params: CmsModelFieldValidatorValidateParams) => Promise<boolean>;\ntype PluginValidationList = Record<string, PluginValidationCallable[]>;\n\ninterface ExecuteValidationParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n field: CmsModelField;\n model: CmsModel;\n values: TValues;\n context: CmsContext;\n entry?: CmsEntry<TValues>;\n}\n\ntype PossibleValue = boolean | number | string | null | undefined;\n\nconst validateValue = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>,\n fieldValidators: CmsModelFieldValidation[],\n value: PossibleValue | PossibleValue[]\n): Promise<string | null> => {\n if (!fieldValidators) {\n return null;\n }\n const { validatorList, context, field, model, entry } = params;\n try {\n for (const fieldValidator of fieldValidators) {\n const name = fieldValidator.name;\n const validations = validatorList[name];\n if (!validations || validations.length === 0) {\n return `There are no \"${name}\" validators defined.`;\n }\n for (const validate of validations) {\n const result = await validate({\n value,\n context,\n validator: fieldValidator,\n field,\n model,\n entry\n });\n if (!result) {\n return fieldValidator.message;\n }\n }\n }\n } catch (ex) {\n return ex.message;\n }\n\n return null;\n};\n\nconst validatePredefinedValue = (field: CmsModelField, value: any | any[]): string | null => {\n const { enabled = false, values: predefinedValues = [] } = field.predefinedValues || {};\n if (!enabled) {\n return null;\n } else if (Array.isArray(predefinedValues) === false || predefinedValues.length === 0) {\n return \"Missing predefined values to validate against.\";\n } else if (value === \"\" || value === null || value === undefined) {\n return null;\n }\n for (const predefinedValue of predefinedValues) {\n /**\n * No strict compare because the value sent can be 12345 (number) and predefinedValue can be \"12345\" (string),\n * and we want it to match.\n */\n if (predefinedValue.value == value) {\n return null;\n }\n }\n return \"Value sent does not match any of the available predefined values.\";\n};\n\nconst getFieldValidation = (\n listValidation?: CmsModelFieldValidation[]\n): CmsModelFieldValidation[] => {\n if (!listValidation?.length) {\n return [];\n }\n return listValidation.filter(item => item.name !== \"dynamicZone\");\n};\n/**\n * When multiple values is selected we must run validations on the array containing the values\n * And then on each value in the array\n */\nconst runFieldMultipleValuesValidations = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>\n): Promise<string | null> => {\n const { field, values: initialValues } = params;\n const values = initialValues[field.fieldId as keyof TValues] as\n | PossibleValue[]\n | null\n | undefined;\n const valuesError = await validateValue(\n params,\n getFieldValidation(field.listValidation),\n values\n );\n if (valuesError) {\n return valuesError;\n }\n if (values === null || values === undefined) {\n return null;\n }\n for (const value of values) {\n const valueError = await validateValue(params, getFieldValidation(field.validation), value);\n if (valueError) {\n return valueError;\n }\n const predefinedValueError = validatePredefinedValue(field, value);\n if (predefinedValueError) {\n return predefinedValueError;\n }\n }\n return null;\n};\n/**\n * Runs validation on given value.\n */\nconst runFieldValueValidations = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>\n): Promise<string | null> => {\n const { values, field } = params;\n const value = values[field.fieldId as keyof TValues] as PossibleValue | null | undefined;\n const error = await validateValue(params, field.validation || [], value);\n if (error) {\n return error;\n }\n return validatePredefinedValue(field, value);\n};\n\nconst execValidation = async (params: ExecuteValidationParams): Promise<string | null> => {\n const { field } = params;\n if (field.multipleValues) {\n return await runFieldMultipleValuesValidations(params);\n }\n return await runFieldValueValidations(params);\n};\n\ninterface IValidateModelEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n context: CmsContext;\n model: CmsModel;\n values: TValues;\n entry?: CmsEntry<TValues>;\n skipValidators?: string[];\n}\n\nexport const validateModelEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IValidateModelEntryDataParams\n) => {\n const { context, model, entry, values, skipValidators } = params;\n\n const isValidatorSkipped = (plugin: CmsModelFieldValidatorPlugin) => {\n if (!skipValidators) {\n return false;\n }\n return skipValidators.includes(camelCase(plugin.validator.name));\n };\n\n const skippedValidators = new Set<string>();\n\n /**\n * To later simplify searching for the validations we map them to a name.\n * @see CmsModelFieldValidatorPlugin.validator.validate\n */\n const validatorList: PluginValidationList = {};\n const validators = context.plugins.byType<CmsModelFieldValidatorPlugin>(\n \"cms-model-field-validator\"\n );\n for (const plugin of validators) {\n const name = plugin.validator.name;\n if (!validatorList[name]) {\n validatorList[name] = [];\n }\n const isSkipped = isValidatorSkipped(plugin);\n if (isSkipped) {\n skippedValidators.add(name);\n }\n validatorList[name].push(isSkipped ? async () => true : plugin.validator.validate);\n }\n /**\n * No point in continuing if all validators are skipped.\n */\n const keys = Object.keys(validatorList);\n if (keys.length === skippedValidators.size) {\n return [];\n }\n\n return await validate<TValues>({\n validatorList,\n context,\n model,\n entry: entry as CmsEntry<TValues>,\n parents: [],\n fields: model.fields,\n values: {\n ...(entry?.values as TValues),\n ...values\n }\n });\n};\n\nexport const validateModelEntryDataOrThrow = async <\n TValues extends CmsEntryValues = CmsEntryValues\n>(\n params: IValidateModelEntryDataParams<TValues>\n) => {\n const invalidFields = await validateModelEntryData(params);\n if (invalidFields.length === 0) {\n return;\n }\n throw new EntryValidationError(\"Validation failed.\", invalidFields);\n};\n\n/**\n *\n */\ninterface FieldError {\n id: string;\n fieldId: string;\n storageId: string;\n error: any;\n parents: string[];\n}\n\ninterface ValidateFieldParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n parents: string[];\n model: CmsModel;\n values: TValues;\n context: CmsContext;\n field: CmsModelField;\n entry?: CmsEntry<TValues>;\n}\n\nconst executeFieldValidation = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ValidateFieldParams<TValues>\n): Promise<FieldError[]> => {\n // TODO put per-field validation into plugins.\n const { field } = params;\n /**\n * Object field.\n */\n if (field.type === \"object\") {\n const fields = field.settings?.fields;\n if (!Array.isArray(fields)) {\n return [];\n }\n const validations: FieldError[] = [];\n /**\n * We need to validate the object field as well.\n */\n const error = await execValidation({\n ...params,\n field\n });\n if (error) {\n validations.push({\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n });\n }\n const objectValue = params.values[field.fieldId as keyof TValues];\n if (!objectValue) {\n return validations;\n }\n const values = (Array.isArray(objectValue) ? objectValue : [objectValue]) as TValues[];\n for (const index in values) {\n const parents = field.multipleValues ? [field.fieldId, index] : [field.fieldId];\n const value = values[index] as TValues;\n for (const childField of fields) {\n const errors = await executeFieldValidation<typeof value>({\n ...params,\n parents: params.parents.concat(parents),\n field: childField,\n values: value\n });\n if (errors.length === 0) {\n continue;\n }\n validations.push(...errors);\n }\n }\n return validations;\n }\n /**\n * Dynamic Zone Field\n */\n //\n else if (field.type === \"dynamicZone\") {\n const validations: FieldError[] = [];\n\n const error = await execValidation({\n ...params,\n field\n });\n if (error) {\n validations.push({\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n });\n }\n\n const templates = (field.settings?.templates || []) as CmsDynamicZoneTemplate[];\n for (const template of templates) {\n const fields = template.fields;\n const fieldData = params.values[field.fieldId as keyof TValues];\n if (!fieldData) {\n continue;\n }\n const values: TValues[keyof TValues][] = Array.isArray(fieldData)\n ? fieldData\n : [fieldData];\n for (const index in values) {\n const templateValue = values[index]?.[template.gqlTypeName];\n if (!templateValue) {\n continue;\n }\n /**\n * Order of the parents must be\n * - fieldId\n * - index (if multiple values)\n * - gqlTypeName\n */\n const parents = [field.fieldId];\n if (field.multipleValues) {\n parents.push(index);\n }\n parents.push(template.gqlTypeName);\n for (const childField of fields) {\n const errors = await executeFieldValidation({\n ...params,\n parents: params.parents.concat(parents),\n field: childField,\n values: templateValue\n });\n if (errors.length === 0) {\n continue;\n }\n validations.push(...errors);\n }\n }\n }\n\n return validations;\n }\n const error = await execValidation({\n ...params\n });\n if (!error) {\n return [];\n }\n return [\n {\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n }\n ];\n};\n\ninterface ValidateFieldsParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n parents: string[];\n model: CmsModel;\n values: TValues;\n fields: CmsModelField[];\n context: CmsContext;\n entry?: CmsEntry<TValues>;\n}\n\nconst validate = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ValidateFieldsParams<TValues>\n): Promise<FieldError[]> => {\n const { fields } = params;\n const errors: FieldError[] = [];\n\n const results = await Promise.all(\n fields.map(async field => {\n return await executeFieldValidation<TValues>({\n ...params,\n field\n });\n })\n );\n\n for (const result of results) {\n if (result.length === 0) {\n continue;\n }\n errors.push(...result);\n }\n return errors;\n};\n"],"mappings":"AAWA,OAAOA,SAAS,MAAM,qBAAqB;AAC3C,SAASC,oBAAoB;AAgB7B,MAAMC,aAAa,GAAG,MAAAA,CAClBC,MAAwC,EACxCC,eAA0C,EAC1CC,KAAsC,KACb;EACzB,IAAI,CAACD,eAAe,EAAE;IAClB,OAAO,IAAI;EACf;EACA,MAAM;IAAEE,aAAa;IAAEC,OAAO;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGP,MAAM;EAC9D,IAAI;IACA,KAAK,MAAMQ,cAAc,IAAIP,eAAe,EAAE;MAC1C,MAAMQ,IAAI,GAAGD,cAAc,CAACC,IAAI;MAChC,MAAMC,WAAW,GAAGP,aAAa,CAACM,IAAI,CAAC;MACvC,IAAI,CAACC,WAAW,IAAIA,WAAW,CAACC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,iBAAiBF,IAAI,uBAAuB;MACvD;MACA,KAAK,MAAMG,QAAQ,IAAIF,WAAW,EAAE;QAChC,MAAMG,MAAM,GAAG,MAAMD,QAAQ,CAAC;UAC1BV,KAAK;UACLE,OAAO;UACPU,SAAS,EAAEN,cAAc;UACzBH,KAAK;UACLC,KAAK;UACLC;QACJ,CAAC,CAAC;QACF,IAAI,CAACM,MAAM,EAAE;UACT,OAAOL,cAAc,CAACO,OAAO;QACjC;MACJ;IACJ;EACJ,CAAC,CAAC,OAAOC,EAAE,EAAE;IACT,OAAOA,EAAE,CAACD,OAAO;EACrB;EAEA,OAAO,IAAI;AACf,CAAC;AAED,MAAME,uBAAuB,GAAGA,CAACZ,KAAoB,EAAEH,KAAkB,KAAoB;EACzF,MAAM;IAAEgB,OAAO,GAAG,KAAK;IAAEC,MAAM,EAAEC,gBAAgB,GAAG;EAAG,CAAC,GAAGf,KAAK,CAACe,gBAAgB,IAAI,CAAC,CAAC;EACvF,IAAI,CAACF,OAAO,EAAE;IACV,OAAO,IAAI;EACf,CAAC,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACF,gBAAgB,CAAC,KAAK,KAAK,IAAIA,gBAAgB,CAACT,MAAM,KAAK,CAAC,EAAE;IACnF,OAAO,gDAAgD;EAC3D,CAAC,MAAM,IAAIT,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKqB,SAAS,EAAE;IAC9D,OAAO,IAAI;EACf;EACA,KAAK,MAAMC,eAAe,IAAIJ,gBAAgB,EAAE;IAC5C;AACR;AACA;AACA;IACQ,IAAII,eAAe,CAACtB,KAAK,IAAIA,KAAK,EAAE;MAChC,OAAO,IAAI;IACf;EACJ;EACA,OAAO,mEAAmE;AAC9E,CAAC;AAED,MAAMuB,kBAAkB,GACpBC,cAA0C,IACd;EAC5B,IAAI,CAACA,cAAc,EAAEf,MAAM,EAAE;IACzB,OAAO,EAAE;EACb;EACA,OAAOe,cAAc,CAACC,MAAM,CAACC,IAAI,IAAIA,IAAI,CAACnB,IAAI,KAAK,aAAa,CAAC;AACrE,CAAC;AACD;AACA;AACA;AACA;AACA,MAAMoB,iCAAiC,GAAG,MACtC7B,MAAwC,IACf;EACzB,MAAM;IAAEK,KAAK;IAAEc,MAAM,EAAEW;EAAc,CAAC,GAAG9B,MAAM;EAC/C,MAAMmB,MAAM,GAAGW,aAAa,CAACzB,KAAK,CAAC0B,OAAO,CAG3B;EACf,MAAMC,WAAW,GAAG,MAAMjC,aAAa,CACnCC,MAAM,EACNyB,kBAAkB,CAACpB,KAAK,CAACqB,cAAc,CAAC,EACxCP,MACJ,CAAC;EACD,IAAIa,WAAW,EAAE;IACb,OAAOA,WAAW;EACtB;EACA,IAAIb,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAKI,SAAS,EAAE;IACzC,OAAO,IAAI;EACf;EACA,KAAK,MAAMrB,KAAK,IAAIiB,MAAM,EAAE;IACxB,MAAMc,UAAU,GAAG,MAAMlC,aAAa,CAACC,MAAM,EAAEyB,kBAAkB,CAACpB,KAAK,CAAC6B,UAAU,CAAC,EAAEhC,KAAK,CAAC;IAC3F,IAAI+B,UAAU,EAAE;MACZ,OAAOA,UAAU;IACrB;IACA,MAAME,oBAAoB,GAAGlB,uBAAuB,CAACZ,KAAK,EAAEH,KAAK,CAAC;IAClE,IAAIiC,oBAAoB,EAAE;MACtB,OAAOA,oBAAoB;IAC/B;EACJ;EACA,OAAO,IAAI;AACf,CAAC;AACD;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG,MAC7BpC,MAAwC,IACf;EACzB,MAAM;IAAEmB,MAAM;IAAEd;EAAM,CAAC,GAAGL,MAAM;EAChC,MAAME,KAAK,GAAGiB,MAAM,CAACd,KAAK,CAAC0B,OAAO,CAAsD;EACxF,MAAMM,KAAK,GAAG,MAAMtC,aAAa,CAACC,MAAM,EAAEK,KAAK,CAAC6B,UAAU,IAAI,EAAE,EAAEhC,KAAK,CAAC;EACxE,IAAImC,KAAK,EAAE;IACP,OAAOA,KAAK;EAChB;EACA,OAAOpB,uBAAuB,CAACZ,KAAK,EAAEH,KAAK,CAAC;AAChD,CAAC;AAED,MAAMoC,cAAc,GAAG,MAAOtC,MAA+B,IAA6B;EACtF,MAAM;IAAEK;EAAM,CAAC,GAAGL,MAAM;EACxB,IAAIK,KAAK,CAACkC,cAAc,EAAE;IACtB,OAAO,MAAMV,iCAAiC,CAAC7B,MAAM,CAAC;EAC1D;EACA,OAAO,MAAMoC,wBAAwB,CAACpC,MAAM,CAAC;AACjD,CAAC;AAUD,OAAO,MAAMwC,sBAAsB,GAAG,MAClCxC,MAAqC,IACpC;EACD,MAAM;IAAEI,OAAO;IAAEE,KAAK;IAAEC,KAAK;IAAEY,MAAM;IAAEsB;EAAe,CAAC,GAAGzC,MAAM;EAEhE,MAAM0C,kBAAkB,GAAIC,MAAoC,IAAK;IACjE,IAAI,CAACF,cAAc,EAAE;MACjB,OAAO,KAAK;IAChB;IACA,OAAOA,cAAc,CAACG,QAAQ,CAAC/C,SAAS,CAAC8C,MAAM,CAAC7B,SAAS,CAACL,IAAI,CAAC,CAAC;EACpE,CAAC;EAED,MAAMoC,iBAAiB,GAAG,IAAIC,GAAG,CAAS,CAAC;;EAE3C;AACJ;AACA;AACA;EACI,MAAM3C,aAAmC,GAAG,CAAC,CAAC;EAC9C,MAAM4C,UAAU,GAAG3C,OAAO,CAAC4C,OAAO,CAACC,MAAM,CACrC,2BACJ,CAAC;EACD,KAAK,MAAMN,MAAM,IAAII,UAAU,EAAE;IAC7B,MAAMtC,IAAI,GAAGkC,MAAM,CAAC7B,SAAS,CAACL,IAAI;IAClC,IAAI,CAACN,aAAa,CAACM,IAAI,CAAC,EAAE;MACtBN,aAAa,CAACM,IAAI,CAAC,GAAG,EAAE;IAC5B;IACA,MAAMyC,SAAS,GAAGR,kBAAkB,CAACC,MAAM,CAAC;IAC5C,IAAIO,SAAS,EAAE;MACXL,iBAAiB,CAACM,GAAG,CAAC1C,IAAI,CAAC;IAC/B;IACAN,aAAa,CAACM,IAAI,CAAC,CAAC2C,IAAI,CAACF,SAAS,GAAG,YAAY,IAAI,GAAGP,MAAM,CAAC7B,SAAS,CAACF,QAAQ,CAAC;EACtF;EACA;AACJ;AACA;EACI,MAAMyC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAClD,aAAa,CAAC;EACvC,IAAIkD,IAAI,CAAC1C,MAAM,KAAKkC,iBAAiB,CAACU,IAAI,EAAE;IACxC,OAAO,EAAE;EACb;EAEA,OAAO,MAAM3C,QAAQ,CAAU;IAC3BT,aAAa;IACbC,OAAO;IACPE,KAAK;IACLC,KAAK,EAAEA,KAA0B;IACjCiD,OAAO,EAAE,EAAE;IACXC,MAAM,EAAEnD,KAAK,CAACmD,MAAM;IACpBtC,MAAM,EAAE;MACJ,GAAIZ,KAAK,EAAEY,MAAkB;MAC7B,GAAGA;IACP;EACJ,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMuC,6BAA6B,GAAG,MAGzC1D,MAA8C,IAC7C;EACD,MAAM2D,aAAa,GAAG,MAAMnB,sBAAsB,CAACxC,MAAM,CAAC;EAC1D,IAAI2D,aAAa,CAAChD,MAAM,KAAK,CAAC,EAAE;IAC5B;EACJ;EACA,MAAM,IAAIb,oBAAoB,CAAC,oBAAoB,EAAE6D,aAAa,CAAC;AACvE,CAAC;;AAED;AACA;AACA;;AAmBA,MAAMC,sBAAsB,GAAG,MAC3B5D,MAAoC,IACZ;EACxB;EACA,MAAM;IAAEK;EAAM,CAAC,GAAGL,MAAM;EACxB;AACJ;AACA;EACI,IAAIK,KAAK,CAACwD,IAAI,KAAK,QAAQ,EAAE;IACzB,MAAMJ,MAAM,GAAGpD,KAAK,CAACyD,QAAQ,EAAEL,MAAM;IACrC,IAAI,CAACpC,KAAK,CAACC,OAAO,CAACmC,MAAM,CAAC,EAAE;MACxB,OAAO,EAAE;IACb;IACA,MAAM/C,WAAyB,GAAG,EAAE;IACpC;AACR;AACA;IACQ,MAAM2B,KAAK,GAAG,MAAMC,cAAc,CAAC;MAC/B,GAAGtC,MAAM;MACTK;IACJ,CAAC,CAAC;IACF,IAAIgC,KAAK,EAAE;MACP3B,WAAW,CAAC0C,IAAI,CAAC;QACbW,EAAE,EAAE1D,KAAK,CAAC0D,EAAE;QACZhC,OAAO,EAAE1B,KAAK,CAAC0B,OAAO;QACtBiC,SAAS,EAAE3D,KAAK,CAAC2D,SAAS;QAC1B3B,KAAK;QACLmB,OAAO,EAAExD,MAAM,CAACwD;MACpB,CAAC,CAAC;IACN;IACA,MAAMS,WAAW,GAAGjE,MAAM,CAACmB,MAAM,CAACd,KAAK,CAAC0B,OAAO,CAAkB;IACjE,IAAI,CAACkC,WAAW,EAAE;MACd,OAAOvD,WAAW;IACtB;IACA,MAAMS,MAAM,GAAIE,KAAK,CAACC,OAAO,CAAC2C,WAAW,CAAC,GAAGA,WAAW,GAAG,CAACA,WAAW,CAAe;IACtF,KAAK,MAAMC,KAAK,IAAI/C,MAAM,EAAE;MACxB,MAAMqC,OAAO,GAAGnD,KAAK,CAACkC,cAAc,GAAG,CAAClC,KAAK,CAAC0B,OAAO,EAAEmC,KAAK,CAAC,GAAG,CAAC7D,KAAK,CAAC0B,OAAO,CAAC;MAC/E,MAAM7B,KAAK,GAAGiB,MAAM,CAAC+C,KAAK,CAAY;MACtC,KAAK,MAAMC,UAAU,IAAIV,MAAM,EAAE;QAC7B,MAAMW,MAAM,GAAG,MAAMR,sBAAsB,CAAe;UACtD,GAAG5D,MAAM;UACTwD,OAAO,EAAExD,MAAM,CAACwD,OAAO,CAACa,MAAM,CAACb,OAAO,CAAC;UACvCnD,KAAK,EAAE8D,UAAU;UACjBhD,MAAM,EAAEjB;QACZ,CAAC,CAAC;QACF,IAAIkE,MAAM,CAACzD,MAAM,KAAK,CAAC,EAAE;UACrB;QACJ;QACAD,WAAW,CAAC0C,IAAI,CAAC,GAAGgB,MAAM,CAAC;MAC/B;IACJ;IACA,OAAO1D,WAAW;EACtB;EACA;AACJ;AACA;EACI;EAAA,KACK,IAAIL,KAAK,CAACwD,IAAI,KAAK,aAAa,EAAE;IACnC,MAAMnD,WAAyB,GAAG,EAAE;IAEpC,MAAM2B,KAAK,GAAG,MAAMC,cAAc,CAAC;MAC/B,GAAGtC,MAAM;MACTK;IACJ,CAAC,CAAC;IACF,IAAIgC,KAAK,EAAE;MACP3B,WAAW,CAAC0C,IAAI,CAAC;QACbW,EAAE,EAAE1D,KAAK,CAAC0D,EAAE;QACZhC,OAAO,EAAE1B,KAAK,CAAC0B,OAAO;QACtBiC,SAAS,EAAE3D,KAAK,CAAC2D,SAAS;QAC1B3B,KAAK;QACLmB,OAAO,EAAExD,MAAM,CAACwD;MACpB,CAAC,CAAC;IACN;IAEA,MAAMc,SAAS,GAAIjE,KAAK,CAACyD,QAAQ,EAAEQ,SAAS,IAAI,EAA+B;IAC/E,KAAK,MAAMC,QAAQ,IAAID,SAAS,EAAE;MAC9B,MAAMb,MAAM,GAAGc,QAAQ,CAACd,MAAM;MAC9B,MAAMe,SAAS,GAAGxE,MAAM,CAACmB,MAAM,CAACd,KAAK,CAAC0B,OAAO,CAAkB;MAC/D,IAAI,CAACyC,SAAS,EAAE;QACZ;MACJ;MACA,MAAMrD,MAAgC,GAAGE,KAAK,CAACC,OAAO,CAACkD,SAAS,CAAC,GAC3DA,SAAS,GACT,CAACA,SAAS,CAAC;MACjB,KAAK,MAAMN,KAAK,IAAI/C,MAAM,EAAE;QACxB,MAAMsD,aAAa,GAAGtD,MAAM,CAAC+C,KAAK,CAAC,GAAGK,QAAQ,CAACG,WAAW,CAAC;QAC3D,IAAI,CAACD,aAAa,EAAE;UAChB;QACJ;QACA;AAChB;AACA;AACA;AACA;AACA;QACgB,MAAMjB,OAAO,GAAG,CAACnD,KAAK,CAAC0B,OAAO,CAAC;QAC/B,IAAI1B,KAAK,CAACkC,cAAc,EAAE;UACtBiB,OAAO,CAACJ,IAAI,CAACc,KAAK,CAAC;QACvB;QACAV,OAAO,CAACJ,IAAI,CAACmB,QAAQ,CAACG,WAAW,CAAC;QAClC,KAAK,MAAMP,UAAU,IAAIV,MAAM,EAAE;UAC7B,MAAMW,MAAM,GAAG,MAAMR,sBAAsB,CAAC;YACxC,GAAG5D,MAAM;YACTwD,OAAO,EAAExD,MAAM,CAACwD,OAAO,CAACa,MAAM,CAACb,OAAO,CAAC;YACvCnD,KAAK,EAAE8D,UAAU;YACjBhD,MAAM,EAAEsD;UACZ,CAAC,CAAC;UACF,IAAIL,MAAM,CAACzD,MAAM,KAAK,CAAC,EAAE;YACrB;UACJ;UACAD,WAAW,CAAC0C,IAAI,CAAC,GAAGgB,MAAM,CAAC;QAC/B;MACJ;IACJ;IAEA,OAAO1D,WAAW;EACtB;EACA,MAAM2B,KAAK,GAAG,MAAMC,cAAc,CAAC;IAC/B,GAAGtC;EACP,CAAC,CAAC;EACF,IAAI,CAACqC,KAAK,EAAE;IACR,OAAO,EAAE;EACb;EACA,OAAO,CACH;IACI0B,EAAE,EAAE1D,KAAK,CAAC0D,EAAE;IACZhC,OAAO,EAAE1B,KAAK,CAAC0B,OAAO;IACtBiC,SAAS,EAAE3D,KAAK,CAAC2D,SAAS;IAC1B3B,KAAK;IACLmB,OAAO,EAAExD,MAAM,CAACwD;EACpB,CAAC,CACJ;AACL,CAAC;AAYD,MAAM5C,QAAQ,GAAG,MACbZ,MAAqC,IACb;EACxB,MAAM;IAAEyD;EAAO,CAAC,GAAGzD,MAAM;EACzB,MAAMoE,MAAoB,GAAG,EAAE;EAE/B,MAAMO,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC7BpB,MAAM,CAACqB,GAAG,CAAC,MAAMzE,KAAK,IAAI;IACtB,OAAO,MAAMuD,sBAAsB,CAAU;MACzC,GAAG5D,MAAM;MACTK;IACJ,CAAC,CAAC;EACN,CAAC,CACL,CAAC;EAED,KAAK,MAAMQ,MAAM,IAAI8D,OAAO,EAAE;IAC1B,IAAI9D,MAAM,CAACF,MAAM,KAAK,CAAC,EAAE;MACrB;IACJ;IACAyD,MAAM,CAAChB,IAAI,CAAC,GAAGvC,MAAM,CAAC;EAC1B;EACA,OAAOuD,MAAM;AACjB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["camelCase","EntryValidationError","CmsModelFieldValidatorRegistry","validateValue","params","fieldValidators","value","validatorList","context","field","model","entry","fieldValidator","name","validations","length","validate","result","validator","message","ex","validatePredefinedValue","enabled","values","predefinedValues","Array","isArray","undefined","predefinedValue","getFieldValidation","listValidation","filter","item","runFieldMultipleValuesValidations","initialValues","fieldId","valuesError","valueError","validation","predefinedValueError","runFieldValueValidations","error","execValidation","list","validateModelEntryData","skipValidators","isValidatorSkipped","includes","skippedValidators","Set","registry","container","resolve","validators","getAll","isSkipped","add","push","keys","Object","size","parents","fields","validateModelEntryDataOrThrow","invalidFields","executeFieldValidation","type","settings","id","storageId","objectValue","index","childField","errors","concat","templates","template","fieldData","templateValue","gqlTypeName","results","Promise","all","map"],"sources":["entryDataValidation.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsDynamicZoneTemplate,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CmsModelFieldValidation\n} from \"~/types/index.js\";\nimport camelCase from \"lodash/camelCase.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport {\n type CmsModelFieldValidator,\n CmsModelFieldValidatorRegistry\n} from \"~/features/validation/index.js\";\n\ntype PluginValidationCallable = (\n params: CmsModelFieldValidator.Params\n) => CmsModelFieldValidator.Response;\ntype PluginValidationList = Record<string, PluginValidationCallable[]>;\n\ninterface ExecuteValidationParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n field: CmsModelField;\n model: CmsModel;\n values: TValues;\n context: CmsContext;\n entry?: CmsEntry<TValues>;\n}\n\ntype PossibleValue = boolean | number | string | null | undefined;\n\nconst validateValue = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>,\n fieldValidators: CmsModelFieldValidation[],\n value: PossibleValue | PossibleValue[]\n): Promise<string | null> => {\n if (!fieldValidators) {\n return null;\n }\n const { validatorList, context, field, model, entry } = params;\n try {\n for (const fieldValidator of fieldValidators) {\n const name = fieldValidator.name;\n const validations = validatorList[name];\n if (!validations || validations.length === 0) {\n return `There are no \"${name}\" validators defined.`;\n }\n for (const validate of validations) {\n const result = await validate({\n value,\n context,\n validator: fieldValidator,\n field,\n model,\n entry\n });\n if (!result) {\n return fieldValidator.message;\n }\n }\n }\n } catch (ex) {\n return ex.message;\n }\n\n return null;\n};\n\nconst validatePredefinedValue = (field: CmsModelField, value: any | any[]): string | null => {\n const { enabled = false, values: predefinedValues = [] } = field.predefinedValues || {};\n if (!enabled) {\n return null;\n } else if (Array.isArray(predefinedValues) === false || predefinedValues.length === 0) {\n return \"Missing predefined values to validate against.\";\n } else if (value === \"\" || value === null || value === undefined) {\n return null;\n }\n for (const predefinedValue of predefinedValues) {\n /**\n * No strict compare because the value sent can be 12345 (number) and predefinedValue can be \"12345\" (string),\n * and we want it to match.\n */\n if (predefinedValue.value == value) {\n return null;\n }\n }\n return \"Value sent does not match any of the available predefined values.\";\n};\n\nconst getFieldValidation = (\n listValidation?: CmsModelFieldValidation[]\n): CmsModelFieldValidation[] => {\n if (!listValidation?.length) {\n return [];\n }\n return listValidation.filter(item => item.name !== \"dynamicZone\");\n};\n/**\n * When multiple values is selected we must run validations on the array containing the values\n * And then on each value in the array\n */\nconst runFieldMultipleValuesValidations = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>\n): Promise<string | null> => {\n const { field, values: initialValues } = params;\n const values = initialValues[field.fieldId as keyof TValues] as\n | PossibleValue[]\n | null\n | undefined;\n const valuesError = await validateValue(\n params,\n getFieldValidation(field.listValidation),\n values\n );\n if (valuesError) {\n return valuesError;\n }\n if (values === null || values === undefined) {\n return null;\n }\n for (const value of values) {\n const valueError = await validateValue(params, getFieldValidation(field.validation), value);\n if (valueError) {\n return valueError;\n }\n const predefinedValueError = validatePredefinedValue(field, value);\n if (predefinedValueError) {\n return predefinedValueError;\n }\n }\n return null;\n};\n/**\n * Runs validation on given value.\n */\nconst runFieldValueValidations = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ExecuteValidationParams<TValues>\n): Promise<string | null> => {\n const { values, field } = params;\n const value = values[field.fieldId as keyof TValues];\n const error = await validateValue(params, field.validation || [], value);\n if (error) {\n return error;\n }\n return validatePredefinedValue(field, value);\n};\n\nconst execValidation = async (params: ExecuteValidationParams): Promise<string | null> => {\n const { field } = params;\n if (field.list) {\n return await runFieldMultipleValuesValidations(params);\n }\n return await runFieldValueValidations(params);\n};\n\ninterface IValidateModelEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n context: CmsContext;\n model: CmsModel;\n values: TValues;\n entry?: CmsEntry<TValues>;\n skipValidators?: string[];\n}\n\nexport const validateModelEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: IValidateModelEntryDataParams<TValues>\n) => {\n const { context, model, entry, values, skipValidators } = params;\n\n const isValidatorSkipped = (validator: CmsModelFieldValidator.Interface) => {\n if (!skipValidators) {\n return false;\n }\n return skipValidators.includes(camelCase(validator.name));\n };\n\n const skippedValidators = new Set<string>();\n\n const validatorList: PluginValidationList = {};\n const registry = context.container.resolve(CmsModelFieldValidatorRegistry);\n const validators = registry.getAll();\n for (const validator of validators) {\n const name = validator.name;\n if (!validatorList[name]) {\n validatorList[name] = [];\n }\n const isSkipped = isValidatorSkipped(validator);\n if (isSkipped) {\n skippedValidators.add(name);\n validatorList[name].push(async () => {\n return true;\n });\n continue;\n }\n validatorList[name].push(params => {\n return validator.validate(params);\n });\n }\n /**\n * No point in continuing if all validators are skipped.\n */\n const keys = Object.keys(validatorList);\n if (keys.length === skippedValidators.size) {\n return [];\n }\n\n return await validate<TValues>({\n validatorList,\n context,\n model,\n entry,\n parents: [],\n fields: model.fields,\n values: {\n ...entry?.values,\n ...values\n }\n });\n};\n\nexport const validateModelEntryDataOrThrow = async <\n TValues extends CmsEntryValues = CmsEntryValues\n>(\n params: IValidateModelEntryDataParams<TValues>\n) => {\n const invalidFields = await validateModelEntryData(params);\n if (invalidFields.length === 0) {\n return;\n }\n throw new EntryValidationError(\"Validation failed.\", invalidFields);\n};\n\n/**\n *\n */\ninterface FieldError {\n id: string;\n fieldId: string;\n storageId: string;\n error: any;\n parents: string[];\n}\n\ninterface ValidateFieldParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n parents: string[];\n model: CmsModel;\n values: TValues;\n context: CmsContext;\n field: CmsModelField;\n entry?: CmsEntry<TValues>;\n}\n\nconst executeFieldValidation = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ValidateFieldParams<TValues>\n): Promise<FieldError[]> => {\n // TODO put per-field validation into plugins.\n const { field } = params;\n /**\n * Object field.\n */\n if (field.type === \"object\") {\n const fields = field.settings?.fields;\n if (!Array.isArray(fields)) {\n return [];\n }\n const validations: FieldError[] = [];\n /**\n * We need to validate the object field as well.\n */\n const error = await execValidation({\n ...params,\n field\n });\n if (error) {\n validations.push({\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n });\n }\n const objectValue = params.values[field.fieldId as keyof TValues];\n if (!objectValue) {\n return validations;\n }\n const values = (Array.isArray(objectValue) ? objectValue : [objectValue]) as TValues[];\n for (const index in values) {\n const parents = field.list ? [field.fieldId, index] : [field.fieldId];\n const value = values[index] as TValues;\n for (const childField of fields) {\n const errors = await executeFieldValidation<typeof value>({\n ...params,\n parents: params.parents.concat(parents),\n field: childField,\n values: value\n });\n if (errors.length === 0) {\n continue;\n }\n validations.push(...errors);\n }\n }\n return validations;\n }\n /**\n * Dynamic Zone Field\n */\n //\n else if (field.type === \"dynamicZone\") {\n const validations: FieldError[] = [];\n\n const error = await execValidation({\n ...params,\n field\n });\n if (error) {\n validations.push({\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n });\n }\n\n const templates = (field.settings?.templates || []) as CmsDynamicZoneTemplate[];\n for (const template of templates) {\n const fields = template.fields;\n const fieldData = params.values[field.fieldId as keyof TValues];\n if (!fieldData) {\n continue;\n }\n const values: TValues[keyof TValues][] = Array.isArray(fieldData)\n ? fieldData\n : [fieldData];\n for (const index in values) {\n const templateValue = values[index]?.[template.gqlTypeName];\n if (!templateValue) {\n continue;\n }\n /**\n * Order of the parents must be\n * - fieldId\n * - index (if multiple values)\n * - gqlTypeName\n */\n const parents = [field.fieldId];\n if (field.list) {\n parents.push(index);\n }\n parents.push(template.gqlTypeName);\n for (const childField of fields) {\n const errors = await executeFieldValidation({\n ...params,\n parents: params.parents.concat(parents),\n field: childField,\n values: templateValue\n });\n if (errors.length === 0) {\n continue;\n }\n validations.push(...errors);\n }\n }\n }\n\n return validations;\n }\n const error = await execValidation({\n ...params\n });\n if (!error) {\n return [];\n }\n return [\n {\n id: field.id,\n fieldId: field.fieldId,\n storageId: field.storageId,\n error,\n parents: params.parents\n }\n ];\n};\n\ninterface ValidateFieldsParams<TValues extends CmsEntryValues = CmsEntryValues> {\n validatorList: PluginValidationList;\n parents: string[];\n model: CmsModel;\n values: TValues;\n fields: CmsModelField[];\n context: CmsContext;\n entry?: CmsEntry<TValues>;\n}\n\nconst validate = async <TValues extends CmsEntryValues = CmsEntryValues>(\n params: ValidateFieldsParams<TValues>\n): Promise<FieldError[]> => {\n const { fields } = params;\n const errors: FieldError[] = [];\n\n const results = await Promise.all(\n fields.map(async field => {\n return await executeFieldValidation<TValues>({\n ...params,\n field\n });\n })\n );\n\n for (const result of results) {\n if (result.length === 0) {\n continue;\n }\n errors.push(...result);\n }\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CmsEntryValues, CmsModelField } from "../../../types/index.js";
|
|
2
|
-
type INarrowedCmsModelField = Pick<CmsModelField, "fieldId" | "
|
|
2
|
+
type INarrowedCmsModelField = Pick<CmsModelField, "fieldId" | "list" | "type" | "settings">;
|
|
3
3
|
interface IBuildReferenceFieldPathsParams<TValues extends CmsEntryValues = CmsEntryValues> {
|
|
4
4
|
fields: INarrowedCmsModelField[];
|
|
5
5
|
parentPaths: string[];
|
|
@@ -9,7 +9,7 @@ const resolveBaseRef = params => {
|
|
|
9
9
|
isMultipleValues
|
|
10
10
|
} = params;
|
|
11
11
|
const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
|
|
12
|
-
if (field.
|
|
12
|
+
if (field.list) {
|
|
13
13
|
const inputValue = dotPropImmutable.get(input, `${field.fieldId}`, []);
|
|
14
14
|
if (!Array.isArray(inputValue)) {
|
|
15
15
|
return collection;
|
|
@@ -54,7 +54,7 @@ export const buildReferenceFieldPaths = params => {
|
|
|
54
54
|
}
|
|
55
55
|
if (baseType === "dynamicZone") {
|
|
56
56
|
const templates = field.settings?.templates || [];
|
|
57
|
-
if (field.
|
|
57
|
+
if (field.list) {
|
|
58
58
|
const values = dotPropImmutable.get(input, field.fieldId, []);
|
|
59
59
|
if (!Array.isArray(values)) {
|
|
60
60
|
return collection;
|
|
@@ -110,7 +110,7 @@ export const buildReferenceFieldPaths = params => {
|
|
|
110
110
|
/**
|
|
111
111
|
* If field is multiple values one, we need to go through the input and use the existing keys.
|
|
112
112
|
*/
|
|
113
|
-
if (field.
|
|
113
|
+
if (field.list) {
|
|
114
114
|
if (Array.isArray(objFieldInputValue) === false) {
|
|
115
115
|
return collection;
|
|
116
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["dotPropImmutable","getBaseFieldType","resolveBaseRef","params","field","parentPaths","input","collection","isMultipleValues","parentPathsValue","length","join","multipleValues","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<\n CmsModelField,\n \"fieldId\" | \"multipleValues\" | \"type\" | \"settings\"\n>;\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.multipleValues) {\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.multipleValues) {\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.multipleValues) {\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,"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":"AACA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,gBAAgB;AAYzB,MAAMC,cAAc,GAChBC,MAAqC,IAC1B;EACX,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAiB,CAAC,GAAGL,MAAM;EAC1E,MAAMM,gBAAgB,GAAGJ,WAAW,CAACK,MAAM,GAAG,CAAC,GAAG,GAAGL,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;EAClF,IAAIP,KAAK,CAACQ,IAAI,EAAE;IACZ,MAAMC,UAAU,GAAGb,gBAAgB,CAACc,GAAG,CAACR,KAAK,EAAE,GAAGF,KAAK,CAACW,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,UAAU,CAAC,EAAE;MAC5B,OAAON,UAAU;IACrB;IAEA,KAAK,MAAMW,GAAG,IAAIL,UAAU,EAAE;MAC1B,MAAMM,IAAI,GAAG,GAAGV,gBAAgB,GAAGL,KAAK,CAACW,OAAO,IAAIG,GAAG,EAAE;MACzDX,UAAU,CAACa,IAAI,CAACD,IAAI,CAAC;IACzB;IACA,OAAOZ,UAAU;EACrB;EAEA,IAAIC,gBAAgB,EAAE;IAClB,KAAK,MAAMU,GAAG,IAAIZ,KAAK,EAAE;MACrB,MAAMa,IAAI,GAAG,GAAGV,gBAAgB,GAAGS,GAAG,IAAId,KAAK,CAACW,OAAO,EAAE;MACzDR,UAAU,CAACa,IAAI,CAACD,IAAI,CAAC;IACzB;IACA,OAAOZ,UAAU;EACrB;EAEAA,UAAU,CAACa,IAAI,CAAC,GAAGX,gBAAgB,GAAGL,KAAK,CAACW,OAAO,EAAE,CAAC;EAEtD,OAAOR,UAAU;AACrB,CAAC;AAQD,OAAO,MAAMc,wBAAwB,GACjClB,MAAgD,IACrC;EACX,MAAM;IAAEmB,MAAM;IAAEjB,WAAW,EAAEkB,kBAAkB;IAAEjB;EAAM,CAAC,GAAGH,MAAM;EAEjE,MAAME,WAAW,GAAG,CAAC,GAAGkB,kBAAkB,CAAC;EAE3C,MAAMf,gBAAgB,GAAGQ,KAAK,CAACC,OAAO,CAACX,KAAK,CAAC;EAE7C,OAAOgB,MAAM,CACRE,MAAM,CAACpB,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAACqB,QAAQ,CAACxB,gBAAgB,CAACG,KAAK,CAAC,CAAC,CAAC,CACnFsB,MAAM,CAAW,CAACnB,UAAU,EAAEH,KAAK,KAAK;IACrC;AACZ;AACA;IACY,MAAMuB,QAAQ,GAAG1B,gBAAgB,CAACG,KAAK,CAAC;IACxC,IAAIuB,QAAQ,KAAK,KAAK,EAAE;MACpB,OAAOzB,cAAc,CAAC;QAClBK,UAAU;QACVH,KAAK;QACLC,WAAW;QACXC,KAAK;QACLE;MACJ,CAAC,CAAC;IACN;IAEA,IAAImB,QAAQ,KAAK,aAAa,EAAE;MAC5B,MAAMC,SAAmC,GAAGxB,KAAK,CAACyB,QAAQ,EAAED,SAAS,IAAI,EAAE;MAE3E,IAAIxB,KAAK,CAACQ,IAAI,EAAE;QACZ,MAAMkB,MAAM,GAAG9B,gBAAgB,CAACc,GAAG,CAACR,KAAK,EAAEF,KAAK,CAACW,OAAO,EAAE,EAAE,CAAC;QAC7D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACa,MAAM,CAAC,EAAE;UACxB,OAAOvB,UAAU;QACrB;QAEAuB,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;UAC7B,MAAMC,QAAQ,GAAGN,SAAS,CAACO,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,EAAE,KAAKL,KAAK,CAAC,aAAa,CAAC,CAAC;UACvE,IAAI,CAACE,QAAQ,EAAE;YACX;UACJ;UAEA,MAAMI,MAAM,GAAGjB,wBAAwB,CAAC;YACpCC,MAAM,EAAEY,QAAQ,CAACZ,MAAM;YACvBhB,KAAK,EAAE0B,KAAK;YACZ3B,WAAW,EAAEA,WAAW,CAACkC,MAAM,CAAC,CAACnC,KAAK,CAACW,OAAO,EAAEyB,MAAM,CAACP,KAAK,CAAC,CAAC;UAClE,CAAC,CAAC;UAEF1B,UAAU,CAACa,IAAI,CAAC,GAAGkB,MAAM,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAO/B,UAAU;MACrB;MAEA,MAAMyB,KAAK,GAAGhC,gBAAgB,CAACc,GAAG,CAACR,KAAK,EAAEF,KAAK,CAACW,OAAO,EAAE,CAAC,CAAC,CAAC;MAC5D,IAAI,CAACiB,KAAK,EAAE;QACR,OAAOzB,UAAU;MACrB;MAEA,MAAM2B,QAAQ,GAAGN,SAAS,CAACO,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,EAAE,KAAKL,KAAK,CAAC,aAAa,CAAC,CAAC;MAEvE,IAAI,CAACE,QAAQ,EAAE;QACX,OAAO3B,UAAU;MACrB;MAEA,MAAM+B,MAAM,GAAGjB,wBAAwB,CAAC;QACpCC,MAAM,EAAEY,QAAQ,CAACZ,MAAM;QACvBhB,KAAK,EAAE0B,KAAK,IAAI,CAAC,CAAC;QAClB3B,WAAW,EAAEA,WAAW,CAACkC,MAAM,CAAC,CAACnC,KAAK,CAACW,OAAO,CAAC;MACnD,CAAC,CAAC;MACFR,UAAU,CAACa,IAAI,CAAC,GAAGkB,MAAM,CAAC;MAE1B,OAAO/B,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAME,gBAAgB,GAAGJ,WAAW,CAACK,MAAM,GAAG,CAAC,GAAG,GAAGL,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;IAClF;AACZ;AACA;IACY,IAAIH,gBAAgB,EAAE;MAClB,KAAK,MAAMU,GAAG,IAAIZ,KAAK,EAAE;QACrB,MAAMa,IAAI,GAAG,GAAGV,gBAAgB,GAAGS,GAAG,IAAId,KAAK,CAACW,OAAO,EAAE;QACzDR,UAAU,CAACa,IAAI,CAACD,IAAI,CAAC;MACzB;MACA,OAAOZ,UAAU;IACrB;IAEA,MAAMkC,YAAY,GAAG,GAAGrC,KAAK,CAACW,OAAO,EAAE;IACvC,MAAM2B,kBAAkB,GAAG1C,gBAAgB,CAACc,GAAG,CAACR,KAAK,EAAEmC,YAAY,EAAE,EAAE,CAAC;;IAExE;AACZ;AACA;IACY,IAAIrC,KAAK,CAACQ,IAAI,EAAE;MACZ,IAAII,KAAK,CAACC,OAAO,CAACyB,kBAAkB,CAAC,KAAK,KAAK,EAAE;QAC7C,OAAOnC,UAAU;MACrB;MACA,KAAK,MAAMW,GAAG,IAAIwB,kBAAkB,EAAE;QAClC,MAAMJ,MAAM,GAAGjB,wBAAwB,CAAC;UACpCC,MAAM,EAAElB,KAAK,CAACyB,QAAQ,EAAEP,MAAM,IAAI,EAAE;UACpChB,KAAK,EAAEoC,kBAAkB,CAACxB,GAAG,CAAC;UAC9Bb,WAAW,EAAEA,WAAW,CAACkC,MAAM,CAAC,CAACnC,KAAK,CAACW,OAAO,EAAEG,GAAG,CAAC;QACxD,CAAC,CAAC;QACFX,UAAU,CAACa,IAAI,CAAC,GAAGkB,MAAM,CAAC;MAC9B;MAEA,OAAO/B,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAMoC,OAAO,GAAGtB,wBAAwB,CAAC;MACrCC,MAAM,EAAElB,KAAK,CAACyB,QAAQ,EAAEP,MAAM,IAAI,EAAE;MACpChB,KAAK,EAAEoC,kBAAkB;MACzBrC,WAAW,EAAEA,WAAW,CAACkC,MAAM,CAAC,CAACnC,KAAK,CAACW,OAAO,CAAC;IACnD,CAAC,CAAC;IAEF,OAAOR,UAAU,CAACgC,MAAM,CAACI,OAAO,CAAC;EACrC,CAAC,EAAE,EAAE,CAAC;AACd,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { CmsModelField } from "../../types/index.js";
|
|
2
|
-
import type { PluginsContainer } from "@webiny/plugins";
|
|
1
|
+
import type { CmsContext, CmsModelField } from "../../types/index.js";
|
|
3
2
|
interface Params {
|
|
4
3
|
input: string[];
|
|
5
4
|
fields: CmsModelField[];
|
|
6
|
-
|
|
5
|
+
context: Pick<CmsContext, "container">;
|
|
7
6
|
}
|
|
8
7
|
export declare const getSearchableFields: (params: Params) => string[];
|
|
9
8
|
export {};
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
1
2
|
const buildSearchableFieldList = params => {
|
|
2
3
|
const {
|
|
3
4
|
input,
|
|
4
|
-
|
|
5
|
+
registry,
|
|
5
6
|
fields,
|
|
6
7
|
parents
|
|
7
8
|
} = params;
|
|
8
9
|
return fields.reduce((result, field) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
const plugin = plugins[field.type];
|
|
13
|
-
if (!plugin) {
|
|
10
|
+
const fieldImpl = registry.get(field.type);
|
|
11
|
+
if (!fieldImpl) {
|
|
14
12
|
return result;
|
|
15
13
|
}
|
|
16
14
|
/**
|
|
@@ -18,13 +16,10 @@ const buildSearchableFieldList = params => {
|
|
|
18
16
|
*/
|
|
19
17
|
const childFields = field.settings?.fields || [];
|
|
20
18
|
if (childFields.length > 0) {
|
|
21
|
-
/**
|
|
22
|
-
* So we build a list of searchable child fields and push it into the main result set.
|
|
23
|
-
*/
|
|
24
19
|
const childResults = buildSearchableFieldList({
|
|
25
20
|
fields: childFields,
|
|
26
21
|
parents: [...parents, field.fieldId],
|
|
27
|
-
|
|
22
|
+
registry,
|
|
28
23
|
input
|
|
29
24
|
});
|
|
30
25
|
result.push(...childResults);
|
|
@@ -33,7 +28,7 @@ const buildSearchableFieldList = params => {
|
|
|
33
28
|
/**
|
|
34
29
|
* If not searchable, continue further.
|
|
35
30
|
*/
|
|
36
|
-
if (!
|
|
31
|
+
if (!fieldImpl.isFullTextSearchable || field.settings?.disableFullTextSearch === true) {
|
|
37
32
|
return result;
|
|
38
33
|
}
|
|
39
34
|
|
|
@@ -43,23 +38,24 @@ const buildSearchableFieldList = params => {
|
|
|
43
38
|
const path = [...parents, field.fieldId].join(".");
|
|
44
39
|
result.push(path);
|
|
45
40
|
return result;
|
|
46
|
-
},
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* We always add id and entry id.
|
|
44
|
+
*/
|
|
45
|
+
["id", "entryId"]);
|
|
47
46
|
};
|
|
48
47
|
export const getSearchableFields = params => {
|
|
49
48
|
const {
|
|
50
|
-
|
|
49
|
+
context,
|
|
51
50
|
input,
|
|
52
51
|
fields
|
|
53
52
|
} = params;
|
|
54
|
-
const
|
|
55
|
-
collection[field.fieldType] = field;
|
|
56
|
-
return collection;
|
|
57
|
-
}, {});
|
|
53
|
+
const registry = context.container.resolve(CmsModelFieldToGraphQLRegistry);
|
|
58
54
|
return buildSearchableFieldList({
|
|
59
55
|
fields,
|
|
60
56
|
input,
|
|
61
|
-
|
|
62
|
-
parents: []
|
|
57
|
+
registry,
|
|
58
|
+
parents: ["values"]
|
|
63
59
|
});
|
|
64
60
|
};
|
|
65
61
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["buildSearchableFieldList","params","input","
|
|
1
|
+
{"version":3,"names":["CmsModelFieldToGraphQLRegistry","buildSearchableFieldList","params","input","registry","fields","parents","reduce","result","field","fieldImpl","get","type","childFields","settings","length","childResults","fieldId","push","isFullTextSearchable","disableFullTextSearch","path","join","getSearchableFields","context","container","resolve"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsContext, CmsModelField } from \"~/types/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n registry: CmsModelFieldToGraphQLRegistry.Interface;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, registry, fields, parents } = params;\n return fields.reduce<string[]>(\n (result, field) => {\n const fieldImpl = registry.get(field.type);\n if (!fieldImpl) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n registry,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!fieldImpl.isFullTextSearchable || field.settings?.disableFullTextSearch === true) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n },\n /**\n * We always add id and entry id.\n */\n [\"id\", \"entryId\"]\n );\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n context: Pick<CmsContext, \"container\">;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { context, input, fields } = params;\n\n const registry = context.container.resolve(CmsModelFieldToGraphQLRegistry);\n\n return buildSearchableFieldList({\n fields,\n input,\n registry,\n parents: [\"values\"]\n });\n};\n"],"mappings":"AACA,SAASA,8BAA8B;AAQvC,MAAMC,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EACnD,OAAOG,MAAM,CAACE,MAAM,CAChB,CAACC,MAAM,EAAEC,KAAK,KAAK;IACf,MAAMC,SAAS,GAAGN,QAAQ,CAACO,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC;IAC1C,IAAI,CAACF,SAAS,EAAE;MACZ,OAAOF,MAAM;IACjB;IACA;AACZ;AACA;IACY,MAAMK,WAAW,GAAGJ,KAAK,CAACK,QAAQ,EAAET,MAAM,IAAI,EAAE;IAChD,IAAIQ,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB,MAAMC,YAAY,GAAGf,wBAAwB,CAAC;QAC1CI,MAAM,EAAEQ,WAAW;QACnBP,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACQ,OAAO,CAAC;QACpCb,QAAQ;QACRD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACU,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOR,MAAM;IACjB;IACA;AACZ;AACA;IACY,IAAI,CAACE,SAAS,CAACS,oBAAoB,IAAIV,KAAK,CAACK,QAAQ,EAAEM,qBAAqB,KAAK,IAAI,EAAE;MACnF,OAAOZ,MAAM;IACjB;;IAEA;AACZ;AACA;IACY,MAAMa,IAAI,GAAG,CAAC,GAAGf,OAAO,EAAEG,KAAK,CAACQ,OAAO,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IAClDd,MAAM,CAACU,IAAI,CAACG,IAAI,CAAC;IAEjB,OAAOb,MAAM;EACjB,CAAC;EACD;AACR;AACA;EACQ,CAAC,IAAI,EAAE,SAAS,CACpB,CAAC;AACL,CAAC;AAOD,OAAO,MAAMe,mBAAmB,GAAIrB,MAAc,IAAe;EAC7D,MAAM;IAAEsB,OAAO;IAAErB,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EAEzC,MAAME,QAAQ,GAAGoB,OAAO,CAACC,SAAS,CAACC,OAAO,CAAC1B,8BAA8B,CAAC;EAE1E,OAAOC,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,QAAQ;IACRE,OAAO,EAAE,CAAC,QAAQ;EACtB,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import WebinyError from "@webiny/error";
|
|
2
|
-
import { ContentEntryTraverser } from "../utils/contentEntryTraverser/ContentEntryTraverser.js";
|
|
3
2
|
import { CreateEntryUseCase } from "../features/contentEntry/CreateEntry/index.js";
|
|
4
3
|
import { CreateEntryRevisionFromUseCase } from "../features/contentEntry/CreateEntryRevisionFrom/abstractions.js";
|
|
5
4
|
import { UpdateEntryUseCase } from "../features/contentEntry/UpdateEntry/index.js";
|
|
@@ -21,6 +20,7 @@ import { DeleteMultipleEntriesUseCase } from "../features/contentEntry/DeleteMul
|
|
|
21
20
|
import { RestoreEntryFromBinUseCase } from "../features/contentEntry/RestoreEntryFromBin/abstractions.js";
|
|
22
21
|
import { UnpublishEntryUseCase } from "../features/contentEntry/UnpublishEntry/index.js";
|
|
23
22
|
import { GetUniqueFieldValuesUseCase } from "../features/contentEntry/GetUniqueFieldValues/index.js";
|
|
23
|
+
import { UpdateRevisionDescriptionUseCase } from "../features/contentEntry/UpdateRevisionDescription/index.js";
|
|
24
24
|
export const createContentEntryCrud = params => {
|
|
25
25
|
const {
|
|
26
26
|
context
|
|
@@ -58,6 +58,16 @@ export const createContentEntryCrud = params => {
|
|
|
58
58
|
}
|
|
59
59
|
return result.value;
|
|
60
60
|
};
|
|
61
|
+
const updateRevisionDescription = async (model, id, revisionDescription) => {
|
|
62
|
+
const useCase = context.container.resolve(UpdateRevisionDescriptionUseCase);
|
|
63
|
+
const result = await useCase.execute(model, id, revisionDescription);
|
|
64
|
+
if (result.isFail()) {
|
|
65
|
+
// Convert Result error to WebinyError for backward compatibility
|
|
66
|
+
const error = result.error;
|
|
67
|
+
throw new WebinyError(error.message || "Could not update revision description of the revision.", error.code || "UPDATE_REVISION_DESCRIPTION_ERROR");
|
|
68
|
+
}
|
|
69
|
+
return result.value;
|
|
70
|
+
};
|
|
61
71
|
const validateEntry = async (model, id, input) => {
|
|
62
72
|
// Delegate to new ValidateEntry use case
|
|
63
73
|
const useCase = context.container.resolve(ValidateEntryUseCase);
|
|
@@ -137,17 +147,7 @@ export const createContentEntryCrud = params => {
|
|
|
137
147
|
}
|
|
138
148
|
return result.value;
|
|
139
149
|
};
|
|
140
|
-
const getEntryTraverser = async modelId => {
|
|
141
|
-
const modelAstConverter = context.cms.getModelToAstConverter();
|
|
142
|
-
const model = await context.cms.getModel(modelId);
|
|
143
|
-
if (!model) {
|
|
144
|
-
throw new Error(`Missing "${modelId}" model!`);
|
|
145
|
-
}
|
|
146
|
-
const modelAst = modelAstConverter.toAst(model);
|
|
147
|
-
return new ContentEntryTraverser(modelAst);
|
|
148
|
-
};
|
|
149
150
|
return {
|
|
150
|
-
getEntryTraverser,
|
|
151
151
|
/**
|
|
152
152
|
* Get entries by exact revision IDs from the database.
|
|
153
153
|
*/
|
|
@@ -337,6 +337,11 @@ export const createContentEntryCrud = params => {
|
|
|
337
337
|
return updateEntry(model, id, input, meta, options);
|
|
338
338
|
});
|
|
339
339
|
},
|
|
340
|
+
async updateRevisionDescription(model, id, revisionDescription) {
|
|
341
|
+
return context.benchmark.measure("headlessCms.crud.entries.updateRevisionDescription", async () => {
|
|
342
|
+
return updateRevisionDescription(model, id, revisionDescription);
|
|
343
|
+
});
|
|
344
|
+
},
|
|
340
345
|
async validateEntry(model, id, input) {
|
|
341
346
|
return context.benchmark.measure("headlessCms.crud.entries.validateEntry", async () => {
|
|
342
347
|
return validateEntry(model, id, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebinyError","ContentEntryTraverser","CreateEntryUseCase","CreateEntryRevisionFromUseCase","UpdateEntryUseCase","ValidateEntryUseCase","MoveEntryUseCase","RepublishEntryUseCase","PublishEntryUseCase","ListDeletedEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListEntriesUseCase","GetEntriesByIdsUseCase","GetEntryByIdUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","GetRevisionsByEntryIdUseCase","GetEntryUseCase","DeleteEntryRevisionUseCase","DeleteEntryUseCase","DeleteMultipleEntriesUseCase","RestoreEntryFromBinUseCase","UnpublishEntryUseCase","GetUniqueFieldValuesUseCase","createContentEntryCrud","params","context","createEntry","model","rawInput","options","useCase","container","resolve","result","execute","isFail","error","message","code","data","value","createEntryRevisionFrom","sourceId","updateEntry","id","metaInput","validateEntry","input","moveEntry","folderId","modelId","republishEntry","deleteEntryRevision","revisionId","deleteMultipleEntries","publishEntry","unpublishEntry","getUniqueFieldValues","getEntryTraverser","modelAstConverter","cms","getModelToAstConverter","getModel","Error","modelAst","toAst","getEntriesByIds","ids","benchmark","measure","getEntryById","getPublishedEntriesByIds","getLatestEntriesByIds","getEntryRevisions","entryId","getEntry","listEntries","entries","meta","listLatestEntries","listDeletedEntries","listPublishedEntries","deleteEntry","deleteEntryUseCase","restoreEntryFromBin"],"sources":["contentEntry.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryContext,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { ContentEntryTraverser } from \"~/utils/contentEntryTraverser/ContentEntryTraverser.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryRevisionFromUseCase } from \"~/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { UpdateEntryUseCase } from \"~/features/contentEntry/UpdateEntry/index.js\";\nimport { ValidateEntryUseCase } from \"~/features/contentEntry/ValidateEntry/abstractions.js\";\nimport { MoveEntryUseCase } from \"~/features/contentEntry/MoveEntry/abstractions.js\";\nimport { RepublishEntryUseCase } from \"~/features/contentEntry/RepublishEntry/abstractions.js\";\nimport { PublishEntryUseCase } from \"~/features/contentEntry/PublishEntry/abstractions.js\";\nimport {\n ListDeletedEntriesUseCase,\n ListLatestEntriesUseCase,\n ListPublishedEntriesUseCase\n} from \"~/features/contentEntry/ListEntries/index.js\";\nimport { ListEntriesUseCase } from \"~/features/contentEntry/ListEntries/abstractions.js\";\nimport { GetEntriesByIdsUseCase } from \"~/features/contentEntry/GetEntriesByIds/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\nimport { GetRevisionsByEntryIdUseCase } from \"~/features/contentEntry/GetRevisionsByEntryId/index.js\";\nimport { GetEntryUseCase } from \"~/features/contentEntry/GetEntry/index.js\";\nimport { DeleteEntryRevisionUseCase } from \"~/features/contentEntry/DeleteEntryRevision/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport { DeleteMultipleEntriesUseCase } from \"~/features/contentEntry/DeleteMultipleEntries/abstractions.js\";\nimport { RestoreEntryFromBinUseCase } from \"~/features/contentEntry/RestoreEntryFromBin/abstractions.js\";\nimport { UnpublishEntryUseCase } from \"~/features/contentEntry/UnpublishEntry/index.js\";\nimport { GetUniqueFieldValuesUseCase } from \"~/features/contentEntry/GetUniqueFieldValues/index.js\";\n\ninterface CreateContentEntryCrudParams {\n context: CmsContext;\n}\n\nexport const createContentEntryCrud = (params: CreateContentEntryCrudParams): CmsEntryContext => {\n const { context } = params;\n\n const createEntry: CmsEntryContext[\"createEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new CreateEntry use case\n const useCase = context.container.resolve(CreateEntryUseCase);\n const result = await useCase.execute<T>(model, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create content entry.\",\n error.code || \"CREATE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const createEntryRevisionFrom: CmsEntryContext[\"createEntryRevisionFrom\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => {\n // Delegate to new CreateEntryRevisionFrom use case\n const useCase = context.container.resolve(CreateEntryRevisionFromUseCase);\n const result = await useCase.execute<T>(model, sourceId, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create entry from existing one.\",\n error.code || \"CREATE_FROM_REVISION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const updateEntry: CmsEntryContext[\"updateEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n id: string,\n rawInput: UpdateCmsEntryInput<T>,\n metaInput?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new UpdateEntry use case\n const useCase = context.container.resolve(UpdateEntryUseCase);\n const result = await useCase.execute<T>(model, id, rawInput, metaInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not update existing entry.\",\n error.code || \"UPDATE_ERROR\"\n );\n }\n\n return result.value;\n };\n\n const validateEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) => {\n // Delegate to new ValidateEntry use case\n const useCase = context.container.resolve(ValidateEntryUseCase);\n const result = await useCase.execute<T>(model, id || null, input);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not validate entry.\",\n error.code || \"VALIDATION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const moveEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) => {\n // Delegate to new MoveEntry use case\n const useCase = context.container.resolve(MoveEntryUseCase);\n const result = await useCase.execute<T>(model, id, folderId);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || `Could not move entry \"${id}\" of model \"${model.modelId}\".`,\n error.code || \"MOVE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const republishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new RepublishEntry use case\n const useCase = context.container.resolve(RepublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not republish entry.\",\n error.code || \"REPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const deleteEntryRevision: CmsEntryContext[\"deleteEntryRevision\"] = async (\n model,\n revisionId\n ) => {\n const useCase = context.container.resolve(DeleteEntryRevisionUseCase);\n const result = await useCase.execute(model, revisionId);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n };\n const deleteMultipleEntries: CmsEntryContext[\"deleteMultipleEntries\"] = async (\n model,\n params\n ) => {\n // Delegate to new DeleteMultipleEntries use case\n const useCase = context.container.resolve(DeleteMultipleEntriesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not delete multiple entries.\",\n error.code || \"DELETE_ENTRIES_MULTIPLE_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const publishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new PublishEntry use case\n const useCase = context.container.resolve(PublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n throw new WebinyError(\n result.error.message || \"Could not publish entry.\",\n result.error.code || \"PUBLISH_ERROR\",\n result.error.data\n );\n }\n\n return result.value;\n };\n const unpublishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new UnpublishEntry use case\n const useCase = context.container.resolve(UnpublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not unpublish entry.\",\n error.code || \"UNPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const getUniqueFieldValues: CmsEntryContext[\"getUniqueFieldValues\"] = async (model, params) => {\n const useCase = context.container.resolve(GetUniqueFieldValuesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n\n return result.value;\n };\n\n const getEntryTraverser = async (modelId: string) => {\n const modelAstConverter = context.cms.getModelToAstConverter();\n const model = await context.cms.getModel(modelId);\n if (!model) {\n throw new Error(`Missing \"${modelId}\" model!`);\n }\n\n const modelAst = modelAstConverter.toAst(model);\n return new ContentEntryTraverser(modelAst);\n };\n\n return {\n getEntryTraverser,\n /**\n * Get entries by exact revision IDs from the database.\n */\n async getEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entries by IDs.\",\n error.code || \"GET_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get a single entry by revision ID from the database.\n */\n async getEntryById<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntryById\", async () => {\n const useCase = context.container.resolve(GetEntryByIdUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || `Entry by ID \"${id}\" not found.`,\n error.code || \"GET_ENTRY_BY_ID_ERROR\",\n error.data\n );\n }\n\n return result.value;\n });\n },\n /**\n * Get published revisions by entry IDs.\n */\n async getPublishedEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getPublishedEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetPublishedEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get published entries by IDs.\",\n error.code || \"GET_PUBLISHED_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get the latest revisions by entry IDs.\n */\n async getLatestEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getLatestEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetLatestEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get latest entries by IDs.\",\n error.code || \"GET_LATEST_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n async getEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntryRevisions\",\n async () => {\n const useCase = context.container.resolve(GetRevisionsByEntryIdUseCase);\n const result = await useCase.execute<T>(model, entryId);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entry revisions.\",\n error.code || \"GET_ENTRY_REVISIONS_ERROR\",\n {\n error,\n entryId,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * @internal\n */\n async getEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntry\", async () => {\n const useCase = context.container.resolve(GetEntryUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Entry not found!\",\n error.code || \"GET_ENTRY_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n return result.value;\n });\n },\n /**\n * @description Should not be used directly. Internal use only!\n *\n * @internal\n */\n async listEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list entries.\",\n error.code || \"LIST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listLatestEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListLatestEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list latest entries.\",\n error.code || \"LIST_LATEST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listDeletedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListDeletedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list deleted entries.\",\n error.code || \"LIST_DELETED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listPublishedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListPublishedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list published entries.\",\n error.code || \"LIST_PUBLISHED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n return [entries, meta];\n },\n async createEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.createEntry\", async () => {\n return createEntry(model, input, options);\n });\n },\n async createEntryRevisionFrom<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.createEntryRevisionFrom\",\n async () => {\n return createEntryRevisionFrom<T>(model, sourceId, input, options);\n }\n );\n },\n async updateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n meta?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.updateEntry\", async () => {\n return updateEntry<T>(model, id, input, meta, options);\n });\n },\n async validateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.validateEntry\", async () => {\n return validateEntry<T>(model, id, input);\n });\n },\n async moveEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.moveEntry\", async () => {\n return moveEntry<T>(model, id, folderId);\n });\n },\n /**\n * Method used internally. Not documented and should not be used in users systems.\n * @internal\n */\n async republishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.republishEntry\",\n async () => {\n return republishEntry<T>(model, id);\n }\n );\n },\n async deleteEntryRevision(model, id) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteEntryRevision\",\n async () => {\n return deleteEntryRevision(model, id);\n }\n );\n },\n async deleteEntry(model, entryId, options) {\n const deleteEntryUseCase = context.container.resolve(DeleteEntryUseCase);\n return context.benchmark.measure(\"headlessCms.crud.entries.deleteEntry\", async () => {\n const result = await deleteEntryUseCase.execute(model, entryId, options ?? {});\n\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n });\n },\n async restoreEntryFromBin<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.restoreEntryFromBin\",\n async () => {\n const useCase = context.container.resolve(RestoreEntryFromBinUseCase);\n const result = await useCase.execute<T>(model, entryId);\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n return result.value;\n }\n );\n },\n async deleteMultipleEntries(model, ids) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteMultipleEntries\",\n async () => {\n return deleteMultipleEntries(model, ids);\n }\n );\n },\n async publishEntry<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.publishEntry\", async () => {\n return publishEntry<T>(model, id);\n });\n },\n async unpublishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.unpublishEntry\",\n async () => {\n return unpublishEntry<T>(model, id);\n }\n );\n },\n async getUniqueFieldValues(model, params) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getUniqueFieldValues\",\n async () => {\n return getUniqueFieldValues(model, params);\n }\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WebinyError","CreateEntryUseCase","CreateEntryRevisionFromUseCase","UpdateEntryUseCase","ValidateEntryUseCase","MoveEntryUseCase","RepublishEntryUseCase","PublishEntryUseCase","ListDeletedEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListEntriesUseCase","GetEntriesByIdsUseCase","GetEntryByIdUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","GetRevisionsByEntryIdUseCase","GetEntryUseCase","DeleteEntryRevisionUseCase","DeleteEntryUseCase","DeleteMultipleEntriesUseCase","RestoreEntryFromBinUseCase","UnpublishEntryUseCase","GetUniqueFieldValuesUseCase","UpdateRevisionDescriptionUseCase","createContentEntryCrud","params","context","createEntry","model","rawInput","options","useCase","container","resolve","result","execute","isFail","error","message","code","data","value","createEntryRevisionFrom","sourceId","updateEntry","id","metaInput","updateRevisionDescription","revisionDescription","validateEntry","input","moveEntry","folderId","modelId","republishEntry","deleteEntryRevision","revisionId","deleteMultipleEntries","publishEntry","unpublishEntry","getUniqueFieldValues","getEntriesByIds","ids","benchmark","measure","getEntryById","getPublishedEntriesByIds","getLatestEntriesByIds","getEntryRevisions","entryId","getEntry","listEntries","entries","meta","listLatestEntries","listDeletedEntries","listPublishedEntries","deleteEntry","deleteEntryUseCase","restoreEntryFromBin"],"sources":["contentEntry.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryContext,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryRevisionFromUseCase } from \"~/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { UpdateEntryUseCase } from \"~/features/contentEntry/UpdateEntry/index.js\";\nimport { ValidateEntryUseCase } from \"~/features/contentEntry/ValidateEntry/abstractions.js\";\nimport { MoveEntryUseCase } from \"~/features/contentEntry/MoveEntry/abstractions.js\";\nimport { RepublishEntryUseCase } from \"~/features/contentEntry/RepublishEntry/abstractions.js\";\nimport { PublishEntryUseCase } from \"~/features/contentEntry/PublishEntry/abstractions.js\";\nimport {\n ListDeletedEntriesUseCase,\n ListLatestEntriesUseCase,\n ListPublishedEntriesUseCase\n} from \"~/features/contentEntry/ListEntries/index.js\";\nimport { ListEntriesUseCase } from \"~/features/contentEntry/ListEntries/abstractions.js\";\nimport { GetEntriesByIdsUseCase } from \"~/features/contentEntry/GetEntriesByIds/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\nimport { GetRevisionsByEntryIdUseCase } from \"~/features/contentEntry/GetRevisionsByEntryId/index.js\";\nimport { GetEntryUseCase } from \"~/features/contentEntry/GetEntry/index.js\";\nimport { DeleteEntryRevisionUseCase } from \"~/features/contentEntry/DeleteEntryRevision/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport { DeleteMultipleEntriesUseCase } from \"~/features/contentEntry/DeleteMultipleEntries/abstractions.js\";\nimport { RestoreEntryFromBinUseCase } from \"~/features/contentEntry/RestoreEntryFromBin/abstractions.js\";\nimport { UnpublishEntryUseCase } from \"~/features/contentEntry/UnpublishEntry/index.js\";\nimport { GetUniqueFieldValuesUseCase } from \"~/features/contentEntry/GetUniqueFieldValues/index.js\";\nimport { UpdateRevisionDescriptionUseCase } from \"~/features/contentEntry/UpdateRevisionDescription/index.js\";\n\ninterface CreateContentEntryCrudParams {\n context: CmsContext;\n}\n\nexport const createContentEntryCrud = (params: CreateContentEntryCrudParams): CmsEntryContext => {\n const { context } = params;\n\n const createEntry: CmsEntryContext[\"createEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new CreateEntry use case\n const useCase = context.container.resolve(CreateEntryUseCase);\n const result = await useCase.execute<T>(model, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create content entry.\",\n error.code || \"CREATE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const createEntryRevisionFrom: CmsEntryContext[\"createEntryRevisionFrom\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => {\n // Delegate to new CreateEntryRevisionFrom use case\n const useCase = context.container.resolve(CreateEntryRevisionFromUseCase);\n const result = await useCase.execute<T>(model, sourceId, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create entry from existing one.\",\n error.code || \"CREATE_FROM_REVISION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const updateEntry: CmsEntryContext[\"updateEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n id: string,\n rawInput: UpdateCmsEntryInput<T>,\n metaInput?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new UpdateEntry use case\n const useCase = context.container.resolve(UpdateEntryUseCase);\n const result = await useCase.execute<T>(model, id, rawInput, metaInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not update existing entry.\",\n error.code || \"UPDATE_ERROR\"\n );\n }\n\n return result.value;\n };\n\n const updateRevisionDescription: CmsEntryContext[\"updateRevisionDescription\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n id: string,\n revisionDescription: string | undefined\n ) => {\n const useCase = context.container.resolve(UpdateRevisionDescriptionUseCase);\n const result = await useCase.execute<T>(model, id, revisionDescription);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not update revision description of the revision.\",\n error.code || \"UPDATE_REVISION_DESCRIPTION_ERROR\"\n );\n }\n\n return result.value;\n };\n\n const validateEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) => {\n // Delegate to new ValidateEntry use case\n const useCase = context.container.resolve(ValidateEntryUseCase);\n const result = await useCase.execute<T>(model, id || null, input);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not validate entry.\",\n error.code || \"VALIDATION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const moveEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) => {\n // Delegate to new MoveEntry use case\n const useCase = context.container.resolve(MoveEntryUseCase);\n const result = await useCase.execute<T>(model, id, folderId);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || `Could not move entry \"${id}\" of model \"${model.modelId}\".`,\n error.code || \"MOVE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const republishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new RepublishEntry use case\n const useCase = context.container.resolve(RepublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not republish entry.\",\n error.code || \"REPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const deleteEntryRevision: CmsEntryContext[\"deleteEntryRevision\"] = async (\n model,\n revisionId\n ) => {\n const useCase = context.container.resolve(DeleteEntryRevisionUseCase);\n const result = await useCase.execute(model, revisionId);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n };\n const deleteMultipleEntries: CmsEntryContext[\"deleteMultipleEntries\"] = async (\n model,\n params\n ) => {\n // Delegate to new DeleteMultipleEntries use case\n const useCase = context.container.resolve(DeleteMultipleEntriesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not delete multiple entries.\",\n error.code || \"DELETE_ENTRIES_MULTIPLE_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const publishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new PublishEntry use case\n const useCase = context.container.resolve(PublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n throw new WebinyError(\n result.error.message || \"Could not publish entry.\",\n result.error.code || \"PUBLISH_ERROR\",\n result.error.data\n );\n }\n\n return result.value;\n };\n const unpublishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new UnpublishEntry use case\n const useCase = context.container.resolve(UnpublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not unpublish entry.\",\n error.code || \"UNPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const getUniqueFieldValues: CmsEntryContext[\"getUniqueFieldValues\"] = async (model, params) => {\n const useCase = context.container.resolve(GetUniqueFieldValuesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n\n return result.value;\n };\n\n return {\n /**\n * Get entries by exact revision IDs from the database.\n */\n async getEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entries by IDs.\",\n error.code || \"GET_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get a single entry by revision ID from the database.\n */\n async getEntryById<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntryById\", async () => {\n const useCase = context.container.resolve(GetEntryByIdUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || `Entry by ID \"${id}\" not found.`,\n error.code || \"GET_ENTRY_BY_ID_ERROR\",\n error.data\n );\n }\n\n return result.value;\n });\n },\n /**\n * Get published revisions by entry IDs.\n */\n async getPublishedEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getPublishedEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetPublishedEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get published entries by IDs.\",\n error.code || \"GET_PUBLISHED_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get the latest revisions by entry IDs.\n */\n async getLatestEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getLatestEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetLatestEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get latest entries by IDs.\",\n error.code || \"GET_LATEST_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n async getEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntryRevisions\",\n async () => {\n const useCase = context.container.resolve(GetRevisionsByEntryIdUseCase);\n const result = await useCase.execute<T>(model, entryId);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entry revisions.\",\n error.code || \"GET_ENTRY_REVISIONS_ERROR\",\n {\n error,\n entryId,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * @internal\n */\n async getEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntry\", async () => {\n const useCase = context.container.resolve(GetEntryUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Entry not found!\",\n error.code || \"GET_ENTRY_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n return result.value;\n });\n },\n /**\n * @description Should not be used directly. Internal use only!\n *\n * @internal\n */\n async listEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list entries.\",\n error.code || \"LIST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listLatestEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListLatestEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list latest entries.\",\n error.code || \"LIST_LATEST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listDeletedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListDeletedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list deleted entries.\",\n error.code || \"LIST_DELETED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listPublishedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListPublishedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list published entries.\",\n error.code || \"LIST_PUBLISHED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n return [entries, meta];\n },\n async createEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.createEntry\", async () => {\n return createEntry(model, input, options);\n });\n },\n async createEntryRevisionFrom<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.createEntryRevisionFrom\",\n async () => {\n return createEntryRevisionFrom<T>(model, sourceId, input, options);\n }\n );\n },\n async updateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n meta?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.updateEntry\", async () => {\n return updateEntry<T>(model, id, input, meta, options);\n });\n },\n\n async updateRevisionDescription(model, id, revisionDescription) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.updateRevisionDescription\",\n async () => {\n return updateRevisionDescription(model, id, revisionDescription);\n }\n );\n },\n async validateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.validateEntry\", async () => {\n return validateEntry<T>(model, id, input);\n });\n },\n async moveEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.moveEntry\", async () => {\n return moveEntry<T>(model, id, folderId);\n });\n },\n /**\n * Method used internally. Not documented and should not be used in users systems.\n * @internal\n */\n async republishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.republishEntry\",\n async () => {\n return republishEntry<T>(model, id);\n }\n );\n },\n async deleteEntryRevision(model, id) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteEntryRevision\",\n async () => {\n return deleteEntryRevision(model, id);\n }\n );\n },\n async deleteEntry(model, entryId, options) {\n const deleteEntryUseCase = context.container.resolve(DeleteEntryUseCase);\n return context.benchmark.measure(\"headlessCms.crud.entries.deleteEntry\", async () => {\n const result = await deleteEntryUseCase.execute(model, entryId, options ?? {});\n\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n });\n },\n async restoreEntryFromBin<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.restoreEntryFromBin\",\n async () => {\n const useCase = context.container.resolve(RestoreEntryFromBinUseCase);\n const result = await useCase.execute<T>(model, entryId);\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n return result.value;\n }\n );\n },\n async deleteMultipleEntries(model, ids) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteMultipleEntries\",\n async () => {\n return deleteMultipleEntries(model, ids);\n }\n );\n },\n async publishEntry<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.publishEntry\", async () => {\n return publishEntry<T>(model, id);\n });\n },\n async unpublishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.unpublishEntry\",\n async () => {\n return unpublishEntry<T>(model, id);\n }\n );\n },\n async getUniqueFieldValues(model, params) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getUniqueFieldValues\",\n async () => {\n return getUniqueFieldValues(model, params);\n }\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|