@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ContentEntryTraverserProvider as ProviderAbstraction } from "./abstractions.js";
|
|
2
|
+
import { GetModelUseCase } from "../../contentModel/GetModel/abstractions.js";
|
|
3
|
+
import { ModelToAstConverter } from "../../contentModel/ModelToAstConverter/abstractions.js";
|
|
4
|
+
import { ContentEntryTraverser } from "./ContentEntryTraverser.js";
|
|
5
|
+
class ContentEntryTraverserProviderImpl {
|
|
6
|
+
constructor(getModelUseCase, modelToAstConverter) {
|
|
7
|
+
this.getModelUseCase = getModelUseCase;
|
|
8
|
+
this.modelToAstConverter = modelToAstConverter;
|
|
9
|
+
}
|
|
10
|
+
async getTraverser(modelId) {
|
|
11
|
+
const result = await this.getModelUseCase.execute(modelId);
|
|
12
|
+
if (result.isFail()) {
|
|
13
|
+
throw new Error(`Missing "${modelId}" model!`);
|
|
14
|
+
}
|
|
15
|
+
const model = result.value;
|
|
16
|
+
const modelAst = this.modelToAstConverter.toAst(model);
|
|
17
|
+
return new ContentEntryTraverser(modelAst);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const ContentEntryTraverserProvider = ProviderAbstraction.createImplementation({
|
|
21
|
+
implementation: ContentEntryTraverserProviderImpl,
|
|
22
|
+
dependencies: [GetModelUseCase, ModelToAstConverter]
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=ContentEntryTraverserProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ContentEntryTraverserProvider","ProviderAbstraction","GetModelUseCase","ModelToAstConverter","ContentEntryTraverser","ContentEntryTraverserProviderImpl","constructor","getModelUseCase","modelToAstConverter","getTraverser","modelId","result","execute","isFail","Error","model","value","modelAst","toAst","createImplementation","implementation","dependencies"],"sources":["ContentEntryTraverserProvider.ts"],"sourcesContent":["import { ContentEntryTraverserProvider as ProviderAbstraction } from \"./abstractions.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/abstractions.js\";\nimport { ModelToAstConverter } from \"~/features/contentModel/ModelToAstConverter/abstractions.js\";\nimport { ContentEntryTraverser } from \"./ContentEntryTraverser.js\";\nimport type { IContentEntryTraverser } from \"./ContentEntryTraverser.js\";\n\nclass ContentEntryTraverserProviderImpl implements ProviderAbstraction.Interface {\n public constructor(\n private getModelUseCase: GetModelUseCase.Interface,\n private modelToAstConverter: ModelToAstConverter.Interface\n ) {}\n\n async getTraverser(modelId: string): Promise<IContentEntryTraverser> {\n const result = await this.getModelUseCase.execute(modelId);\n\n if (result.isFail()) {\n throw new Error(`Missing \"${modelId}\" model!`);\n }\n\n const model = result.value;\n const modelAst = this.modelToAstConverter.toAst(model);\n return new ContentEntryTraverser(modelAst);\n }\n}\n\nexport const ContentEntryTraverserProvider = ProviderAbstraction.createImplementation({\n implementation: ContentEntryTraverserProviderImpl,\n dependencies: [GetModelUseCase, ModelToAstConverter]\n});\n"],"mappings":"AAAA,SAASA,6BAA6B,IAAIC,mBAAmB;AAC7D,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAG9B,MAAMC,iCAAiC,CAA0C;EACtEC,WAAWA,CACNC,eAA0C,EAC1CC,mBAAkD,EAC5D;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,YAAYA,CAACC,OAAe,EAAmC;IACjE,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,OAAO,CAACF,OAAO,CAAC;IAE1D,IAAIC,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAC,YAAYJ,OAAO,UAAU,CAAC;IAClD;IAEA,MAAMK,KAAK,GAAGJ,MAAM,CAACK,KAAK;IAC1B,MAAMC,QAAQ,GAAG,IAAI,CAACT,mBAAmB,CAACU,KAAK,CAACH,KAAK,CAAC;IACtD,OAAO,IAAIX,qBAAqB,CAACa,QAAQ,CAAC;EAC9C;AACJ;AAEA,OAAO,MAAMjB,6BAA6B,GAAGC,mBAAmB,CAACkB,oBAAoB,CAAC;EAClFC,cAAc,EAAEf,iCAAiC;EACjDgB,YAAY,EAAE,CAACnB,eAAe,EAAEC,mBAAmB;AACvD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IContentEntryTraverser } from "./ContentEntryTraverser.js";
|
|
2
|
+
export interface IContentEntryTraverserProvider {
|
|
3
|
+
getTraverser(modelId: string): Promise<IContentEntryTraverser>;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Traverse the given content entry data using the model's AST.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ContentEntryTraverserProvider: import("@webiny/di").Abstraction<IContentEntryTraverserProvider>;
|
|
9
|
+
export declare namespace ContentEntryTraverserProvider {
|
|
10
|
+
type Interface = IContentEntryTraverserProvider;
|
|
11
|
+
type ContentEntryTraverser = IContentEntryTraverser;
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
/**
|
|
3
|
+
* Traverse the given content entry data using the model's AST.
|
|
4
|
+
*/
|
|
5
|
+
export const ContentEntryTraverserProvider = createAbstraction("ContentEntryTraverserProvider");
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","ContentEntryTraverserProvider"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IContentEntryTraverser } from \"./ContentEntryTraverser.js\";\n\nexport interface IContentEntryTraverserProvider {\n getTraverser(modelId: string): Promise<IContentEntryTraverser>;\n}\n\n/**\n * Traverse the given content entry data using the model's AST.\n */\nexport const ContentEntryTraverserProvider = createAbstraction<IContentEntryTraverserProvider>(\n \"ContentEntryTraverserProvider\"\n);\n\nexport namespace ContentEntryTraverserProvider {\n export type Interface = IContentEntryTraverserProvider;\n export type ContentEntryTraverser = IContentEntryTraverser;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAGD,iBAAiB,CAC1D,+BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ContentEntryTraverserProvider } from "./ContentEntryTraverserProvider.js";
|
|
3
|
+
export const ContentEntryTraverserFeature = createFeature({
|
|
4
|
+
name: "ContentEntryTraverser",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(ContentEntryTraverserProvider);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ContentEntryTraverserProvider","ContentEntryTraverserFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ContentEntryTraverserProvider } from \"./ContentEntryTraverserProvider.js\";\n\nexport const ContentEntryTraverserFeature = createFeature({\n name: \"ContentEntryTraverser\",\n register(container) {\n container.register(ContentEntryTraverserProvider);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,6BAA6B;AAEtC,OAAO,MAAMC,4BAA4B,GAAGF,aAAa,CAAC;EACtDG,IAAI,EAAE,uBAAuB;EAC7BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,6BAA6B,CAAC;EACrD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ContentEntryTraverserProvider","ContentEntryTraverser"],"sources":["index.ts"],"sourcesContent":["export { ContentEntryTraverserProvider } from \"./abstractions.js\";\nexport { ContentEntryTraverser, type IContentEntryTraverser } from \"./ContentEntryTraverser.js\";\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,qBAAqB","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
4
|
import { AccessControl, CmsContext } from "../../../features/shared/abstractions.js";
|
|
5
5
|
import type { CmsEntry, CmsEntryValues, CmsModel, CreateCmsEntryInput, CreateCmsEntryOptionsInput } from "../../../types/index.js";
|
|
6
|
-
import { TenantContext } from "@webiny/api-core/features/TenantContext";
|
|
7
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
6
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
7
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* CreateEntryUseCase - Orchestrates entry creation.
|
|
10
10
|
*
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createImplementation, Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
4
|
import { EntryAfterCreateEvent, EntryBeforeCreateEvent } from "./events.js";
|
|
5
5
|
import { AccessControl, CmsContext } from "../../shared/abstractions.js";
|
|
6
6
|
import { EntryNotAuthorizedError, EntryValidationError } from "../../../domain/contentEntry/errors.js";
|
|
7
7
|
import { createEntryData } from "../../../crud/contentEntry/entryDataFactories/createEntryData.js";
|
|
8
|
-
import { TenantContext } from "@webiny/api-core/features/TenantContext";
|
|
9
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
8
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
9
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* CreateEntryUseCase - Orchestrates entry creation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createImplementation","Result","CreateEntryRepository","CreateEntryUseCase","UseCaseAbstraction","EventPublisher","EntryAfterCreateEvent","EntryBeforeCreateEvent","AccessControl","CmsContext","EntryNotAuthorizedError","EntryValidationError","createEntryData","TenantContext","IdentityContext","CreateEntryUseCaseImpl","constructor","eventPublisher","repository","accessControl","tenantContext","identityContext","cmsContext","execute","model","rawInput","options","canAccess","canAccessEntry","rwd","fail","fromModel","entry","input","context","getIdentity","getTenant","fromEntry","publish","result","isFail","error","ok","code","message","data","abstraction","implementation","dependencies"],"sources":["CreateEntryUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createImplementation","Result","CreateEntryRepository","CreateEntryUseCase","UseCaseAbstraction","EventPublisher","EntryAfterCreateEvent","EntryBeforeCreateEvent","AccessControl","CmsContext","EntryNotAuthorizedError","EntryValidationError","createEntryData","TenantContext","IdentityContext","CreateEntryUseCaseImpl","constructor","eventPublisher","repository","accessControl","tenantContext","identityContext","cmsContext","execute","model","rawInput","options","canAccess","canAccessEntry","rwd","fail","fromModel","entry","input","context","getIdentity","getTenant","fromEntry","publish","result","isFail","error","ok","code","message","data","abstraction","implementation","dependencies"],"sources":["CreateEntryUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryAfterCreateEvent, EntryBeforeCreateEvent } from \"./events.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { EntryNotAuthorizedError, EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { createEntryData } from \"~/crud/contentEntry/entryDataFactories/createEntryData.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\n/**\n * CreateEntryUseCase - Orchestrates entry creation.\n *\n * Responsibilities:\n * - Transform raw input to domain entry\n * - Apply access control\n * - Publish domain events\n * - Delegate persistence to repository\n */\nclass CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private tenantContext: TenantContext.Interface,\n private identityContext: IdentityContext.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check initial access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n // Transform raw input to domain entry\n const { entry, input } = await createEntryData<T>({\n model,\n rawInput,\n options,\n context: this.cmsContext,\n getIdentity: () => this.identityContext.getIdentity(),\n getTenant: () => this.tenantContext.getTenant(),\n accessControl: this.accessControl\n });\n\n // Apply access control on the created entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromEntry(entry));\n }\n\n // Publish before event\n await this.eventPublisher.publish(new EntryBeforeCreateEvent({ entry, input, model }));\n\n // Persist entry\n const result = await this.repository.execute(model, entry);\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterCreateEvent({\n entry,\n input,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n if (error.code === \"VALIDATION_FAILED\") {\n return Result.fail(new EntryValidationError(error.message, error.data));\n }\n // Handle errors from createEntryData or other operations\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const CreateEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateEntryUseCaseImpl,\n dependencies: [\n EventPublisher,\n CreateEntryRepository,\n AccessControl,\n TenantContext,\n IdentityContext,\n CmsContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ export interface ICreateEntryUseCaseErrors {
|
|
|
13
13
|
repository: RepositoryError;
|
|
14
14
|
}
|
|
15
15
|
type UseCaseError = ICreateEntryUseCaseErrors[keyof ICreateEntryUseCaseErrors];
|
|
16
|
+
/** Create a new content entry. */
|
|
16
17
|
export declare const CreateEntryUseCase: import("@webiny/di").Abstraction<ICreateEntryUseCase>;
|
|
17
18
|
export declare namespace CreateEntryUseCase {
|
|
18
19
|
type Interface = ICreateEntryUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","CreateEntryUseCase","CreateEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * CreateEntry Use Case\n */\nexport interface ICreateEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface ICreateEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n validation: EntryValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = ICreateEntryUseCaseErrors[keyof ICreateEntryUseCaseErrors];\n\nexport const CreateEntryUseCase = createAbstraction<ICreateEntryUseCase>(\"CreateEntryUseCase\");\n\nexport namespace CreateEntryUseCase {\n export type Interface = ICreateEntryUseCase;\n export type Input<T extends CmsEntryValues = CmsEntryValues> = CreateCmsEntryInput<T>;\n export type Options = CreateCmsEntryOptionsInput;\n\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * CreateEntryRepository - Persists a new entry to storage.\n * Takes a domain CmsEntry object and stores it.\n */\nexport interface ICreateEntryRepository {\n execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = ICreateEntryRepositoryErrors[keyof ICreateEntryRepositoryErrors];\n\nexport const CreateEntryRepository =\n createAbstraction<ICreateEntryRepository>(\"CreateEntryRepository\");\n\nexport namespace CreateEntryRepository {\n export type Interface = ICreateEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAiBA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAa9F;AACA;AACA;AACA;;AAWA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateEntryUseCase","CreateEntryRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * CreateEntry Use Case\n */\nexport interface ICreateEntryUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface ICreateEntryUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n validation: EntryValidationError;\n repository: RepositoryError;\n}\n\ntype UseCaseError = ICreateEntryUseCaseErrors[keyof ICreateEntryUseCaseErrors];\n\n/** Create a new content entry. */\nexport const CreateEntryUseCase = createAbstraction<ICreateEntryUseCase>(\"CreateEntryUseCase\");\n\nexport namespace CreateEntryUseCase {\n export type Interface = ICreateEntryUseCase;\n export type Input<T extends CmsEntryValues = CmsEntryValues> = CreateCmsEntryInput<T>;\n export type Options = CreateCmsEntryOptionsInput;\n\n export type Error = UseCaseError;\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n}\n\n/**\n * CreateEntryRepository - Persists a new entry to storage.\n * Takes a domain CmsEntry object and stores it.\n */\nexport interface ICreateEntryRepository {\n execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ICreateEntryRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError = ICreateEntryRepositoryErrors[keyof ICreateEntryRepositoryErrors];\n\nexport const CreateEntryRepository =\n createAbstraction<ICreateEntryRepository>(\"CreateEntryRepository\");\n\nexport namespace CreateEntryRepository {\n export type Interface = ICreateEntryRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAc/D;AACA;AACA;;AAiBA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAa9F;AACA;AACA;AACA;;AAWA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,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 { CmsEntry, CmsModel, CreateCmsEntryInput } from "../../../types/index.js";
|
|
4
4
|
/**
|
|
5
5
|
* Event payloads
|
|
@@ -21,6 +21,7 @@ export declare class EntryBeforeCreateEvent extends DomainEvent<EntryBeforeCreat
|
|
|
21
21
|
eventType: "Cms/Entry/BeforeCreate";
|
|
22
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryBeforeCreateEvent>>;
|
|
23
23
|
}
|
|
24
|
+
/** Hook into entry lifecycle before an entry is created. */
|
|
24
25
|
export declare const EntryBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryBeforeCreateEvent>>;
|
|
25
26
|
export declare namespace EntryBeforeCreateEventHandler {
|
|
26
27
|
type Interface = IEventHandler<EntryBeforeCreateEvent>;
|
|
@@ -33,6 +34,7 @@ export declare class EntryAfterCreateEvent extends DomainEvent<EntryAfterCreateE
|
|
|
33
34
|
eventType: "Cms/Entry/AfterCreate";
|
|
34
35
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryAfterCreateEvent>>;
|
|
35
36
|
}
|
|
37
|
+
/** Hook into entry lifecycle after an entry is created. */
|
|
36
38
|
export declare const EntryAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryAfterCreateEvent>>;
|
|
37
39
|
export declare namespace EntryAfterCreateEventHandler {
|
|
38
40
|
type Interface = IEventHandler<EntryAfterCreateEvent>;
|
|
@@ -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
|
/**
|
|
5
5
|
* Event payloads
|
|
@@ -14,6 +14,8 @@ export class EntryBeforeCreateEvent extends DomainEvent {
|
|
|
14
14
|
return EntryBeforeCreateEventHandler;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/** Hook into entry lifecycle before an entry is created. */
|
|
17
19
|
export const EntryBeforeCreateEventHandler = createAbstraction("EntryBeforeCreateEventHandler");
|
|
18
20
|
/**
|
|
19
21
|
* EntryAfterCreateEvent - Published after creating an entry
|
|
@@ -24,6 +26,8 @@ export class EntryAfterCreateEvent extends DomainEvent {
|
|
|
24
26
|
return EntryAfterCreateEventHandler;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
|
|
30
|
+
/** Hook into entry lifecycle after an entry is created. */
|
|
27
31
|
export const EntryAfterCreateEventHandler = createAbstraction("EntryAfterCreateEventHandler");
|
|
28
32
|
|
|
29
33
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeCreateEvent","eventType","getHandlerAbstraction","EntryBeforeCreateEventHandler","EntryAfterCreateEvent","EntryAfterCreateEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","EntryBeforeCreateEvent","eventType","getHandlerAbstraction","EntryBeforeCreateEventHandler","EntryAfterCreateEvent","EntryAfterCreateEventHandler"],"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 { CmsEntry, CmsModel, CreateCmsEntryInput } from \"~/types/index.js\";\n\n/**\n * Event payloads\n */\nexport interface EntryBeforeCreateEventPayload {\n entry: CmsEntry;\n input: CreateCmsEntryInput;\n model: CmsModel;\n}\n\nexport interface EntryAfterCreateEventPayload {\n entry: CmsEntry;\n input: CreateCmsEntryInput;\n model: CmsModel;\n}\n\n/**\n * EntryBeforeCreateEvent - Published before creating an entry\n */\nexport class EntryBeforeCreateEvent extends DomainEvent<EntryBeforeCreateEventPayload> {\n eventType = \"Cms/Entry/BeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return EntryBeforeCreateEventHandler;\n }\n}\n\n/** Hook into entry lifecycle before an entry is created. */\nexport const EntryBeforeCreateEventHandler = createAbstraction<\n IEventHandler<EntryBeforeCreateEvent>\n>(\"EntryBeforeCreateEventHandler\");\n\nexport namespace EntryBeforeCreateEventHandler {\n export type Interface = IEventHandler<EntryBeforeCreateEvent>;\n export type Event = EntryBeforeCreateEvent;\n}\n\n/**\n * EntryAfterCreateEvent - Published after creating an entry\n */\nexport class EntryAfterCreateEvent extends DomainEvent<EntryAfterCreateEventPayload> {\n eventType = \"Cms/Entry/AfterCreate\" as const;\n\n getHandlerAbstraction() {\n return EntryAfterCreateEventHandler;\n }\n}\n\n/** Hook into entry lifecycle after an entry is created. */\nexport const EntryAfterCreateEventHandler = createAbstraction<IEventHandler<EntryAfterCreateEvent>>(\n \"EntryAfterCreateEventHandler\"\n);\n\nexport namespace EntryAfterCreateEventHandler {\n export type Interface = IEventHandler<EntryAfterCreateEvent>;\n export type Event = EntryAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;;AAG/E;AACA;AACA;;AAaA;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","ignoreList":[]}
|
|
@@ -6,4 +6,7 @@
|
|
|
6
6
|
* - Repository for persistence
|
|
7
7
|
* - Events for extensibility
|
|
8
8
|
*/
|
|
9
|
-
export declare const CreateEntryFeature:
|
|
9
|
+
export declare const CreateEntryFeature: {
|
|
10
|
+
name: string;
|
|
11
|
+
register(container: import("@webiny/di").Container): void;
|
|
12
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
-
import { TenantContext } from "@webiny/api-core/features/TenantContext";
|
|
4
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
5
|
import { CreateEntryRevisionFromRepository, CreateEntryRevisionFromUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
6
6
|
import { AccessControl, CmsContext } from "../../../features/shared/abstractions.js";
|
|
7
7
|
import { GetRevisionByIdUseCase } from "../../../features/contentEntry/GetRevisionById/index.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createImplementation, Result } from "@webiny/feature/api";
|
|
2
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
-
import { TenantContext } from "@webiny/api-core/features/TenantContext";
|
|
4
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
5
|
import { CreateEntryRevisionFromRepository, CreateEntryRevisionFromUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
6
6
|
import { AccessControl, CmsContext } from "../../shared/abstractions.js";
|
|
7
7
|
import { GetRevisionByIdUseCase } from "../GetRevisionById/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createImplementation","Result","IdentityContext","TenantContext","EventPublisher","CreateEntryRevisionFromRepository","CreateEntryRevisionFromUseCase","UseCaseAbstraction","AccessControl","CmsContext","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EntryRevisionAfterCreateEvent","EntryRevisionBeforeCreateEvent","EntryRevisionCreateErrorEvent","EntryNotAuthorizedError","parseIdentifier","createEntryRevisionFromData","CreateEntryRevisionFromUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","identityContext","tenantContext","eventPublisher","cmsContext","execute","model","sourceId","rawInput","options","canAccess","canAccessEntry","rwd","fail","fromModel","id","uniqueId","originalResult","isFail","error","originalEntry","value","latestResult","latestStorageEntry","entry","input","context","getIdentity","getTenant","publish","original","result","createdEntry","ok","abstraction","implementation","dependencies"],"sources":["CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport {\n CreateEntryRevisionFromRepository,\n CreateEntryRevisionFromUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport {\n EntryRevisionAfterCreateEvent,\n EntryRevisionBeforeCreateEvent,\n EntryRevisionCreateErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createEntryRevisionFromData } from \"~/crud/contentEntry/entryDataFactories/index.js\";\n\n/**\n * CreateEntryRevisionFromUseCase - Orchestrates creating a new revision from an existing entry.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the source entry\n * - Get the latest revision for version calculation\n * - Prepare entry data with new version\n * - Validate entry data\n * - Apply additional access control based on status\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: CreateEntryRevisionFromRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the source entry\n const { id: uniqueId } = parseIdentifier(sourceId);\n const originalResult = await this.getRevisionById.execute<T>(model, sourceId);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const originalEntry = originalResult.value;\n\n // Get the latest revision for version calculation\n const latestResult = await this.getLatestRevision.execute<T>(model, { id: uniqueId });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestStorageEntry = latestResult.value;\n\n // Prepare entry data\n const { entry, input } = await createEntryRevisionFromData<T>({\n sourceId,\n model,\n rawInput,\n options,\n context: this.cmsContext,\n getIdentity: () => this.identityContext.getIdentity(),\n getTenant: () => this.tenantContext.getTenant(),\n originalEntry,\n latestStorageEntry,\n accessControl: this.accessControl as any\n });\n\n // Check access control on the prepared entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryRevisionBeforeCreateEvent({\n entry,\n model,\n input,\n original: originalEntry\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, entry);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const createdEntry = result.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryRevisionAfterCreateEvent({\n entry: createdEntry,\n model,\n input,\n original: originalEntry\n })\n );\n\n return Result.ok(createdEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const CreateEntryRevisionFromUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateEntryRevisionFromUseCaseImpl,\n dependencies: [\n CreateEntryRevisionFromRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n TenantContext,\n EventPublisher,\n CmsContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createImplementation","Result","IdentityContext","TenantContext","EventPublisher","CreateEntryRevisionFromRepository","CreateEntryRevisionFromUseCase","UseCaseAbstraction","AccessControl","CmsContext","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EntryRevisionAfterCreateEvent","EntryRevisionBeforeCreateEvent","EntryRevisionCreateErrorEvent","EntryNotAuthorizedError","parseIdentifier","createEntryRevisionFromData","CreateEntryRevisionFromUseCaseImpl","constructor","repository","accessControl","getRevisionById","getLatestRevision","identityContext","tenantContext","eventPublisher","cmsContext","execute","model","sourceId","rawInput","options","canAccess","canAccessEntry","rwd","fail","fromModel","id","uniqueId","originalResult","isFail","error","originalEntry","value","latestResult","latestStorageEntry","entry","input","context","getIdentity","getTenant","publish","original","result","createdEntry","ok","abstraction","implementation","dependencies"],"sources":["CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import { createImplementation, Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n CreateEntryRevisionFromRepository,\n CreateEntryRevisionFromUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport {\n EntryRevisionAfterCreateEvent,\n EntryRevisionBeforeCreateEvent,\n EntryRevisionCreateErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createEntryRevisionFromData } from \"~/crud/contentEntry/entryDataFactories/index.js\";\n\n/**\n * CreateEntryRevisionFromUseCase - Orchestrates creating a new revision from an existing entry.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the source entry\n * - Get the latest revision for version calculation\n * - Prepare entry data with new version\n * - Validate entry data\n * - Apply additional access control based on status\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: CreateEntryRevisionFromRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private tenantContext: TenantContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private cmsContext: CmsContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the source entry\n const { id: uniqueId } = parseIdentifier(sourceId);\n const originalResult = await this.getRevisionById.execute<T>(model, sourceId);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const originalEntry = originalResult.value;\n\n // Get the latest revision for version calculation\n const latestResult = await this.getLatestRevision.execute<T>(model, { id: uniqueId });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestStorageEntry = latestResult.value;\n\n // Prepare entry data\n const { entry, input } = await createEntryRevisionFromData<T>({\n sourceId,\n model,\n rawInput,\n options,\n context: this.cmsContext,\n getIdentity: () => this.identityContext.getIdentity(),\n getTenant: () => this.tenantContext.getTenant(),\n originalEntry,\n latestStorageEntry,\n accessControl: this.accessControl as any\n });\n\n // Check access control on the prepared entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryRevisionBeforeCreateEvent({\n entry,\n model,\n input,\n original: originalEntry\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, entry);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const createdEntry = result.value;\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryRevisionAfterCreateEvent({\n entry: createdEntry,\n model,\n input,\n original: originalEntry\n })\n );\n\n return Result.ok(createdEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const CreateEntryRevisionFromUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateEntryRevisionFromUseCaseImpl,\n dependencies: [\n CreateEntryRevisionFromRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n TenantContext,\n EventPublisher,\n CmsContext\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export interface ICreateEntryRevisionFromUseCaseErrors {
|
|
|
14
14
|
storage: EntryPersistenceError;
|
|
15
15
|
}
|
|
16
16
|
type UseCaseError = ICreateEntryRevisionFromUseCaseErrors[keyof ICreateEntryRevisionFromUseCaseErrors];
|
|
17
|
+
/** Create a new entry revision from an existing one. */
|
|
17
18
|
export declare const CreateEntryRevisionFromUseCase: import("@webiny/di").Abstraction<ICreateEntryRevisionFromUseCase>;
|
|
18
19
|
export declare namespace CreateEntryRevisionFromUseCase {
|
|
19
20
|
type Interface = ICreateEntryRevisionFromUseCase;
|
|
@@ -4,6 +4,7 @@ import { createAbstraction } from "@webiny/feature/api";
|
|
|
4
4
|
* CreateEntryRevisionFrom Use Case - Creates a new revision from an existing entry.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
/** Create a new entry revision from an existing one. */
|
|
7
8
|
export const CreateEntryRevisionFromUseCase = createAbstraction("CreateEntryRevisionFromUseCase");
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","CreateEntryRevisionFromUseCase","CreateEntryRevisionFromRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * CreateEntryRevisionFrom Use Case - Creates a new revision from an existing entry.\n */\nexport interface ICreateEntryRevisionFromUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface ICreateEntryRevisionFromUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n validation: EntryValidationError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError =\n ICreateEntryRevisionFromUseCaseErrors[keyof ICreateEntryRevisionFromUseCaseErrors];\n\nexport const CreateEntryRevisionFromUseCase = createAbstraction<ICreateEntryRevisionFromUseCase>(\n \"CreateEntryRevisionFromUseCase\"\n);\n\nexport namespace CreateEntryRevisionFromUseCase {\n export type Interface = ICreateEntryRevisionFromUseCase;\n export type Input<T extends CmsEntryValues = CmsEntryValues> = CreateCmsEntryInput<T>;\n export type Options = CreateCmsEntryOptionsInput;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * Payload for before create revision event\n */\nexport interface EntryRevisionBeforeCreateEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n}\n\n/**\n * Payload for after create revision event\n */\nexport interface EntryRevisionAfterCreateEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n}\n\n/**\n * Payload for create revision error event\n */\nexport interface EntryRevisionCreateErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n error: Error;\n}\n\n/**\n * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.\n */\nexport interface ICreateEntryRevisionFromRepository {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryError>>;\n}\n\nexport interface ICreateEntryRevisionFromRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n ICreateEntryRevisionFromRepositoryErrors[keyof ICreateEntryRevisionFromRepositoryErrors];\n\nexport const CreateEntryRevisionFromRepository =\n createAbstraction<ICreateEntryRevisionFromRepository>(\"CreateEntryRevisionFromRepository\");\n\nexport namespace CreateEntryRevisionFromRepository {\n export type Interface = ICreateEntryRevisionFromRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAe/D;AACA;AACA;;AAoBA,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,gCACJ,CAAC;;AAaD;AACA;AACA;;AAQA;AACA;AACA;;AAQA;AACA;AACA;;AASA;AACA;AACA;;AAeA,OAAO,MAAME,iCAAiC,GAC1CF,iBAAiB,CAAqC,mCAAmC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAbstraction","CreateEntryRevisionFromUseCase","CreateEntryRevisionFromRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type {\n EntryNotAuthorizedError,\n EntryNotFoundError,\n EntryPersistenceError,\n EntryValidationError\n} from \"~/domain/contentEntry/errors.js\";\n\n/**\n * CreateEntryRevisionFrom Use Case - Creates a new revision from an existing entry.\n */\nexport interface ICreateEntryRevisionFromUseCase {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseError>>;\n}\n\nexport interface ICreateEntryRevisionFromUseCaseErrors {\n notAuthorized: EntryNotAuthorizedError;\n notFound: EntryNotFoundError;\n validation: EntryValidationError;\n storage: EntryPersistenceError;\n}\n\ntype UseCaseError =\n ICreateEntryRevisionFromUseCaseErrors[keyof ICreateEntryRevisionFromUseCaseErrors];\n\n/** Create a new entry revision from an existing one. */\nexport const CreateEntryRevisionFromUseCase = createAbstraction<ICreateEntryRevisionFromUseCase>(\n \"CreateEntryRevisionFromUseCase\"\n);\n\nexport namespace CreateEntryRevisionFromUseCase {\n export type Interface = ICreateEntryRevisionFromUseCase;\n export type Input<T extends CmsEntryValues = CmsEntryValues> = CreateCmsEntryInput<T>;\n export type Options = CreateCmsEntryOptionsInput;\n\n export type Return<T extends CmsEntryValues = CmsEntryValues> = Promise<\n Result<CmsEntry<T>, UseCaseError>\n >;\n export type Error = UseCaseError;\n}\n\n/**\n * Payload for before create revision event\n */\nexport interface EntryRevisionBeforeCreateEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n}\n\n/**\n * Payload for after create revision event\n */\nexport interface EntryRevisionAfterCreateEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n}\n\n/**\n * Payload for create revision error event\n */\nexport interface EntryRevisionCreateErrorEventPayload {\n entry: CmsEntry;\n model: CmsModel;\n input: CreateCmsEntryInput;\n original: CmsEntry;\n error: Error;\n}\n\n/**\n * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.\n */\nexport interface ICreateEntryRevisionFromRepository {\n execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryError>>;\n}\n\nexport interface ICreateEntryRevisionFromRepositoryErrors {\n storage: EntryPersistenceError;\n}\n\ntype RepositoryError =\n ICreateEntryRevisionFromRepositoryErrors[keyof ICreateEntryRevisionFromRepositoryErrors];\n\nexport const CreateEntryRevisionFromRepository =\n createAbstraction<ICreateEntryRevisionFromRepository>(\"CreateEntryRevisionFromRepository\");\n\nexport namespace CreateEntryRevisionFromRepository {\n export type Interface = ICreateEntryRevisionFromRepository;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAe/D;AACA;AACA;;AAoBA;AACA,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,gCACJ,CAAC;;AAaD;AACA;AACA;;AAQA;AACA;AACA;;AAQA;AACA;AACA;;AASA;AACA;AACA;;AAeA,OAAO,MAAME,iCAAiC,GAC1CF,iBAAiB,CAAqC,mCAAmC,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 { EntryRevisionAfterCreateEventPayload, EntryRevisionBeforeCreateEventPayload, EntryRevisionCreateErrorEventPayload } from "./abstractions.js";
|
|
4
4
|
/**
|
|
5
5
|
* Before create entry revision event
|
|
@@ -8,6 +8,7 @@ export declare class EntryRevisionBeforeCreateEvent extends DomainEvent<EntryRev
|
|
|
8
8
|
eventType: "Cms/Entry/RevisionBeforeCreate";
|
|
9
9
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryRevisionBeforeCreateEvent>>;
|
|
10
10
|
}
|
|
11
|
+
/** Hook into revision lifecycle before a revision is created. */
|
|
11
12
|
export declare const EntryRevisionBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryRevisionBeforeCreateEvent>>;
|
|
12
13
|
export declare namespace EntryRevisionBeforeCreateEventHandler {
|
|
13
14
|
type Interface = IEventHandler<EntryRevisionBeforeCreateEvent>;
|
|
@@ -20,6 +21,7 @@ export declare class EntryRevisionAfterCreateEvent extends DomainEvent<EntryRevi
|
|
|
20
21
|
eventType: "Cms/Entry/RevisionAfterCreate";
|
|
21
22
|
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<EntryRevisionAfterCreateEvent>>;
|
|
22
23
|
}
|
|
24
|
+
/** Hook into revision lifecycle after a revision is created. */
|
|
23
25
|
export declare const EntryRevisionAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<EntryRevisionAfterCreateEvent>>;
|
|
24
26
|
export declare namespace EntryRevisionAfterCreateEventHandler {
|
|
25
27
|
type Interface = IEventHandler<EntryRevisionAfterCreateEvent>;
|
|
@@ -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 create entry revision event
|
|
5
5
|
*/
|
|
@@ -9,6 +9,8 @@ export class EntryRevisionBeforeCreateEvent extends DomainEvent {
|
|
|
9
9
|
return EntryRevisionBeforeCreateEventHandler;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
/** Hook into revision lifecycle before a revision is created. */
|
|
12
14
|
export const EntryRevisionBeforeCreateEventHandler = createAbstraction("EntryRevisionBeforeCreateEventHandler");
|
|
13
15
|
/**
|
|
14
16
|
* After create entry revision event
|
|
@@ -19,6 +21,8 @@ export class EntryRevisionAfterCreateEvent extends DomainEvent {
|
|
|
19
21
|
return EntryRevisionAfterCreateEventHandler;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
/** Hook into revision lifecycle after a revision is created. */
|
|
22
26
|
export const EntryRevisionAfterCreateEventHandler = createAbstraction("EntryRevisionAfterCreateEventHandler");
|
|
23
27
|
/**
|
|
24
28
|
* Create entry revision error event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","DomainEvent","EntryRevisionBeforeCreateEvent","eventType","getHandlerAbstraction","EntryRevisionBeforeCreateEventHandler","EntryRevisionAfterCreateEvent","EntryRevisionAfterCreateEventHandler","EntryRevisionCreateErrorEvent","EntryRevisionCreateErrorEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","EntryRevisionBeforeCreateEvent","eventType","getHandlerAbstraction","EntryRevisionBeforeCreateEventHandler","EntryRevisionAfterCreateEvent","EntryRevisionAfterCreateEventHandler","EntryRevisionCreateErrorEvent","EntryRevisionCreateErrorEventHandler"],"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 EntryRevisionAfterCreateEventPayload,\n EntryRevisionBeforeCreateEventPayload,\n EntryRevisionCreateErrorEventPayload\n} from \"./abstractions.js\";\n\n/**\n * Before create entry revision event\n */\nexport class EntryRevisionBeforeCreateEvent extends DomainEvent<EntryRevisionBeforeCreateEventPayload> {\n eventType = \"Cms/Entry/RevisionBeforeCreate\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionBeforeCreateEventHandler;\n }\n}\n\n/** Hook into revision lifecycle before a revision is created. */\nexport const EntryRevisionBeforeCreateEventHandler = createAbstraction<\n IEventHandler<EntryRevisionBeforeCreateEvent>\n>(\"EntryRevisionBeforeCreateEventHandler\");\n\nexport namespace EntryRevisionBeforeCreateEventHandler {\n export type Interface = IEventHandler<EntryRevisionBeforeCreateEvent>;\n export type Event = EntryRevisionBeforeCreateEvent;\n}\n\n/**\n * After create entry revision event\n */\nexport class EntryRevisionAfterCreateEvent extends DomainEvent<EntryRevisionAfterCreateEventPayload> {\n eventType = \"Cms/Entry/RevisionAfterCreate\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionAfterCreateEventHandler;\n }\n}\n\n/** Hook into revision lifecycle after a revision is created. */\nexport const EntryRevisionAfterCreateEventHandler = createAbstraction<\n IEventHandler<EntryRevisionAfterCreateEvent>\n>(\"EntryRevisionAfterCreateEventHandler\");\n\nexport namespace EntryRevisionAfterCreateEventHandler {\n export type Interface = IEventHandler<EntryRevisionAfterCreateEvent>;\n export type Event = EntryRevisionAfterCreateEvent;\n}\n\n/**\n * Create entry revision error event\n */\nexport class EntryRevisionCreateErrorEvent extends DomainEvent<EntryRevisionCreateErrorEventPayload> {\n eventType = \"Cms/Entry/RevisionCreateError\" as const;\n\n getHandlerAbstraction() {\n return EntryRevisionCreateErrorEventHandler;\n }\n}\n\nexport const EntryRevisionCreateErrorEventHandler = createAbstraction<\n IEventHandler<EntryRevisionCreateErrorEvent>\n>(\"EntryRevisionCreateErrorEventHandler\");\n\nexport namespace EntryRevisionCreateErrorEventHandler {\n export type Interface = IEventHandler<EntryRevisionCreateErrorEvent>;\n export type Event = EntryRevisionCreateErrorEvent;\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":[]}
|
|
@@ -4,7 +4,7 @@ import { DeleteEntryRepository } from "./abstractions.js";
|
|
|
4
4
|
import { AccessControl } from "../../../features/shared/abstractions.js";
|
|
5
5
|
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../../../features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
6
6
|
import type { CmsDeleteEntryOptions, CmsModel } from "../../../types/index.js";
|
|
7
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
7
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* DeleteEntryUseCase - Orchestrates permanent deletion of an entry.
|
|
10
10
|
*
|
|
@@ -4,7 +4,7 @@ import { DeleteEntryUseCase as UseCaseAbstraction, MoveEntryToBinUseCase } from
|
|
|
4
4
|
import { DeleteEntryRepository } from "./abstractions.js";
|
|
5
5
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
6
6
|
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../GetLatestRevisionByEntryId/index.js";
|
|
7
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
7
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
8
8
|
import { EntryBeforeDeleteEvent, EntryAfterDeleteEvent, EntryDeleteErrorEvent } from "./events.js";
|
|
9
9
|
import { EntryNotAuthorizedError } from "../../../domain/contentEntry/errors.js";
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","createImplementation","DeleteEntryUseCase","UseCaseAbstraction","MoveEntryToBinUseCase","DeleteEntryRepository","AccessControl","GetLatestRevisionByEntryIdIncludingDeletedUseCase","EventPublisher","EntryBeforeDeleteEvent","EntryAfterDeleteEvent","EntryDeleteErrorEvent","EntryNotAuthorizedError","DeleteEntryUseCaseImpl","constructor","moveEntryToBin","repository","accessControl","getLatestRevision","eventPublisher","execute","model","id","options","permanently","canAccess","canAccessEntry","rwd","fail","fromModel","getResult","isFail","error","entryToDelete","value","entry","publish","permanent","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase as UseCaseAbstraction, MoveEntryToBinUseCase } from \"./abstractions.js\";\nimport { DeleteEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsDeleteEntryOptions, CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","DeleteEntryUseCase","UseCaseAbstraction","MoveEntryToBinUseCase","DeleteEntryRepository","AccessControl","GetLatestRevisionByEntryIdIncludingDeletedUseCase","EventPublisher","EntryBeforeDeleteEvent","EntryAfterDeleteEvent","EntryDeleteErrorEvent","EntryNotAuthorizedError","DeleteEntryUseCaseImpl","constructor","moveEntryToBin","repository","accessControl","getLatestRevision","eventPublisher","execute","model","id","options","permanently","canAccess","canAccessEntry","rwd","fail","fromModel","getResult","isFail","error","entryToDelete","value","entry","publish","permanent","result","ok","abstraction","implementation","dependencies"],"sources":["DeleteEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase as UseCaseAbstraction, MoveEntryToBinUseCase } from \"./abstractions.js\";\nimport { DeleteEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsDeleteEntryOptions, 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\";\n\n/**\n * DeleteEntryUseCase - Orchestrates permanent deletion of an entry.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to delete by ID\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass DeleteEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private moveEntryToBin: MoveEntryToBinUseCase.Interface,\n private repository: DeleteEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n id: string,\n options: CmsDeleteEntryOptions\n ): Promise<Result<void, UseCaseAbstraction.Error>> {\n const { permanently = true } = options;\n\n if (!permanently) {\n return this.moveEntryToBin.execute(model, id);\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 // 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(getResult.error);\n }\n\n const entryToDelete = getResult.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 try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeDeleteEvent({\n entry: entryToDelete,\n model,\n permanent: true\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute(model, entryToDelete);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryDeleteErrorEvent({\n entry: entryToDelete,\n model,\n permanent: true,\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: true\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: true,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const DeleteEntryUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteEntryUseCaseImpl,\n dependencies: [\n MoveEntryToBinUseCase,\n DeleteEntryRepository,\n AccessControl,\n GetLatestRevisionByEntryIdIncludingDeletedUseCase,\n EventPublisher\n ]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
3
|
import { MoveEntryToBinUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
4
|
import { MoveEntryToBinRepository } from "./abstractions.js";
|
|
5
5
|
import { AccessControl } from "../../../features/shared/abstractions.js";
|
|
6
6
|
import { GetLatestRevisionByEntryIdUseCase } from "../../../features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
7
7
|
import type { CmsModel } from "../../../types/index.js";
|
|
8
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
8
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
9
9
|
/**
|
|
10
10
|
* MoveEntryToBinUseCase - Orchestrates soft deletion of an entry (move to bin).
|
|
11
11
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { createImplementation } from "@webiny/feature/api";
|
|
3
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
4
4
|
import { MoveEntryToBinUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
5
5
|
import { MoveEntryToBinRepository } from "./abstractions.js";
|
|
6
6
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
7
7
|
import { GetLatestRevisionByEntryIdUseCase } from "../GetLatestRevisionByEntryId/index.js";
|
|
8
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
8
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
9
9
|
import { EntryBeforeDeleteEvent, EntryAfterDeleteEvent, EntryDeleteErrorEvent } from "./events.js";
|
|
10
10
|
import { EntryNotAuthorizedError } from "../../../domain/contentEntry/errors.js";
|
|
11
11
|
import { EntryNotFoundError } from "../../../domain/contentEntry/errors.js";
|