@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":["Result","createImplementation","IdentityContext","MoveEntryToBinUseCase","UseCaseAbstraction","MoveEntryToBinRepository","AccessControl","GetLatestRevisionByEntryIdUseCase","EventPublisher","EntryBeforeDeleteEvent","EntryAfterDeleteEvent","EntryDeleteErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","getDate","getIdentity","ROOT_FOLDER","MoveEntryToBinUseCaseImpl","constructor","repository","accessControl","getLatestRevision","identityContext","eventPublisher","execute","model","id","canAccess","canAccessEntry","rwd","fail","fromModel","getResult","isFail","originalEntry","value","entry","currentDateTime","Date","toISOString","currentIdentity","entryToDelete","wbyDeleted","location","folderId","binOriginalFolderId","deletedOn","deletedBy","revisionDeletedOn","revisionDeletedBy","publish","permanent","result","error","ok","abstraction","implementation","dependencies"],"sources":["MoveEntryToBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { MoveEntryToBinUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryToBinRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","IdentityContext","MoveEntryToBinUseCase","UseCaseAbstraction","MoveEntryToBinRepository","AccessControl","GetLatestRevisionByEntryIdUseCase","EventPublisher","EntryBeforeDeleteEvent","EntryAfterDeleteEvent","EntryDeleteErrorEvent","EntryNotAuthorizedError","EntryNotFoundError","getDate","getIdentity","ROOT_FOLDER","MoveEntryToBinUseCaseImpl","constructor","repository","accessControl","getLatestRevision","identityContext","eventPublisher","execute","model","id","canAccess","canAccessEntry","rwd","fail","fromModel","getResult","isFail","originalEntry","value","entry","currentDateTime","Date","toISOString","currentIdentity","entryToDelete","wbyDeleted","location","folderId","binOriginalFolderId","deletedOn","deletedBy","revisionDeletedOn","revisionDeletedBy","publish","permanent","result","error","ok","abstraction","implementation","dependencies"],"sources":["MoveEntryToBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { MoveEntryToBinUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryToBinRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryBeforeDeleteEvent, EntryAfterDeleteEvent, EntryDeleteErrorEvent } from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\n/**\n * MoveEntryToBinUseCase - Orchestrates soft deletion of an entry (move to bin).\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to delete by ID\n * - Mark entry as deleted (wbyDeleted = true)\n * - Update deletion metadata\n * - Publish domain events with permanent: false\n * - Delegate to repository for storage operations\n */\nclass MoveEntryToBinUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: MoveEntryToBinRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(model: CmsModel, id: string): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to delete by ID\n const getResult = await this.getLatestRevision.execute(model, { id });\n\n if (getResult.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = getResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"d\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n // Create the deleted entry data\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.identityContext.getIdentity();\n\n const entryToDelete = {\n ...originalEntry,\n wbyDeleted: true,\n\n // Entry location fields - move to root folder\n location: {\n folderId: ROOT_FOLDER\n },\n binOriginalFolderId: originalEntry.location?.folderId,\n\n // Entry-level meta fields\n deletedOn: getDate(currentDateTime, null),\n deletedBy: getIdentity(currentIdentity, null),\n\n // Revision-level meta fields\n revisionDeletedOn: getDate(currentDateTime, null),\n revisionDeletedBy: getIdentity(currentIdentity, null)\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeDeleteEvent({\n entry: entryToDelete,\n model,\n permanent: false\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute({\n model,\n entry: entryToDelete\n });\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryDeleteErrorEvent({\n entry: entryToDelete,\n model,\n permanent: false,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterDeleteEvent({\n entry: entryToDelete,\n model,\n permanent: false\n })\n );\n\n return Result.ok();\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryDeleteErrorEvent({\n entry: entryToDelete,\n model,\n permanent: false,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const MoveEntryToBinUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MoveEntryToBinUseCaseImpl,\n dependencies: [\n MoveEntryToBinRepository,\n AccessControl,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,qBAAqB,IAAIC,kBAAkB;AACpD,SAASC,wBAAwB;AACjC,SAASC,aAAa;AACtB,SAASC,iCAAiC;AAE1C,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,sBAAsB,EAAEC,qBAAqB,EAAEC,qBAAqB;AAC7E,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,OAAO;AAChB,SAASC,WAAW;AACpB,SAASC,WAAW;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,CAAyC;EAC7DC,WAAWA,CACNC,UAA8C,EAC9CC,aAAsC,EACtCC,iBAA8D,EAC9DC,eAA0C,EAC1CC,cAAwC,EAClD;IAAA,KALUJ,UAA8C,GAA9CA,UAA8C;IAAA,KAC9CC,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,iBAA8D,GAA9DA,iBAA8D;IAAA,KAC9DC,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAmD;IACxF;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACP,aAAa,CAACQ,cAAc,CAAC;MAAEH,KAAK;MAAEI,GAAG,EAAE;IAAI,CAAC,CAAC;IAC9E,IAAI,CAACF,SAAS,EAAE;MACZ,OAAO3B,MAAM,CAAC8B,IAAI,CAAClB,uBAAuB,CAACmB,SAAS,CAACN,KAAK,CAAC,CAAC;IAChE;;IAEA;IACA,MAAMO,SAAS,GAAG,MAAM,IAAI,CAACX,iBAAiB,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;IAErE,IAAIM,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOjC,MAAM,CAAC8B,IAAI,CAAC,IAAIjB,kBAAkB,CAACa,EAAE,CAAC,CAAC;IAClD;IAEA,MAAMQ,aAAa,GAAGF,SAAS,CAACG,KAAK;;IAErC;IACA,MAAMP,cAAc,GAAG,MAAM,IAAI,CAACR,aAAa,CAACQ,cAAc,CAAC;MAC3DH,KAAK;MACLW,KAAK,EAAEF,aAAa;MACpBL,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACD,cAAc,EAAE;MACjB,OAAO5B,MAAM,CAAC8B,IAAI,CAAC,IAAIlB,uBAAuB,CAAC,CAAC,CAAC;IACrD;;IAEA;IACA,MAAMyB,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAG,IAAI,CAAClB,eAAe,CAACP,WAAW,CAAC,CAAC;IAE1D,MAAM0B,aAAa,GAAG;MAClB,GAAGP,aAAa;MAChBQ,UAAU,EAAE,IAAI;MAEhB;MACAC,QAAQ,EAAE;QACNC,QAAQ,EAAE5B;MACd,CAAC;MACD6B,mBAAmB,EAAEX,aAAa,CAACS,QAAQ,EAAEC,QAAQ;MAErD;MACAE,SAAS,EAAEhC,OAAO,CAACuB,eAAe,EAAE,IAAI,CAAC;MACzCU,SAAS,EAAEhC,WAAW,CAACyB,eAAe,EAAE,IAAI,CAAC;MAE7C;MACAQ,iBAAiB,EAAElC,OAAO,CAACuB,eAAe,EAAE,IAAI,CAAC;MACjDY,iBAAiB,EAAElC,WAAW,CAACyB,eAAe,EAAE,IAAI;IACxD,CAAC;IAED,IAAI;MACA;MACA,MAAM,IAAI,CAACjB,cAAc,CAAC2B,OAAO,CAC7B,IAAIzC,sBAAsB,CAAC;QACvB2B,KAAK,EAAEK,aAAa;QACpBhB,KAAK;QACL0B,SAAS,EAAE;MACf,CAAC,CACL,CAAC;;MAED;MACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACjC,UAAU,CAACK,OAAO,CAAC;QACzCC,KAAK;QACLW,KAAK,EAAEK;MACX,CAAC,CAAC;MAEF,IAAIW,MAAM,CAACnB,MAAM,CAAC,CAAC,EAAE;QACjB,MAAM,IAAI,CAACV,cAAc,CAAC2B,OAAO,CAC7B,IAAIvC,qBAAqB,CAAC;UACtByB,KAAK,EAAEK,aAAa;UACpBhB,KAAK;UACL0B,SAAS,EAAE,KAAK;UAChBE,KAAK,EAAED,MAAM,CAACC;QAClB,CAAC,CACL,CAAC;QACD,OAAOrD,MAAM,CAAC8B,IAAI,CAACsB,MAAM,CAACC,KAAK,CAAC;MACpC;;MAEA;MACA,MAAM,IAAI,CAAC9B,cAAc,CAAC2B,OAAO,CAC7B,IAAIxC,qBAAqB,CAAC;QACtB0B,KAAK,EAAEK,aAAa;QACpBhB,KAAK;QACL0B,SAAS,EAAE;MACf,CAAC,CACL,CAAC;MAED,OAAOnD,MAAM,CAACsD,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,OAAOD,KAAK,EAAE;MACZ,MAAM,IAAI,CAAC9B,cAAc,CAAC2B,OAAO,CAC7B,IAAIvC,qBAAqB,CAAC;QACtByB,KAAK,EAAEK,aAAa;QACpBhB,KAAK;QACL0B,SAAS,EAAE,KAAK;QAChBE,KAAK,EAAEA;MACX,CAAC,CACL,CAAC;MACD,OAAOrD,MAAM,CAAC8B,IAAI,CAACuB,KAAY,CAAC;IACpC;EACJ;AACJ;AAEA,OAAO,MAAMlD,qBAAqB,GAAGF,oBAAoB,CAAC;EACtDsD,WAAW,EAAEnD,kBAAkB;EAC/BoD,cAAc,EAAEvC,yBAAyB;EACzCwC,YAAY,EAAE,CACVpD,wBAAwB,EACxBC,aAAa,EACbC,iCAAiC,EACjCL,eAAe,EACfM,cAAc;AAEtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export interface IDeleteEntryUseCaseErrors {
|
|
|
14
14
|
storage: EntryPersistenceError;
|
|
15
15
|
}
|
|
16
16
|
type UseCaseError = IDeleteEntryUseCaseErrors[keyof IDeleteEntryUseCaseErrors];
|
|
17
|
+
/** Delete a content entry. */
|
|
17
18
|
export declare const DeleteEntryUseCase: import("@webiny/di").Abstraction<IDeleteEntryUseCase>;
|
|
18
19
|
export declare namespace DeleteEntryUseCase {
|
|
19
20
|
type Interface = IDeleteEntryUseCase;
|
|
@@ -68,6 +69,7 @@ export declare namespace DeleteEntryRepository {
|
|
|
68
69
|
export interface IMoveEntryToBinUseCase {
|
|
69
70
|
execute(model: CmsModel, id: string): Promise<Result<void, UseCaseError>>;
|
|
70
71
|
}
|
|
72
|
+
/** Move a content entry to the recycle bin. */
|
|
71
73
|
export declare const MoveEntryToBinUseCase: import("@webiny/di").Abstraction<IMoveEntryToBinUseCase>;
|
|
72
74
|
export declare namespace MoveEntryToBinUseCase {
|
|
73
75
|
type Interface = IMoveEntryToBinUseCase;
|
|
@@ -5,6 +5,7 @@ import { createAbstraction } from "@webiny/feature/api";
|
|
|
5
5
|
* This is a hard delete that removes all traces of the entry.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
/** Delete a content entry. */
|
|
8
9
|
export const DeleteEntryUseCase = createAbstraction("DeleteEntryUseCase");
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -30,6 +31,7 @@ export const DeleteEntryRepository = createAbstraction("DeleteEntryRepository");
|
|
|
30
31
|
* This moves the entry to the bin (trash) instead of permanently deleting it.
|
|
31
32
|
*/
|
|
32
33
|
|
|
34
|
+
/** Move a content entry to the recycle bin. */
|
|
33
35
|
export const MoveEntryToBinUseCase = createAbstraction("MoveEntryToBinUseCase");
|
|
34
36
|
|
|
35
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DeleteEntryUseCase","DeleteEntryRepository","MoveEntryToBinUseCase","MoveEntryToBinRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsDeleteEntryOptions, CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntry Use Case - Permanently deletes an entry from the database.\n * This is a hard delete that removes all traces of the entry.\n */\nexport interface IDeleteEntryUseCase {\n execute(\n model: CmsModel,\n id: string,\n options?: CmsDeleteEntryOptions\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteEntryUseCaseErrors[keyof IDeleteEntryUseCaseErrors];\n\nexport const DeleteEntryUseCase = createAbstraction<IDeleteEntryUseCase>(\"DeleteEntryUseCase\");\n\nexport namespace DeleteEntryUseCase {\n export type Interface = IDeleteEntryUseCase;\n export type Options = CmsDeleteEntryOptions;\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * Payload for before delete event\n */\nexport interface EntryBeforeDeleteEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n}\n\n/**\n * Payload for after delete event\n */\nexport interface EntryAfterDeleteEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n}\n\n/**\n * Payload for delete error event\n */\nexport interface EntryDeleteErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n error: Error;\n}\n\n/**\n * DeleteEntryRepository - Handles storage operations for permanently deleting entries.\n */\nexport interface IDeleteEntryRepository {\n execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IDeleteEntryRepositoryErrors[keyof IDeleteEntryRepositoryErrors];\n\nexport const DeleteEntryRepository =\n createAbstraction<IDeleteEntryRepository>(\"DeleteEntryRepository\");\n\nexport namespace DeleteEntryRepository {\n export type Interface = IDeleteEntryRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * MoveEntryToBin Use Case - Soft deletes an entry by marking it as deleted.\n * This moves the entry to the bin (trash) instead of permanently deleting it.\n */\nexport interface IMoveEntryToBinUseCase {\n execute(model: CmsModel, id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport const MoveEntryToBinUseCase =\n createAbstraction<IMoveEntryToBinUseCase>(\"MoveEntryToBinUseCase\");\n\nexport namespace MoveEntryToBinUseCase {\n export type Interface = IMoveEntryToBinUseCase;\n export type Error = UseCaseError;\n}\n\n/**\n * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.\n */\nexport interface IMoveEntryToBinRepository {\n execute(params: { model: CmsModel; entry: CmsEntry }): Promise<Result<void, RepositoryError>>;\n}\n\nexport const MoveEntryToBinRepository = createAbstraction<IMoveEntryToBinRepository>(\n \"MoveEntryToBinRepository\"\n);\n\nexport namespace MoveEntryToBinRepository {\n export type Interface = IMoveEntryToBinRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;AACA;;AAiBA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAWA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC;;AAOtE;AACA;AACA;AACA;;AAKA,OAAO,MAAMG,qBAAqB,GAC9BH,iBAAiB,CAAyB,uBAAuB,CAAC;;AAOtE;AACA;AACA;;AAKA,OAAO,MAAMI,wBAAwB,GAAGJ,iBAAiB,CACrD,0BACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteEntryUseCase","DeleteEntryRepository","MoveEntryToBinUseCase","MoveEntryToBinRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsDeleteEntryOptions, CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntry Use Case - Permanently deletes an entry from the database.\n * This is a hard delete that removes all traces of the entry.\n */\nexport interface IDeleteEntryUseCase {\n execute(\n model: CmsModel,\n id: string,\n options?: CmsDeleteEntryOptions\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteEntryUseCaseErrors[keyof IDeleteEntryUseCaseErrors];\n\n/** Delete a content entry. */\nexport const DeleteEntryUseCase = createAbstraction<IDeleteEntryUseCase>(\"DeleteEntryUseCase\");\n\nexport namespace DeleteEntryUseCase {\n export type Interface = IDeleteEntryUseCase;\n export type Options = CmsDeleteEntryOptions;\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * Payload for before delete event\n */\nexport interface EntryBeforeDeleteEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n}\n\n/**\n * Payload for after delete event\n */\nexport interface EntryAfterDeleteEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n}\n\n/**\n * Payload for delete error event\n */\nexport interface EntryDeleteErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n permanent: boolean;\n error: Error;\n}\n\n/**\n * DeleteEntryRepository - Handles storage operations for permanently deleting entries.\n */\nexport interface IDeleteEntryRepository {\n execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = IDeleteEntryRepositoryErrors[keyof IDeleteEntryRepositoryErrors];\n\nexport const DeleteEntryRepository =\n createAbstraction<IDeleteEntryRepository>(\"DeleteEntryRepository\");\n\nexport namespace DeleteEntryRepository {\n export type Interface = IDeleteEntryRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * MoveEntryToBin Use Case - Soft deletes an entry by marking it as deleted.\n * This moves the entry to the bin (trash) instead of permanently deleting it.\n */\nexport interface IMoveEntryToBinUseCase {\n execute(model: CmsModel, id: string): Promise<Result<void, UseCaseError>>;\n}\n\n/** Move a content entry to the recycle bin. */\nexport const MoveEntryToBinUseCase =\n createAbstraction<IMoveEntryToBinUseCase>(\"MoveEntryToBinUseCase\");\n\nexport namespace MoveEntryToBinUseCase {\n export type Interface = IMoveEntryToBinUseCase;\n export type Error = UseCaseError;\n}\n\n/**\n * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.\n */\nexport interface IMoveEntryToBinRepository {\n execute(params: { model: CmsModel; entry: CmsEntry }): Promise<Result<void, RepositoryError>>;\n}\n\nexport const MoveEntryToBinRepository = createAbstraction<IMoveEntryToBinRepository>(\n \"MoveEntryToBinRepository\"\n);\n\nexport namespace MoveEntryToBinRepository {\n export type Interface = IMoveEntryToBinRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAWA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC;;AAOtE;AACA;AACA;AACA;;AAKA;AACA,OAAO,MAAMG,qBAAqB,GAC9BH,iBAAiB,CAAyB,uBAAuB,CAAC;;AAOtE;AACA;AACA;;AAKA,OAAO,MAAMI,wBAAwB,GAAGJ,iBAAiB,CACrD,0BACJ,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import type { EntryAfterDeleteEventPayload, EntryBeforeDeleteEventPayload, EntryDeleteErrorEventPayload } from "./abstractions.js";
|
|
4
4
|
/**
|
|
5
5
|
* Before delete entry event
|
|
@@ -8,6 +8,7 @@ export declare class EntryBeforeDeleteEvent extends DomainEvent<EntryBeforeDelet
|
|
|
8
8
|
eventType: "Cms/Entry/BeforeDelete";
|
|
9
9
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryBeforeDeleteEvent>>;
|
|
10
10
|
}
|
|
11
|
+
/** Hook into entry lifecycle before an entry is deleted. */
|
|
11
12
|
export declare const EntryBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryBeforeDeleteEvent>>;
|
|
12
13
|
export declare namespace EntryBeforeDeleteEventHandler {
|
|
13
14
|
type Interface = IEventHandler<EntryBeforeDeleteEvent>;
|
|
@@ -20,6 +21,7 @@ export declare class EntryAfterDeleteEvent extends DomainEvent<EntryAfterDeleteE
|
|
|
20
21
|
eventType: "Cms/Entry/AfterDelete";
|
|
21
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryAfterDeleteEvent>>;
|
|
22
23
|
}
|
|
24
|
+
/** Hook into entry lifecycle after an entry is deleted. */
|
|
23
25
|
export declare const EntryAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryAfterDeleteEvent>>;
|
|
24
26
|
export declare namespace EntryAfterDeleteEventHandler {
|
|
25
27
|
type Interface = IEventHandler<EntryAfterDeleteEvent>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Before delete entry event
|
|
5
5
|
*/
|
|
@@ -9,6 +9,8 @@ export class EntryBeforeDeleteEvent extends DomainEvent {
|
|
|
9
9
|
return EntryBeforeDeleteEventHandler;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
/** Hook into entry lifecycle before an entry is deleted. */
|
|
12
14
|
export const EntryBeforeDeleteEventHandler = createAbstraction("EntryBeforeDeleteEventHandler");
|
|
13
15
|
/**
|
|
14
16
|
* After delete entry event
|
|
@@ -19,6 +21,8 @@ export class EntryAfterDeleteEvent extends DomainEvent {
|
|
|
19
21
|
return EntryAfterDeleteEventHandler;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
/** Hook into entry lifecycle after an entry is deleted. */
|
|
22
26
|
export const EntryAfterDeleteEventHandler = createAbstraction("EntryAfterDeleteEventHandler");
|
|
23
27
|
/**
|
|
24
28
|
* Delete entry error event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeDeleteEvent","eventType","getHandlerAbstraction","EntryBeforeDeleteEventHandler","EntryAfterDeleteEvent","EntryAfterDeleteEventHandler","EntryDeleteErrorEvent","EntryDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeDeleteEvent","eventType","getHandlerAbstraction","EntryBeforeDeleteEventHandler","EntryAfterDeleteEvent","EntryAfterDeleteEventHandler","EntryDeleteErrorEvent","EntryDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type {\n EntryAfterDeleteEventPayload,\n EntryBeforeDeleteEventPayload,\n EntryDeleteErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before delete entry event\n */\nexport class EntryBeforeDeleteEvent extends DomainEvent<EntryBeforeDeleteEventPayload> {\n eventType = \"Cms/Entry/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into entry lifecycle before an entry is deleted. */\nexport const EntryBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<EntryBeforeDeleteEvent>\n>(\"EntryBeforeDeleteEventHandler\");\n\nexport namespace EntryBeforeDeleteEventHandler {\n export type Interface = IEventHandler<EntryBeforeDeleteEvent>;\n export type Event = EntryBeforeDeleteEvent;\n}\n\n/**\n * After delete entry event\n */\nexport class EntryAfterDeleteEvent extends DomainEvent<EntryAfterDeleteEventPayload> {\n eventType = \"Cms/Entry/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterDeleteEventHandler;\n }\n}\n\n/** Hook into entry lifecycle after an entry is deleted. */\nexport const EntryAfterDeleteEventHandler = createAbstraction<IEventHandler<EntryAfterDeleteEvent>>(\n \"EntryAfterDeleteEventHandler\"\n);\n\nexport namespace EntryAfterDeleteEventHandler {\n export type Interface = IEventHandler<EntryAfterDeleteEvent>;\n export type Event = EntryAfterDeleteEvent;\n}\n\n/**\n * Delete entry error event\n */\nexport class EntryDeleteErrorEvent extends DomainEvent<EntryDeleteErrorEventPayload> {\n eventType = \"Cms/Entry/DeleteError\" as const;\n\n getHandlerAbstraction() {\n return EntryDeleteErrorEventHandler;\n }\n}\n\nexport const EntryDeleteErrorEventHandler = createAbstraction<IEventHandler<EntryDeleteErrorEvent>>(\n \"EntryDeleteErrorEventHandler\"\n);\n\nexport namespace EntryDeleteErrorEventHandler {\n export type Interface = IEventHandler<EntryDeleteErrorEvent>;\n export type Event = EntryDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAO/E;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASD,WAAW,CAAgC;EACnFE,SAAS,GAAG,wBAAwB;EAEpCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMA,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC;AAOlC;AACA;AACA;AACA,OAAO,MAAMM,qBAAqB,SAASL,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAGP,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA;AACA;AACA,OAAO,MAAMQ,qBAAqB,SAASP,WAAW,CAA+B;EACjFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGT,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../../../feat
|
|
|
7
7
|
import { GetPreviousRevisionByEntryIdUseCase } from "../../../features/contentEntry/GetPreviousRevisionByEntryId/index.js";
|
|
8
8
|
import { DeleteEntryUseCase } from "../../../features/contentEntry/DeleteEntry/index.js";
|
|
9
9
|
import type { CmsModel } from "../../../types/index.js";
|
|
10
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
10
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
11
11
|
/**
|
|
12
12
|
* DeleteEntryRevisionUseCase - Orchestrates deletion of a specific entry revision.
|
|
13
13
|
*
|
|
@@ -7,7 +7,7 @@ import { GetRevisionByIdUseCase } from "../GetRevisionById/index.js";
|
|
|
7
7
|
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../GetLatestRevisionByEntryId/index.js";
|
|
8
8
|
import { GetPreviousRevisionByEntryIdUseCase } from "../GetPreviousRevisionByEntryId/index.js";
|
|
9
9
|
import { DeleteEntryUseCase } from "../DeleteEntry/index.js";
|
|
10
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
10
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
11
11
|
import { EntryRevisionBeforeDeleteEvent, EntryRevisionAfterDeleteEvent, EntryRevisionDeleteErrorEvent } from "./events.js";
|
|
12
12
|
import { parseIdentifier } from "@webiny/utils";
|
|
13
13
|
import { EntryNotAuthorizedError } from "../../../domain/contentEntry/errors.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","createImplementation","DeleteEntryRevisionUseCase","UseCaseAbstraction","DeleteEntryRevisionRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdIncludingDeletedUseCase","GetPreviousRevisionByEntryIdUseCase","DeleteEntryUseCase","EventPublisher","EntryRevisionBeforeDeleteEvent","EntryRevisionAfterDeleteEvent","EntryRevisionDeleteErrorEvent","parseIdentifier","EntryNotAuthorizedError","DeleteEntryRevisionUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","getPreviousRevision","deleteEntry","eventPublisher","execute","model","revisionId","canAccess","canAccessEntry","rwd","fail","fromModel","id","entryId","version","getRevisionResult","isFail","error","entryToDelete","value","entry","latestRevisionResult","latestRevision","latestRevisionId","previousRevisionResult","previousRevision","latestEntry","publish","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteEntryRevisionUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DeleteEntryRevisionRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { GetPreviousRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetPreviousRevisionByEntryId/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport {\n EntryRevisionBeforeDeleteEvent,\n EntryRevisionAfterDeleteEvent,\n EntryRevisionDeleteErrorEvent\n} from \"./events.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntryRevisionUseCase - Orchestrates deletion of a specific entry revision.\n *\n * Responsibilities:\n * - Parse revision ID to extract entry ID and version\n * - Apply access control\n * - Get the revision to delete\n * - Determine if this is the latest revision\n * - If latest and no previous revision exists, perform full entry delete\n * - If latest and previous exists, set previous as new latest\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass DeleteEntryRevisionUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: DeleteEntryRevisionRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface,\n private getPreviousRevision: GetPreviousRevisionByEntryIdUseCase.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: entryId, version } = parseIdentifier(revisionId);\n\n // Get the revision to delete\n const getRevisionResult = await this.getRevisionById.execute(model, revisionId);\n if (getRevisionResult.isFail()) {\n return Result.fail(getRevisionResult.error);\n }\n\n const entryToDelete = getRevisionResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: entryToDelete,\n rwd: \"d\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n // Get the latest revision\n const latestRevisionResult = await this.getLatestRevision.execute(model, { id: entryId });\n if (latestRevisionResult.isFail()) {\n return Result.fail(latestRevisionResult.error);\n }\n\n const latestRevision = latestRevisionResult.value;\n const latestRevisionId = latestRevision?.id || null;\n\n // Get the previous revision\n const previousRevisionResult = await this.getPreviousRevision.execute(model, {\n entryId,\n version: version as number\n });\n\n // If targeted record is the latest entry record and there is no previous revision,\n // delete the entire entry.\n const previousRevision = previousRevisionResult.isFail()\n ? null\n : previousRevisionResult.value;\n if (previousRevisionResult.isFail() && entryToDelete.id === latestRevisionId) {\n return await this.deleteEntry.execute(model, revisionId, {});\n }\n\n // Determine the entry to set as latest (if deleting current latest)\n let latestEntry = null;\n if (entryToDelete.id === latestRevisionId && previousRevision) {\n latestEntry = previousRevision;\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryRevisionBeforeDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute({\n model,\n entry: entryToDelete,\n latestEntry\n });\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryRevisionAfterDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n return Result.ok();\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const DeleteEntryRevisionUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteEntryRevisionUseCaseImpl,\n dependencies: [\n DeleteEntryRevisionRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdIncludingDeletedUseCase,\n GetPreviousRevisionByEntryIdUseCase,\n DeleteEntryUseCase,\n EventPublisher\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","DeleteEntryRevisionUseCase","UseCaseAbstraction","DeleteEntryRevisionRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdIncludingDeletedUseCase","GetPreviousRevisionByEntryIdUseCase","DeleteEntryUseCase","EventPublisher","EntryRevisionBeforeDeleteEvent","EntryRevisionAfterDeleteEvent","EntryRevisionDeleteErrorEvent","parseIdentifier","EntryNotAuthorizedError","DeleteEntryRevisionUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","getPreviousRevision","deleteEntry","eventPublisher","execute","model","revisionId","canAccess","canAccessEntry","rwd","fail","fromModel","id","entryId","version","getRevisionResult","isFail","error","entryToDelete","value","entry","latestRevisionResult","latestRevision","latestRevisionId","previousRevisionResult","previousRevision","latestEntry","publish","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteEntryRevisionUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DeleteEntryRevisionRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { GetPreviousRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetPreviousRevisionByEntryId/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n EntryRevisionBeforeDeleteEvent,\n EntryRevisionAfterDeleteEvent,\n EntryRevisionDeleteErrorEvent\n} from \"./events.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntryRevisionUseCase - Orchestrates deletion of a specific entry revision.\n *\n * Responsibilities:\n * - Parse revision ID to extract entry ID and version\n * - Apply access control\n * - Get the revision to delete\n * - Determine if this is the latest revision\n * - If latest and no previous revision exists, perform full entry delete\n * - If latest and previous exists, set previous as new latest\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass DeleteEntryRevisionUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: DeleteEntryRevisionRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface,\n private getPreviousRevision: GetPreviousRevisionByEntryIdUseCase.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: entryId, version } = parseIdentifier(revisionId);\n\n // Get the revision to delete\n const getRevisionResult = await this.getRevisionById.execute(model, revisionId);\n if (getRevisionResult.isFail()) {\n return Result.fail(getRevisionResult.error);\n }\n\n const entryToDelete = getRevisionResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: entryToDelete,\n rwd: \"d\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n // Get the latest revision\n const latestRevisionResult = await this.getLatestRevision.execute(model, { id: entryId });\n if (latestRevisionResult.isFail()) {\n return Result.fail(latestRevisionResult.error);\n }\n\n const latestRevision = latestRevisionResult.value;\n const latestRevisionId = latestRevision?.id || null;\n\n // Get the previous revision\n const previousRevisionResult = await this.getPreviousRevision.execute(model, {\n entryId,\n version: version as number\n });\n\n // If targeted record is the latest entry record and there is no previous revision,\n // delete the entire entry.\n const previousRevision = previousRevisionResult.isFail()\n ? null\n : previousRevisionResult.value;\n if (previousRevisionResult.isFail() && entryToDelete.id === latestRevisionId) {\n return await this.deleteEntry.execute(model, revisionId, {});\n }\n\n // Determine the entry to set as latest (if deleting current latest)\n let latestEntry = null;\n if (entryToDelete.id === latestRevisionId && previousRevision) {\n latestEntry = previousRevision;\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryRevisionBeforeDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute({\n model,\n entry: entryToDelete,\n latestEntry\n });\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryRevisionAfterDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n return Result.ok();\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const DeleteEntryRevisionUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteEntryRevisionUseCaseImpl,\n dependencies: [\n DeleteEntryRevisionRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdIncludingDeletedUseCase,\n GetPreviousRevisionByEntryIdUseCase,\n DeleteEntryUseCase,\n EventPublisher\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export interface IDeleteEntryRevisionUseCaseErrors {
|
|
|
14
14
|
storage: EntryPersistenceError;
|
|
15
15
|
}
|
|
16
16
|
type UseCaseError = IDeleteEntryRevisionUseCaseErrors[keyof IDeleteEntryRevisionUseCaseErrors];
|
|
17
|
+
/** Delete a specific entry revision. */
|
|
17
18
|
export declare const DeleteEntryRevisionUseCase: import("@webiny/di").Abstraction<IDeleteEntryRevisionUseCase>;
|
|
18
19
|
export declare namespace DeleteEntryRevisionUseCase {
|
|
19
20
|
type Interface = IDeleteEntryRevisionUseCase;
|
|
@@ -5,6 +5,7 @@ import { createAbstraction } from "@webiny/feature/api";
|
|
|
5
5
|
* Handles special cases like deleting the latest revision.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
/** Delete a specific entry revision. */
|
|
8
9
|
export const DeleteEntryRevisionUseCase = createAbstraction("DeleteEntryRevisionUseCase");
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DeleteEntryRevisionUseCase","DeleteEntryRevisionRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntryRevision Use Case - Deletes a specific revision of an entry.\n * Handles special cases like deleting the latest revision.\n */\nexport interface IDeleteEntryRevisionUseCase {\n execute(model: CmsModel, revisionId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteEntryRevisionUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteEntryRevisionUseCaseErrors[keyof IDeleteEntryRevisionUseCaseErrors];\n\nexport const DeleteEntryRevisionUseCase = createAbstraction<IDeleteEntryRevisionUseCase>(\n \"DeleteEntryRevisionUseCase\"\n);\n\nexport namespace DeleteEntryRevisionUseCase {\n export type Interface = IDeleteEntryRevisionUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * Payload for before delete event\n */\nexport interface EntryRevisionBeforeDeletePayload {\n entry: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for after delete event\n */\nexport interface EntryRevisionAfterDeletePayload {\n entry: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for delete error event\n */\nexport interface EntryRevisionDeleteErrorPayload {\n entry: CmsEntry;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.\n */\nexport interface IDeleteEntryRevisionRepository {\n execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n latestEntry: CmsEntry | null;\n }): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteEntryRevisionRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n IDeleteEntryRevisionRepositoryErrors[keyof IDeleteEntryRevisionRepositoryErrors];\n\nexport const DeleteEntryRevisionRepository = createAbstraction<IDeleteEntryRevisionRepository>(\n \"DeleteEntryRevisionRepository\"\n);\n\nexport namespace DeleteEntryRevisionRepository {\n export type Interface = IDeleteEntryRevisionRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;AACA;;AAaA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,4BACJ,CAAC;;AASD;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAOA;AACA;AACA;;AAgBA,OAAO,MAAME,6BAA6B,GAAGF,iBAAiB,CAC1D,+BACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteEntryRevisionUseCase","DeleteEntryRevisionRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntryRevision Use Case - Deletes a specific revision of an entry.\n * Handles special cases like deleting the latest revision.\n */\nexport interface IDeleteEntryRevisionUseCase {\n execute(model: CmsModel, revisionId: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteEntryRevisionUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteEntryRevisionUseCaseErrors[keyof IDeleteEntryRevisionUseCaseErrors];\n\n/** Delete a specific entry revision. */\nexport const DeleteEntryRevisionUseCase = createAbstraction<IDeleteEntryRevisionUseCase>(\n \"DeleteEntryRevisionUseCase\"\n);\n\nexport namespace DeleteEntryRevisionUseCase {\n export type Interface = IDeleteEntryRevisionUseCase;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n\n/**\n * Payload for before delete event\n */\nexport interface EntryRevisionBeforeDeletePayload {\n entry: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for after delete event\n */\nexport interface EntryRevisionAfterDeletePayload {\n entry: CmsEntry;\n model: CmsModel;\n}\n\n/**\n * Payload for delete error event\n */\nexport interface EntryRevisionDeleteErrorPayload {\n entry: CmsEntry;\n model: CmsModel;\n error: Error;\n}\n\n/**\n * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.\n */\nexport interface IDeleteEntryRevisionRepository {\n execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n latestEntry: CmsEntry | null;\n }): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteEntryRevisionRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n IDeleteEntryRevisionRepositoryErrors[keyof IDeleteEntryRevisionRepositoryErrors];\n\nexport const DeleteEntryRevisionRepository = createAbstraction<IDeleteEntryRevisionRepository>(\n \"DeleteEntryRevisionRepository\"\n);\n\nexport namespace DeleteEntryRevisionRepository {\n export type Interface = IDeleteEntryRevisionRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;AACA;;AAaA;AACA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,4BACJ,CAAC;;AASD;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAOA;AACA;AACA;;AAgBA,OAAO,MAAME,6BAA6B,GAAGF,iBAAiB,CAC1D,+BACJ,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import type { EntryRevisionAfterDeletePayload, EntryRevisionBeforeDeletePayload, EntryRevisionDeleteErrorPayload } from "./abstractions.js";
|
|
4
4
|
/**
|
|
5
5
|
* Before delete revision event
|
|
@@ -8,6 +8,7 @@ export declare class EntryRevisionBeforeDeleteEvent extends DomainEvent<EntryRev
|
|
|
8
8
|
eventType: "Cms/Entry/RevisionBeforeDelete";
|
|
9
9
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryRevisionBeforeDeleteEvent>>;
|
|
10
10
|
}
|
|
11
|
+
/** Hook into revision lifecycle before a revision is deleted. */
|
|
11
12
|
export declare const EntryRevisionBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryRevisionBeforeDeleteEvent>>;
|
|
12
13
|
export declare namespace EntryRevisionBeforeDeleteEventHandler {
|
|
13
14
|
type Interface = IEventHandler<EntryRevisionBeforeDeleteEvent>;
|
|
@@ -20,6 +21,7 @@ export declare class EntryRevisionAfterDeleteEvent extends DomainEvent<EntryRevi
|
|
|
20
21
|
eventType: "Cms/Entry/RevisionAfterDelete";
|
|
21
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryRevisionAfterDeleteEvent>>;
|
|
22
23
|
}
|
|
24
|
+
/** Hook into revision lifecycle after a revision is deleted. */
|
|
23
25
|
export declare const EntryRevisionAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryRevisionAfterDeleteEvent>>;
|
|
24
26
|
export declare namespace EntryRevisionAfterDeleteEventHandler {
|
|
25
27
|
type Interface = IEventHandler<EntryRevisionAfterDeleteEvent>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Before delete revision event
|
|
5
5
|
*/
|
|
@@ -9,6 +9,8 @@ export class EntryRevisionBeforeDeleteEvent extends DomainEvent {
|
|
|
9
9
|
return EntryRevisionBeforeDeleteEventHandler;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
/** Hook into revision lifecycle before a revision is deleted. */
|
|
12
14
|
export const EntryRevisionBeforeDeleteEventHandler = createAbstraction("EntryRevisionBeforeDeleteEventHandler");
|
|
13
15
|
/**
|
|
14
16
|
* After delete revision event
|
|
@@ -19,6 +21,8 @@ export class EntryRevisionAfterDeleteEvent extends DomainEvent {
|
|
|
19
21
|
return EntryRevisionAfterDeleteEventHandler;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
/** Hook into revision lifecycle after a revision is deleted. */
|
|
22
26
|
export const EntryRevisionAfterDeleteEventHandler = createAbstraction("EntryRevisionAfterDeleteEventHandler");
|
|
23
27
|
/**
|
|
24
28
|
* Delete revision error event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","EntryRevisionBeforeDeleteEvent","eventType","getHandlerAbstraction","EntryRevisionBeforeDeleteEventHandler","EntryRevisionAfterDeleteEvent","EntryRevisionAfterDeleteEventHandler","EntryRevisionDeleteErrorEvent","EntryRevisionDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","EntryRevisionBeforeDeleteEvent","eventType","getHandlerAbstraction","EntryRevisionBeforeDeleteEventHandler","EntryRevisionAfterDeleteEvent","EntryRevisionAfterDeleteEventHandler","EntryRevisionDeleteErrorEvent","EntryRevisionDeleteErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type {\n EntryRevisionAfterDeletePayload,\n EntryRevisionBeforeDeletePayload,\n EntryRevisionDeleteErrorPayload\n} from \"./abstractions.js\";\n\n/**\n * Before delete revision event\n */\nexport class EntryRevisionBeforeDeleteEvent extends DomainEvent<EntryRevisionBeforeDeletePayload> {\n eventType = \"Cms/Entry/RevisionBeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into revision lifecycle before a revision is deleted. */\nexport const EntryRevisionBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<EntryRevisionBeforeDeleteEvent>\n>(\"EntryRevisionBeforeDeleteEventHandler\");\n\nexport namespace EntryRevisionBeforeDeleteEventHandler {\n export type Interface = IEventHandler<EntryRevisionBeforeDeleteEvent>;\n export type Event = EntryRevisionBeforeDeleteEvent;\n}\n\n/**\n * After delete revision event\n */\nexport class EntryRevisionAfterDeleteEvent extends DomainEvent<EntryRevisionAfterDeletePayload> {\n eventType = \"Cms/Entry/RevisionAfterDelete\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionAfterDeleteEventHandler;\n }\n}\n\n/** Hook into revision lifecycle after a revision is deleted. */\nexport const EntryRevisionAfterDeleteEventHandler = createAbstraction<\n IEventHandler<EntryRevisionAfterDeleteEvent>\n>(\"EntryRevisionAfterDeleteEventHandler\");\n\nexport namespace EntryRevisionAfterDeleteEventHandler {\n export type Interface = IEventHandler<EntryRevisionAfterDeleteEvent>;\n export type Event = EntryRevisionAfterDeleteEvent;\n}\n\n/**\n * Delete revision error event\n */\nexport class EntryRevisionDeleteErrorEvent extends DomainEvent<EntryRevisionDeleteErrorPayload> {\n eventType = \"Cms/Entry/RevisionDeleteError\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionDeleteErrorEventHandler;\n }\n}\n\nexport const EntryRevisionDeleteErrorEventHandler = createAbstraction<\n IEventHandler<EntryRevisionDeleteErrorEvent>\n>(\"EntryRevisionDeleteErrorEventHandler\");\n\nexport namespace EntryRevisionDeleteErrorEventHandler {\n export type Interface = IEventHandler<EntryRevisionDeleteErrorEvent>;\n export type Event = EntryRevisionDeleteErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAO/E;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,SAASD,WAAW,CAAmC;EAC9FE,SAAS,GAAG,gCAAgC;EAE5CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,qCAAqC;EAChD;AACJ;;AAEA;AACA,OAAO,MAAMA,qCAAqC,GAAGL,iBAAiB,CAEpE,uCAAuC,CAAC;AAO1C;AACA;AACA;AACA,OAAO,MAAMM,6BAA6B,SAASL,WAAW,CAAkC;EAC5FE,SAAS,GAAG,+BAA+B;EAE3CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,oCAAoC;EAC/C;AACJ;;AAEA;AACA,OAAO,MAAMA,oCAAoC,GAAGP,iBAAiB,CAEnE,sCAAsC,CAAC;AAOzC;AACA;AACA;AACA,OAAO,MAAMQ,6BAA6B,SAASP,WAAW,CAAkC;EAC5FE,SAAS,GAAG,+BAA+B;EAE3CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,oCAAoC;EAC/C;AACJ;AAEA,OAAO,MAAMA,oCAAoC,GAAGT,iBAAiB,CAEnE,sCAAsC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import { DeleteMultipleEntriesUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
4
|
import { DeleteMultipleEntriesRepository } from "./abstractions.js";
|
|
5
5
|
import { AccessControl } from "../../../features/shared/abstractions.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { createImplementation } from "@webiny/feature/api";
|
|
3
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
4
|
import { DeleteMultipleEntriesUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
5
5
|
import { DeleteMultipleEntriesRepository } from "./abstractions.js";
|
|
6
6
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","createImplementation","EventPublisher","DeleteMultipleEntriesUseCase","UseCaseAbstraction","DeleteMultipleEntriesRepository","AccessControl","ListEntriesUseCase","EntryBeforeDeleteMultipleEvent","EntryAfterDeleteMultipleEvent","EntryDeleteMultipleErrorEvent","EntryNotAuthorizedError","parseIdentifier","WebinyError","filterAsync","DeleteMultipleEntriesUseCaseImpl","constructor","repository","accessControl","listEntries","eventPublisher","execute","model","params","entries","input","maxDeletableEntries","entryIdList","Set","id","entryId","add","ids","Array","from","length","fail","canAccess","canAccessEntry","rwd","fromModel","listResult","where","latest","entryId_in","limit","isFail","error","value","accessibleEntries","entry","items","map","publish","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteMultipleEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","EventPublisher","DeleteMultipleEntriesUseCase","UseCaseAbstraction","DeleteMultipleEntriesRepository","AccessControl","ListEntriesUseCase","EntryBeforeDeleteMultipleEvent","EntryAfterDeleteMultipleEvent","EntryDeleteMultipleErrorEvent","EntryNotAuthorizedError","parseIdentifier","WebinyError","filterAsync","DeleteMultipleEntriesUseCaseImpl","constructor","repository","accessControl","listEntries","eventPublisher","execute","model","params","entries","input","maxDeletableEntries","entryIdList","Set","id","entryId","add","ids","Array","from","length","fail","canAccess","canAccessEntry","rwd","fromModel","listResult","where","latest","entryId_in","limit","isFail","error","value","accessibleEntries","entry","items","map","publish","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteMultipleEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DeleteMultipleEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DeleteMultipleEntriesRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { ListEntriesUseCase } from \"~/features/contentEntry/ListEntries/abstractions.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport {\n EntryBeforeDeleteMultipleEvent,\n EntryAfterDeleteMultipleEvent,\n EntryDeleteMultipleErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport WebinyError from \"@webiny/error\";\nimport { filterAsync } from \"~/utils/filterAsync.js\";\n\n/**\n * DeleteMultipleEntriesUseCase - Orchestrates deleting multiple entries.\n *\n * Responsibilities:\n * - Validate max entries limit (50)\n * - Parse entry IDs to unique entry IDs\n * - Apply access control\n * - Fetch entries using ListEntries use case\n * - Filter entries by access control\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass DeleteMultipleEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: DeleteMultipleEntriesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private listEntries: ListEntriesUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: { entries: string[] }\n ): Promise<Result<Array<{ id: string }>, UseCaseAbstraction.Error>> {\n const { entries: input } = params;\n const maxDeletableEntries = 50;\n\n // Parse entry IDs to unique entry IDs\n const entryIdList = new Set<string>();\n for (const id of input) {\n const { id: entryId } = parseIdentifier(id);\n entryIdList.add(entryId);\n }\n const ids = Array.from(entryIdList);\n\n // Validate max entries limit\n if (ids.length > maxDeletableEntries) {\n return Result.fail(\n new WebinyError(\n \"Cannot delete more than 50 entries at once.\",\n \"DELETE_ENTRIES_MAX\",\n {\n entries: ids\n }\n ) as any\n );\n }\n\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Fetch entries using ListEntries use case\n const listResult = await this.listEntries.execute(model, {\n where: {\n latest: true,\n entryId_in: ids\n },\n limit: maxDeletableEntries + 1\n });\n\n if (listResult.isFail()) {\n return Result.fail(listResult.error);\n }\n\n const { entries } = listResult.value;\n\n // Filter entries by access control (only delete entries user can access)\n const accessibleEntries = await filterAsync(entries, async entry => {\n return this.accessControl.canAccessEntry({ model, entry });\n });\n\n const items = accessibleEntries.map(entry => entry.id);\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeDeleteMultipleEvent({\n entries,\n ids,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute(model, items);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryDeleteMultipleErrorEvent({\n entries,\n ids,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterDeleteMultipleEvent({\n entries,\n ids,\n model\n })\n );\n\n return Result.ok(\n items.map(id => {\n return { id };\n })\n );\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryDeleteMultipleErrorEvent({\n entries,\n ids,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const DeleteMultipleEntriesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteMultipleEntriesUseCaseImpl,\n dependencies: [\n DeleteMultipleEntriesRepository,\n AccessControl,\n ListEntriesUseCase,\n EventPublisher\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ export interface IDeleteMultipleEntriesUseCaseErrors {
|
|
|
18
18
|
storage: EntryPersistenceError;
|
|
19
19
|
}
|
|
20
20
|
type UseCaseError = IDeleteMultipleEntriesUseCaseErrors[keyof IDeleteMultipleEntriesUseCaseErrors];
|
|
21
|
+
/** Delete multiple content entries in batch. */
|
|
21
22
|
export declare const DeleteMultipleEntriesUseCase: import("@webiny/di").Abstraction<IDeleteMultipleEntriesUseCase>;
|
|
22
23
|
export declare namespace DeleteMultipleEntriesUseCase {
|
|
23
24
|
type Interface = IDeleteMultipleEntriesUseCase;
|
|
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
|
|
|
4
4
|
* DeleteMultipleEntries Use Case - Deletes multiple entries at once.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
/** Delete multiple content entries in batch. */
|
|
7
8
|
export const DeleteMultipleEntriesUseCase = createAbstraction("DeleteMultipleEntriesUseCase");
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DeleteMultipleEntriesUseCase","DeleteMultipleEntriesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteMultipleEntries Use Case - Deletes multiple entries at once.\n */\n\nexport interface IDeleteMultipleEntriesUseCaseResultItem {\n id: string;\n}\nexport interface IDeleteMultipleEntriesUseCaseParams {\n entries: string[];\n}\nexport interface IDeleteMultipleEntriesUseCase {\n execute(\n model: CmsModel,\n params: IDeleteMultipleEntriesUseCaseParams\n ): Promise<Result<IDeleteMultipleEntriesUseCaseResultItem[], UseCaseError>>;\n}\n\nexport interface IDeleteMultipleEntriesUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteMultipleEntriesUseCaseErrors[keyof IDeleteMultipleEntriesUseCaseErrors];\n\nexport const DeleteMultipleEntriesUseCase = createAbstraction<IDeleteMultipleEntriesUseCase>(\n \"DeleteMultipleEntriesUseCase\"\n);\n\nexport namespace DeleteMultipleEntriesUseCase {\n export type Interface = IDeleteMultipleEntriesUseCase;\n export type Params = IDeleteMultipleEntriesUseCaseParams;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<IDeleteMultipleEntriesUseCaseResultItem[], UseCaseError>>;\n}\n\n/**\n * Payload for before delete multiple event\n */\nexport interface EntryBeforeDeleteMultipleEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n}\n\n/**\n * Payload for after delete multiple event\n */\nexport interface EntryAfterDeleteMultipleEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n}\n\n/**\n * Payload for delete multiple error event\n */\nexport interface EntryDeleteMultipleErrorEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n error: Error;\n}\n\n/**\n * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.\n */\nexport interface IDeleteMultipleEntriesRepository {\n execute(model: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteMultipleEntriesRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n IDeleteMultipleEntriesRepositoryErrors[keyof IDeleteMultipleEntriesRepositoryErrors];\n\nexport const DeleteMultipleEntriesRepository = createAbstraction<IDeleteMultipleEntriesRepository>(\n \"DeleteMultipleEntriesRepository\"\n);\n\nexport namespace DeleteMultipleEntriesRepository {\n export type Interface = IDeleteMultipleEntriesRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAsBA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAUD;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAYA,OAAO,MAAME,+BAA+B,GAAGF,iBAAiB,CAC5D,iCACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteMultipleEntriesUseCase","DeleteMultipleEntriesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteMultipleEntries Use Case - Deletes multiple entries at once.\n */\n\nexport interface IDeleteMultipleEntriesUseCaseResultItem {\n id: string;\n}\nexport interface IDeleteMultipleEntriesUseCaseParams {\n entries: string[];\n}\nexport interface IDeleteMultipleEntriesUseCase {\n execute(\n model: CmsModel,\n params: IDeleteMultipleEntriesUseCaseParams\n ): Promise<Result<IDeleteMultipleEntriesUseCaseResultItem[], UseCaseError>>;\n}\n\nexport interface IDeleteMultipleEntriesUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError = IDeleteMultipleEntriesUseCaseErrors[keyof IDeleteMultipleEntriesUseCaseErrors];\n\n/** Delete multiple content entries in batch. */\nexport const DeleteMultipleEntriesUseCase = createAbstraction<IDeleteMultipleEntriesUseCase>(\n \"DeleteMultipleEntriesUseCase\"\n);\n\nexport namespace DeleteMultipleEntriesUseCase {\n export type Interface = IDeleteMultipleEntriesUseCase;\n export type Params = IDeleteMultipleEntriesUseCaseParams;\n\n export type Error = UseCaseError;\n export type Return = Promise<Result<IDeleteMultipleEntriesUseCaseResultItem[], UseCaseError>>;\n}\n\n/**\n * Payload for before delete multiple event\n */\nexport interface EntryBeforeDeleteMultipleEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n}\n\n/**\n * Payload for after delete multiple event\n */\nexport interface EntryAfterDeleteMultipleEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n}\n\n/**\n * Payload for delete multiple error event\n */\nexport interface EntryDeleteMultipleErrorEventPayload {\n entries: CmsEntry[];\n ids: string[];\n model: CmsModel;\n error: Error;\n}\n\n/**\n * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.\n */\nexport interface IDeleteMultipleEntriesRepository {\n execute(model: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteMultipleEntriesRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n IDeleteMultipleEntriesRepositoryErrors[keyof IDeleteMultipleEntriesRepositoryErrors];\n\nexport const DeleteMultipleEntriesRepository = createAbstraction<IDeleteMultipleEntriesRepository>(\n \"DeleteMultipleEntriesRepository\"\n);\n\nexport namespace DeleteMultipleEntriesRepository {\n export type Interface = IDeleteMultipleEntriesRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAO/D;AACA;AACA;;AAsBA;AACA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAUD;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;;AAQA;AACA;AACA;;AAYA,OAAO,MAAME,+BAA+B,GAAGF,iBAAiB,CAC5D,iCACJ,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import type { EntryAfterDeleteMultipleEventPayload, EntryBeforeDeleteMultipleEventPayload, EntryDeleteMultipleErrorEventPayload } from "./abstractions.js";
|
|
4
4
|
/**
|
|
5
5
|
* Before delete multiple entries event
|
|
@@ -8,6 +8,7 @@ export declare class EntryBeforeDeleteMultipleEvent extends DomainEvent<EntryBef
|
|
|
8
8
|
eventType: "Cms/Entry/BeforeDeleteMultiple";
|
|
9
9
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryBeforeDeleteMultipleEvent>>;
|
|
10
10
|
}
|
|
11
|
+
/** Hook into entry lifecycle before multiple entries are deleted. */
|
|
11
12
|
export declare const EntryBeforeDeleteMultipleEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryBeforeDeleteMultipleEvent>>;
|
|
12
13
|
export declare namespace EntryBeforeDeleteMultipleEventHandler {
|
|
13
14
|
type Interface = IEventHandler<EntryBeforeDeleteMultipleEvent>;
|
|
@@ -20,6 +21,7 @@ export declare class EntryAfterDeleteMultipleEvent extends DomainEvent<EntryAfte
|
|
|
20
21
|
eventType: "Cms/Entry/AfterDeleteMultiple";
|
|
21
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryAfterDeleteMultipleEvent>>;
|
|
22
23
|
}
|
|
24
|
+
/** Hook into entry lifecycle after multiple entries are deleted. */
|
|
23
25
|
export declare const EntryAfterDeleteMultipleEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryAfterDeleteMultipleEvent>>;
|
|
24
26
|
export declare namespace EntryAfterDeleteMultipleEventHandler {
|
|
25
27
|
type Interface = IEventHandler<EntryAfterDeleteMultipleEvent>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Before delete multiple entries event
|
|
5
5
|
*/
|
|
@@ -9,6 +9,8 @@ export class EntryBeforeDeleteMultipleEvent extends DomainEvent {
|
|
|
9
9
|
return EntryBeforeDeleteMultipleEventHandler;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
/** Hook into entry lifecycle before multiple entries are deleted. */
|
|
12
14
|
export const EntryBeforeDeleteMultipleEventHandler = createAbstraction("EntryBeforeDeleteMultipleEventHandler");
|
|
13
15
|
/**
|
|
14
16
|
* After delete multiple entries event
|
|
@@ -19,6 +21,8 @@ export class EntryAfterDeleteMultipleEvent extends DomainEvent {
|
|
|
19
21
|
return EntryAfterDeleteMultipleEventHandler;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
/** Hook into entry lifecycle after multiple entries are deleted. */
|
|
22
26
|
export const EntryAfterDeleteMultipleEventHandler = createAbstraction("EntryAfterDeleteMultipleEventHandler");
|
|
23
27
|
/**
|
|
24
28
|
* Delete multiple entries error event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeDeleteMultipleEvent","eventType","getHandlerAbstraction","EntryBeforeDeleteMultipleEventHandler","EntryAfterDeleteMultipleEvent","EntryAfterDeleteMultipleEventHandler","EntryDeleteMultipleErrorEvent","EntryDeleteMultipleErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeDeleteMultipleEvent","eventType","getHandlerAbstraction","EntryBeforeDeleteMultipleEventHandler","EntryAfterDeleteMultipleEvent","EntryAfterDeleteMultipleEventHandler","EntryDeleteMultipleErrorEvent","EntryDeleteMultipleErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type {\n EntryAfterDeleteMultipleEventPayload,\n EntryBeforeDeleteMultipleEventPayload,\n EntryDeleteMultipleErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before delete multiple entries event\n */\nexport class EntryBeforeDeleteMultipleEvent extends DomainEvent<EntryBeforeDeleteMultipleEventPayload> {\n eventType = \"Cms/Entry/BeforeDeleteMultiple\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforeDeleteMultipleEventHandler;\n }\n}\n\n/** Hook into entry lifecycle before multiple entries are deleted. */\nexport const EntryBeforeDeleteMultipleEventHandler = createAbstraction<\n IEventHandler<EntryBeforeDeleteMultipleEvent>\n>(\"EntryBeforeDeleteMultipleEventHandler\");\n\nexport namespace EntryBeforeDeleteMultipleEventHandler {\n export type Interface = IEventHandler<EntryBeforeDeleteMultipleEvent>;\n export type Event = EntryBeforeDeleteMultipleEvent;\n}\n\n/**\n * After delete multiple entries event\n */\nexport class EntryAfterDeleteMultipleEvent extends DomainEvent<EntryAfterDeleteMultipleEventPayload> {\n eventType = \"Cms/Entry/AfterDeleteMultiple\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterDeleteMultipleEventHandler;\n }\n}\n\n/** Hook into entry lifecycle after multiple entries are deleted. */\nexport const EntryAfterDeleteMultipleEventHandler = createAbstraction<\n IEventHandler<EntryAfterDeleteMultipleEvent>\n>(\"EntryAfterDeleteMultipleEventHandler\");\n\nexport namespace EntryAfterDeleteMultipleEventHandler {\n export type Interface = IEventHandler<EntryAfterDeleteMultipleEvent>;\n export type Event = EntryAfterDeleteMultipleEvent;\n}\n\n/**\n * Delete multiple entries error event\n */\nexport class EntryDeleteMultipleErrorEvent extends DomainEvent<EntryDeleteMultipleErrorEventPayload> {\n eventType = \"Cms/Entry/DeleteMultipleError\" as const;\n\n getHandlerAbstraction() {\n return EntryDeleteMultipleErrorEventHandler;\n }\n}\n\nexport const EntryDeleteMultipleErrorEventHandler = createAbstraction<\n IEventHandler<EntryDeleteMultipleErrorEvent>\n>(\"EntryDeleteMultipleErrorEventHandler\");\n\nexport namespace EntryDeleteMultipleErrorEventHandler {\n export type Interface = IEventHandler<EntryDeleteMultipleErrorEvent>;\n export type Event = EntryDeleteMultipleErrorEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAO/E;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,SAASD,WAAW,CAAwC;EACnGE,SAAS,GAAG,gCAAgC;EAE5CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,qCAAqC;EAChD;AACJ;;AAEA;AACA,OAAO,MAAMA,qCAAqC,GAAGL,iBAAiB,CAEpE,uCAAuC,CAAC;AAO1C;AACA;AACA;AACA,OAAO,MAAMM,6BAA6B,SAASL,WAAW,CAAuC;EACjGE,SAAS,GAAG,+BAA+B;EAE3CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,oCAAoC;EAC/C;AACJ;;AAEA;AACA,OAAO,MAAMA,oCAAoC,GAAGP,iBAAiB,CAEnE,sCAAsC,CAAC;AAOzC;AACA;AACA;AACA,OAAO,MAAMQ,6BAA6B,SAASP,WAAW,CAAuC;EACjGE,SAAS,GAAG,+BAA+B;EAE3CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOK,oCAAoC;EAC/C;AACJ;AAEA,OAAO,MAAMA,oCAAoC,GAAGT,iBAAiB,CAEnE,sCAAsC,CAAC","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ export interface IGetEntriesByIdsUseCaseErrors {
|
|
|
13
13
|
storage: EntryPersistenceError;
|
|
14
14
|
}
|
|
15
15
|
type UseCaseError = IGetEntriesByIdsUseCaseErrors[keyof IGetEntriesByIdsUseCaseErrors];
|
|
16
|
+
/** Retrieve multiple content entries by their IDs. */
|
|
16
17
|
export declare const GetEntriesByIdsUseCase: import("@webiny/di").Abstraction<IGetEntriesByIdsUseCase>;
|
|
17
18
|
export declare namespace GetEntriesByIdsUseCase {
|
|
18
19
|
type Interface = IGetEntriesByIdsUseCase;
|
|
@@ -5,6 +5,7 @@ import { createAbstraction } from "@webiny/feature/api";
|
|
|
5
5
|
* Returns array of entries (excludes deleted entries via decorator).
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
/** Retrieve multiple content entries by their IDs. */
|
|
8
9
|
export const GetEntriesByIdsUseCase = createAbstraction("GetEntriesByIdsUseCase");
|
|
9
10
|
|
|
10
11
|
/**
|