@webiny/api-headless-cms 6.4.11 → 6.6.0-alpha.1
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/HeadlessCmsContextualSchema.d.ts +16 -0
- package/HeadlessCmsContextualSchema.js +32 -0
- package/HeadlessCmsContextualSchema.js.map +1 -0
- package/HeadlessCmsEndpointConfig.d.ts +10 -0
- package/HeadlessCmsEndpointConfig.js +5 -0
- package/HeadlessCmsEndpointConfig.js.map +1 -0
- package/HeadlessCmsFeature.d.ts +10 -0
- package/HeadlessCmsFeature.js +195 -0
- package/HeadlessCmsFeature.js.map +1 -0
- package/createCmsRoute.d.ts +26 -0
- package/createCmsRoute.js +59 -0
- package/createCmsRoute.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +29 -15
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/references/validateEntries.d.ts +1 -1
- package/crud/contentEntry/references/validateEntries.js +17 -7
- package/crud/contentEntry/references/validateEntries.js.map +1 -1
- package/crud/contentEntry.crud.js +22 -20
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/defaultFields.js +3 -2
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel.crud.js +8 -6
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup.crud.js +7 -5
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +2 -0
- package/domain/contentModel/schemas.js +4 -2
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModel/validation/modelFields.js +21 -15
- package/domain/contentModel/validation/modelFields.js.map +1 -1
- package/export/abstractions.d.ts +9 -0
- package/export/abstractions.js +6 -0
- package/export/abstractions.js.map +1 -0
- package/export/crud/exporting.js +8 -2
- package/export/crud/exporting.js.map +1 -1
- package/export/crud/importing.js +13 -4
- package/export/crud/importing.js.map +1 -1
- package/export/crud/imports/importGroups.js +23 -23
- package/export/crud/imports/importGroups.js.map +1 -1
- package/export/crud/imports/importModels.js +25 -22
- package/export/crud/imports/importModels.js.map +1 -1
- package/export/graphql/index.d.ts +2 -3
- package/export/graphql/index.js +6 -10
- package/export/graphql/index.js.map +1 -1
- package/exports/api/cms/model.d.ts +4 -1
- package/exports/api/cms/model.js +2 -0
- package/exports/api/cms/storage.d.ts +0 -1
- package/exports/api/cms/storage.js +0 -1
- package/features/ai/DescribeContentModelTool.d.ts +55 -0
- package/features/ai/DescribeContentModelTool.js +60 -0
- package/features/ai/DescribeContentModelTool.js.map +1 -0
- package/features/ai/ListContentModelsTool.d.ts +41 -0
- package/features/ai/ListContentModelsTool.js +44 -0
- package/features/ai/ListContentModelsTool.js.map +1 -0
- package/features/ai/QueryEntriesTool.d.ts +75 -0
- package/features/ai/QueryEntriesTool.js +90 -0
- package/features/ai/QueryEntriesTool.js.map +1 -0
- package/features/ai/feature.d.ts +8 -0
- package/features/ai/feature.js +15 -0
- package/features/ai/feature.js.map +1 -0
- package/features/ai/index.d.ts +4 -0
- package/features/ai/index.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js +0 -2
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
- package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
- package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
- package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
- package/features/contentModel/ComponentMapGenerator/index.js +2 -0
- package/features/contentModel/ContentModelFeature.js +6 -0
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
- package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
- package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
- package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
- package/features/contentModel/RefModelsGenerator/feature.js +11 -0
- package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
- package/features/contentModel/RefModelsGenerator/index.js +2 -0
- package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
- package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
- package/features/contentModel/shared/ModelsFetcher.js +5 -5
- package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
- package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
- package/features/contentModel/shared/PluginModelsProvider.js +11 -8
- package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
- package/features/contentModel/shared/abstractions.d.ts +10 -0
- package/features/contentModel/shared/abstractions.js +2 -1
- package/features/contentModel/shared/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
- package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
- package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
- package/features/contentModelGroup/shared/abstractions.js +2 -1
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/graphql/feature.js +2 -0
- package/features/graphql/feature.js.map +1 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
- package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
- package/features/graphql/fields/base/RefToGraphQL.js +10 -18
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
- package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +10 -0
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/feature.js +2 -0
- package/features/modelBuilder/feature.js.map +1 -1
- package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
- package/features/modelBuilder/fields/AssetFieldType.js +46 -0
- package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
- package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
- package/features/modelBuilder/fields/TextFieldType.js +1 -3
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
- package/features/modelBuilder/index.d.ts +1 -1
- package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
- package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
- package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
- package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
- package/features/shared/abstractions.d.ts +11 -15
- package/features/shared/abstractions.js +3 -3
- package/features/shared/abstractions.js.map +1 -1
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/index.d.ts +32 -0
- package/features/shared/storageOperations/index.js +32 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
- package/features/sortMapper/SortMapper.js +2 -5
- package/features/sortMapper/SortMapper.js.map +1 -1
- package/features/whereMapper/WhereMapper.js +7 -5
- package/features/whereMapper/WhereMapper.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/abstractions.d.ts +14 -0
- package/fieldConverters/abstractions.js +13 -0
- package/fieldConverters/abstractions.js.map +1 -0
- package/fieldConverters/index.d.ts +1 -1
- package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
- package/graphql/CmsGraphQLSchemaFactory.js +5 -0
- package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
- package/graphql/CmsSchemaExecutor.d.ts +10 -0
- package/graphql/CmsSchemaExecutor.js +5 -0
- package/graphql/CmsSchemaExecutor.js.map +1 -0
- package/graphql/buildSchemaPlugins.d.ts +2 -1
- package/graphql/buildSchemaPlugins.js +1 -3
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.js +5 -2
- package/graphql/checkEndpointAccess.js.map +1 -1
- package/graphql/createExecutableSchema.d.ts +1 -1
- package/graphql/createExecutableSchema.js +1 -1
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/generateSchema.d.ts +2 -1
- package/graphql/generateSchema.js +14 -5
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema.js +7 -2
- package/graphql/getSchema.js.map +1 -1
- package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
- package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
- package/graphql/schema/baseContentSchema.d.ts +1 -6
- package/graphql/schema/baseContentSchema.js +5 -8
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -2
- package/graphql/schema/baseSchema.js +6 -41
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
- package/graphql/schema/cms/createEntryResolver.js +2 -2
- package/graphql/schema/cms/createEntryResolver.js.map +1 -1
- package/graphql/schema/cms/deleteEntryResolver.js +2 -2
- package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getEntryResolver.js +5 -4
- package/graphql/schema/cms/getEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getModelResolver.d.ts +35 -0
- package/graphql/schema/cms/getModelResolver.js +49 -0
- package/graphql/schema/cms/getModelResolver.js.map +1 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
- package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
- package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
- package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
- package/graphql/schema/cms/helpers/getModel.js +5 -3
- package/graphql/schema/cms/helpers/getModel.js.map +1 -1
- package/graphql/schema/cms/helpers/index.d.ts +1 -0
- package/graphql/schema/cms/helpers/index.js +1 -0
- package/graphql/schema/cms/helpers.d.ts +1 -0
- package/graphql/schema/cms/helpers.js +1 -0
- package/graphql/schema/cms/listEntriesResolver.js +5 -4
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/publishEntryResolver.js +2 -2
- package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
- package/graphql/schema/cms/resolvers/createEntry.js +1 -1
- package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
- package/graphql/schema/cms/resolvers/getEntry.js +1 -1
- package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
- package/graphql/schema/cms/resolvers/getModel.js +18 -0
- package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
- package/graphql/schema/cms/resolvers/index.d.ts +1 -0
- package/graphql/schema/cms/resolvers/index.js +1 -0
- package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
- package/graphql/schema/cms/resolvers/listEntries.js +1 -1
- package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
- package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
- package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
- package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
- package/graphql/schema/cms/resolvers/queryCms.js +1 -1
- package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
- package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/mutation.js +1 -1
- package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/query.js +2 -1
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/responses.js +6 -1
- package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
- package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
- package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/updateEntryResolver.js +2 -2
- package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
- package/graphql/schema/contentEntries.js +43 -32
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +39 -18
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +68 -16
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +4 -2
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +5 -3
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
- package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +5 -3
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +5 -2
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +5 -3
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
- package/graphql/schema/schemaPlugins.d.ts +2 -1
- package/graphql/schema/schemaPlugins.js +2 -4
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/index.d.ts +7 -6
- package/index.js +4 -22
- package/legacy/abstractions.js.map +1 -1
- package/package.json +23 -29
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.js +2 -1
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/index.d.ts +0 -1
- package/plugins/index.js +0 -1
- package/types/fields/dynamicZoneField.d.ts +1 -0
- package/types/model.d.ts +6 -0
- package/types/modelField.d.ts +2 -0
- package/types/types.d.ts +10 -183
- package/types/types.js.map +1 -1
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
- package/utils/contentModelToJsonSchema/index.d.ts +2 -0
- package/utils/contentModelToJsonSchema/index.js +1 -0
- package/utils/contentModelToJsonSchema/types.d.ts +24 -0
- package/utils/contentModelToJsonSchema/types.js +0 -0
- package/utils/converters/ConverterCollection.d.ts +2 -2
- package/utils/converters/ConverterCollection.js +1 -3
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
- package/utils/converters/valueKeyFromStorageConverter.js +2 -2
- package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +4 -2
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
- package/utils/converters/valueKeyToStorageConverter.js +2 -2
- package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/isHeadlessCmsReady.d.ts +1 -1
- package/utils/isHeadlessCmsReady.js +3 -2
- package/utils/isHeadlessCmsReady.js.map +1 -1
- package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
- package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
- package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
- package/abstractions/entryHooks/index.d.ts +0 -1
- package/abstractions/entryHooks/index.js +0 -1
- package/abstractions/index.d.ts +0 -1
- package/abstractions/index.js +0 -1
- package/context.d.ts +0 -3
- package/context.js +0 -131
- package/context.js.map +0 -1
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
- package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
- package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
- package/extensions/entryHooks/index.d.ts +0 -1
- package/extensions/entryHooks/index.js +0 -1
- package/extensions/index.d.ts +0 -5
- package/extensions/index.js +0 -7
- package/extensions/index.js.map +0 -1
- package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
- package/features/runtimeTenant/RuntimeTenant.js +0 -22
- package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
- package/features/runtimeTenant/abstractions.d.ts +0 -11
- package/features/runtimeTenant/abstractions.js +0 -5
- package/features/runtimeTenant/abstractions.js.map +0 -1
- package/features/runtimeTenant/index.d.ts +0 -2
- package/features/runtimeTenant/index.js +0 -2
- package/graphql/graphQLHandlerFactory.d.ts +0 -5
- package/graphql/graphQLHandlerFactory.js +0 -22
- package/graphql/graphQLHandlerFactory.js.map +0 -1
- package/graphql/handleRequest.d.ts +0 -11
- package/graphql/handleRequest.js +0 -62
- package/graphql/handleRequest.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -11
- package/graphql/index.js.map +0 -1
- package/graphql/schema/cms/index.d.ts +0 -2
- package/graphql/schema/cms/index.js +0 -24
- package/graphql/schema/cms/index.js.map +0 -1
- package/index.js.map +0 -1
- package/parameters/context.d.ts +0 -2
- package/parameters/context.js +0 -7
- package/parameters/context.js.map +0 -1
- package/parameters/header.d.ts +0 -2
- package/parameters/header.js +0 -13
- package/parameters/header.js.map +0 -1
- package/parameters/index.d.ts +0 -3
- package/parameters/index.js +0 -3
- package/parameters/path.d.ts +0 -2
- package/parameters/path.js +0 -12
- package/parameters/path.js.map +0 -1
- package/plugins/CmsParametersPlugin.d.ts +0 -18
- package/plugins/CmsParametersPlugin.js +0 -16
- package/plugins/CmsParametersPlugin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { DeleteEntryStorageOperation } from \"~/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js\";\n\n/**\n * DeleteEntryRepository - Handles storage operations for permanently deleting entries.\n */\nclass DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private deleteEntryStorage: DeleteEntryStorageOperation.Interface) {}\n\n async execute(\n model: CmsModel,\n entry: CmsEntry\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.deleteEntryStorage.execute(model, { entry });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteEntryRepositoryImpl,\n dependencies: [DeleteEntryStorageOperation]\n});\n"],"names":["DeleteEntryRepositoryImpl","deleteEntryStorage","model","entry","Result","error","EntryPersistenceError","DeleteEntryRepository","RepositoryAbstraction","DeleteEntryStorageOperation"],"mappings":";;;;AASA,MAAMA;IACF,YAA2BC,kBAAyD,CAAE;aAA3DA,kBAAkB,GAAlBA;IAA4D;IAEvF,MAAM,QACFC,KAAe,EACfC,KAAe,EACmC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO;gBAAEC;YAAM;YACrD,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBR;IAChB,cAAc;QAACS;KAA4B;AAC/C"}
|
|
@@ -23,5 +23,7 @@ declare class DeleteEntryUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
|
23
23
|
constructor(moveEntryToBin: MoveEntryToBinUseCase.Interface, repository: DeleteEntryRepository.Interface, accessControl: AccessControl.Interface, getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface, eventPublisher: EventPublisher.Interface);
|
|
24
24
|
execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions): Promise<Result<void, UseCaseAbstraction.Error>>;
|
|
25
25
|
}
|
|
26
|
-
export declare const DeleteEntryUseCase:
|
|
26
|
+
export declare const DeleteEntryUseCase: typeof DeleteEntryUseCaseImpl & {
|
|
27
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteEntryUseCase>;
|
|
28
|
+
};
|
|
27
29
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRepository, DeleteEntryUseCase, MoveEntryToBinUseCase } from "./abstractions.js";
|
|
3
3
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
4
4
|
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../GetLatestRevisionByEntryId/index.js";
|
|
@@ -65,8 +65,7 @@ class DeleteEntryUseCaseImpl {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
const DeleteEntryUseCase_DeleteEntryUseCase = createImplementation({
|
|
69
|
-
abstraction: DeleteEntryUseCase,
|
|
68
|
+
const DeleteEntryUseCase_DeleteEntryUseCase = DeleteEntryUseCase.createImplementation({
|
|
70
69
|
implementation: DeleteEntryUseCaseImpl,
|
|
71
70
|
dependencies: [
|
|
72
71
|
MoveEntryToBinUseCase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntry/DeleteEntryUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntry/DeleteEntryUseCase.ts"],"sourcesContent":["import { Result } 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 = UseCaseAbstraction.createImplementation({\n implementation: DeleteEntryUseCaseImpl,\n dependencies: [\n MoveEntryToBinUseCase,\n DeleteEntryRepository,\n AccessControl,\n GetLatestRevisionByEntryIdIncludingDeletedUseCase,\n EventPublisher\n ]\n});\n"],"names":["DeleteEntryUseCaseImpl","moveEntryToBin","repository","accessControl","getLatestRevision","eventPublisher","model","id","options","permanently","canAccess","Result","EntryNotAuthorizedError","getResult","entryToDelete","canAccessEntry","EntryBeforeDeleteEvent","result","EntryDeleteErrorEvent","EntryAfterDeleteEvent","error","DeleteEntryUseCase","UseCaseAbstraction","MoveEntryToBinUseCase","DeleteEntryRepository","AccessControl","GetLatestRevisionByEntryIdIncludingDeletedUseCase","EventPublisher"],"mappings":";;;;;;;AAmBA,MAAMA;IACF,YACYC,cAA+C,EAC/CC,UAA2C,EAC3CC,aAAsC,EACtCC,iBAA8E,EAC9EC,cAAwC,CAClD;aALUJ,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,iBAAiB,GAAjBA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,OAA8B,EACiB;QAC/C,MAAM,EAAEC,cAAc,IAAI,EAAE,GAAGD;QAE/B,IAAI,CAACC,aACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACH,OAAOC;QAI9C,MAAMG,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEJ;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACI,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAIzD,MAAMO,YAAY,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACP,OAAO;YAAEC;QAAG;QAEnE,IAAIM,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAACE,UAAU,KAAK;QAGtC,MAAMC,gBAAgBD,UAAU,KAAK;QAGrC,MAAME,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DT;YACA,OAAOQ;YACP,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAG3B,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAII,uBAAuB;gBACvB,OAAOF;gBACPR;gBACA,WAAW;YACf;YAIJ,MAAMW,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACX,OAAOQ;YAEpD,IAAIG,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;oBACtB,OAAOJ;oBACPR;oBACA,WAAW;oBACX,OAAOW,OAAO,KAAK;gBACvB;gBAEJ,OAAON,OAAO,IAAI,CAACM,OAAO,KAAK;YACnC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,sBAAsB;gBACtB,OAAOL;gBACPR;gBACA,WAAW;YACf;YAGJ,OAAOK,OAAO,EAAE;QACpB,EAAE,OAAOS,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,sBAAsB;gBACtB,OAAOJ;gBACPR;gBACA,WAAW;gBACX,OAAOc;YACX;YAEJ,OAAOT,OAAO,IAAI,CAACS;QACvB;IACJ;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBtB;IAChB,cAAc;QACVuB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { MoveEntryToBinRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
3
|
import type { CmsEntry, CmsModel } from "../../../types/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { MoveToBinStorageOperation } from "../../../features/shared/storageOperations/entry/MoveToBinStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
7
6
|
/**
|
|
8
7
|
* MoveEntryToBinRepository - Handles storage operations for soft deleting entries.
|
|
9
8
|
*/
|
|
10
9
|
declare class MoveEntryToBinRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
11
10
|
private entryToStorageTransform;
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
|
|
11
|
+
private moveToBinStorage;
|
|
12
|
+
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, moveToBinStorage: MoveToBinStorageOperation.Interface);
|
|
15
13
|
execute(params: {
|
|
16
14
|
model: CmsModel;
|
|
17
15
|
entry: CmsEntry;
|
|
18
16
|
}): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
19
17
|
}
|
|
20
|
-
export declare const MoveEntryToBinRepository:
|
|
18
|
+
export declare const MoveEntryToBinRepository: typeof MoveEntryToBinRepositoryImpl & {
|
|
19
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryToBinRepository>;
|
|
20
|
+
};
|
|
21
21
|
export {};
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { MoveEntryToBinRepository } from "./abstractions.js";
|
|
3
3
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { MoveToBinStorageOperation } from "../../shared/storageOperations/entry/MoveToBinStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
7
6
|
class MoveEntryToBinRepositoryImpl {
|
|
8
|
-
constructor(entryToStorageTransform,
|
|
7
|
+
constructor(entryToStorageTransform, moveToBinStorage){
|
|
9
8
|
this.entryToStorageTransform = entryToStorageTransform;
|
|
10
|
-
this.
|
|
11
|
-
this.runtimeTenant = runtimeTenant;
|
|
9
|
+
this.moveToBinStorage = moveToBinStorage;
|
|
12
10
|
}
|
|
13
11
|
async execute(params) {
|
|
14
|
-
const { model
|
|
15
|
-
const model = this.runtimeTenant.assign(initialModel);
|
|
16
|
-
const entry = this.runtimeTenant.assign(initialEntry);
|
|
12
|
+
const { model, entry } = params;
|
|
17
13
|
try {
|
|
18
14
|
const storageEntry = await this.entryToStorageTransform(model, entry);
|
|
19
|
-
await this.
|
|
15
|
+
await this.moveToBinStorage.execute(model, {
|
|
20
16
|
entry,
|
|
21
17
|
storageEntry
|
|
22
18
|
});
|
|
@@ -26,13 +22,11 @@ class MoveEntryToBinRepositoryImpl {
|
|
|
26
22
|
}
|
|
27
23
|
}
|
|
28
24
|
}
|
|
29
|
-
const MoveEntryToBinRepository_MoveEntryToBinRepository = createImplementation({
|
|
30
|
-
abstraction: MoveEntryToBinRepository,
|
|
25
|
+
const MoveEntryToBinRepository_MoveEntryToBinRepository = MoveEntryToBinRepository.createImplementation({
|
|
31
26
|
implementation: MoveEntryToBinRepositoryImpl,
|
|
32
27
|
dependencies: [
|
|
33
28
|
EntryToStorageTransform,
|
|
34
|
-
|
|
35
|
-
RuntimeTenant
|
|
29
|
+
MoveToBinStorageOperation
|
|
36
30
|
]
|
|
37
31
|
});
|
|
38
32
|
export { MoveEntryToBinRepository_MoveEntryToBinRepository as MoveEntryToBinRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { MoveEntryToBinRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { MoveToBinStorageOperation } from \"~/features/shared/storageOperations/entry/MoveToBinStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * MoveEntryToBinRepository - Handles storage operations for soft deleting entries.\n */\nclass MoveEntryToBinRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private moveToBinStorage: MoveToBinStorageOperation.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { model, entry } = params;\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n await this.moveToBinStorage.execute(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryToBinRepository = RepositoryAbstraction.createImplementation({\n implementation: MoveEntryToBinRepositoryImpl,\n dependencies: [EntryToStorageTransform, MoveToBinStorageOperation]\n});\n"],"names":["MoveEntryToBinRepositoryImpl","entryToStorageTransform","moveToBinStorage","params","model","entry","storageEntry","Result","error","EntryPersistenceError","MoveEntryToBinRepository","RepositoryAbstraction","EntryToStorageTransform","MoveToBinStorageOperation"],"mappings":";;;;;AAUA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,gBAAqD,CAC/D;aAFUD,uBAAuB,GAAvBA;aACAC,gBAAgB,GAAhBA;IACT;IAEH,MAAM,QAAQC,MAGb,EAAsD;QACnD,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QAEzB,IAAI;YACA,MAAMG,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAE/D,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACD,OAAO;gBACvCC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBX;IAChB,cAAc;QAACY;QAAyBC;KAA0B;AACtE"}
|
|
@@ -26,5 +26,7 @@ declare class MoveEntryToBinUseCaseImpl implements UseCaseAbstraction.Interface
|
|
|
26
26
|
constructor(repository: MoveEntryToBinRepository.Interface, accessControl: AccessControl.Interface, getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface, identityContext: IdentityContext.Interface, eventPublisher: EventPublisher.Interface);
|
|
27
27
|
execute(model: CmsModel, id: string): Promise<Result<void, UseCaseAbstraction.Error>>;
|
|
28
28
|
}
|
|
29
|
-
export declare const MoveEntryToBinUseCase:
|
|
29
|
+
export declare const MoveEntryToBinUseCase: typeof MoveEntryToBinUseCaseImpl & {
|
|
30
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryToBinUseCase>;
|
|
31
|
+
};
|
|
30
32
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
3
|
import { MoveEntryToBinRepository, MoveEntryToBinUseCase } from "./abstractions.js";
|
|
4
4
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
@@ -84,8 +84,7 @@ class MoveEntryToBinUseCaseImpl {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
const MoveEntryToBinUseCase_MoveEntryToBinUseCase = createImplementation({
|
|
88
|
-
abstraction: MoveEntryToBinUseCase,
|
|
87
|
+
const MoveEntryToBinUseCase_MoveEntryToBinUseCase = MoveEntryToBinUseCase.createImplementation({
|
|
89
88
|
implementation: MoveEntryToBinUseCaseImpl,
|
|
90
89
|
dependencies: [
|
|
91
90
|
MoveEntryToBinRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { MoveEntryToBinUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryToBinRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryBeforeDeleteEvent, EntryAfterDeleteEvent, EntryDeleteErrorEvent } from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\n/**\n * MoveEntryToBinUseCase - Orchestrates soft deletion of an entry (move to bin).\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to delete by ID\n * - Mark entry as deleted (wbyDeleted = true)\n * - Update deletion metadata\n * - Publish domain events with permanent: false\n * - Delegate to repository for storage operations\n */\nclass MoveEntryToBinUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: MoveEntryToBinRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(model: CmsModel, id: string): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to delete by ID\n const getResult = await this.getLatestRevision.execute(model, { id });\n\n if (getResult.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const originalEntry = getResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: originalEntry,\n rwd: \"d\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n // Create the deleted entry data\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.identityContext.getIdentity();\n\n const entryToDelete = {\n ...originalEntry,\n wbyDeleted: true,\n\n // Entry location fields - move to root folder\n location: {\n folderId: ROOT_FOLDER\n },\n binOriginalFolderId: originalEntry.location?.folderId,\n\n // Entry-level meta fields\n deletedOn: getDate(currentDateTime, null),\n deletedBy: getIdentity(currentIdentity, null),\n\n // Revision-level meta fields\n revisionDeletedOn: getDate(currentDateTime, null),\n revisionDeletedBy: getIdentity(currentIdentity, null)\n };\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeDeleteEvent({\n entry: entryToDelete,\n model,\n permanent: false\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute({\n model,\n entry: entryToDelete\n });\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryDeleteErrorEvent({\n entry: entryToDelete,\n model,\n permanent: false,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterDeleteEvent({\n entry: entryToDelete,\n model,\n permanent: false\n })\n );\n\n return Result.ok();\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryDeleteErrorEvent({\n entry: entryToDelete,\n model,\n permanent: false,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const MoveEntryToBinUseCase = UseCaseAbstraction.createImplementation({\n implementation: MoveEntryToBinUseCaseImpl,\n dependencies: [\n MoveEntryToBinRepository,\n AccessControl,\n GetLatestRevisionByEntryIdUseCase,\n IdentityContext,\n EventPublisher\n ]\n});\n"],"names":["MoveEntryToBinUseCaseImpl","repository","accessControl","getLatestRevision","identityContext","eventPublisher","model","id","canAccess","Result","EntryNotAuthorizedError","getResult","EntryNotFoundError","originalEntry","canAccessEntry","currentDateTime","Date","currentIdentity","entryToDelete","ROOT_FOLDER","getDate","getIdentity","EntryBeforeDeleteEvent","result","EntryDeleteErrorEvent","EntryAfterDeleteEvent","error","MoveEntryToBinUseCase","UseCaseAbstraction","MoveEntryToBinRepository","AccessControl","GetLatestRevisionByEntryIdUseCase","IdentityContext","EventPublisher"],"mappings":";;;;;;;;;;;AA0BA,MAAMA;IACF,YACYC,UAA8C,EAC9CC,aAAsC,EACtCC,iBAA8D,EAC9DC,eAA0C,EAC1CC,cAAwC,CAClD;aALUJ,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,iBAAiB,GAAjBA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAe,EAAEC,EAAU,EAAmD;QAExF,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAIzD,MAAMK,YAAY,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACL,OAAO;YAAEC;QAAG;QAEnE,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBL;QAG9C,MAAMM,gBAAgBF,UAAU,KAAK;QAGrC,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DR;YACA,OAAOO;YACP,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMK,kBAAkB,IAAIC,OAAO,WAAW;QAC9C,MAAMC,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW;QAExD,MAAMC,gBAAgB;YAClB,GAAGL,aAAa;YAChB,YAAY;YAGZ,UAAU;gBACN,UAAUM;YACd;YACA,qBAAqBN,cAAc,QAAQ,EAAE;YAG7C,WAAWO,QAAQL,iBAAiB;YACpC,WAAWM,YAAYJ,iBAAiB;YAGxC,mBAAmBG,QAAQL,iBAAiB;YAC5C,mBAAmBM,YAAYJ,iBAAiB;QACpD;QAEA,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,uBAAuB;gBACvB,OAAOJ;gBACPZ;gBACA,WAAW;YACf;YAIJ,MAAMiB,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACzCjB;gBACA,OAAOY;YACX;YAEA,IAAIK,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;oBACtB,OAAON;oBACPZ;oBACA,WAAW;oBACX,OAAOiB,OAAO,KAAK;gBACvB;gBAEJ,OAAOd,OAAO,IAAI,CAACc,OAAO,KAAK;YACnC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,sBAAsB;gBACtB,OAAOP;gBACPZ;gBACA,WAAW;YACf;YAGJ,OAAOG,OAAO,EAAE;QACpB,EAAE,OAAOiB,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,sBAAsB;gBACtB,OAAON;gBACPZ;gBACA,WAAW;gBACX,OAAOoB;YACX;YAEJ,OAAOjB,OAAO,IAAI,CAACiB;QACvB;IACJ;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgB5B;IAChB,cAAc;QACV6B;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "../abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DeleteEntryStorageOperation } from "../../../../features/shared/storageOperations/entry/DeleteEntryStorageOperation.js";
|
|
4
4
|
import type { CmsModel, CmsDeleteEntryOptions } from "../../../../types/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Handles force delete logic for cleanup scenarios.
|
|
@@ -10,9 +10,9 @@ import type { CmsModel, CmsDeleteEntryOptions } from "../../../../types/index.js
|
|
|
10
10
|
* record is already deleted).
|
|
11
11
|
*/
|
|
12
12
|
declare class ForceDeleteDecoratorImpl implements DeleteEntryUseCase.Interface {
|
|
13
|
-
private
|
|
13
|
+
private deleteEntryStorage;
|
|
14
14
|
private decoratee;
|
|
15
|
-
constructor(
|
|
15
|
+
constructor(deleteEntryStorage: DeleteEntryStorageOperation.Interface, decoratee: DeleteEntryUseCase.Interface);
|
|
16
16
|
execute(model: CmsModel, id: string, options?: CmsDeleteEntryOptions): Promise<Result<void, DeleteEntryUseCase.Error>>;
|
|
17
17
|
}
|
|
18
18
|
export declare const ForceDeleteDecorator: typeof ForceDeleteDecoratorImpl;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Result, createDecorator } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "../abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DeleteEntryStorageOperation } from "../../../shared/storageOperations/entry/DeleteEntryStorageOperation.js";
|
|
4
4
|
import { parseIdentifier } from "@webiny/utils";
|
|
5
5
|
import { EntryPersistenceError } from "../../../../domain/contentEntry/errors.js";
|
|
6
6
|
class ForceDeleteDecoratorImpl {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
7
|
+
constructor(deleteEntryStorage, decoratee){
|
|
8
|
+
this.deleteEntryStorage = deleteEntryStorage;
|
|
9
9
|
this.decoratee = decoratee;
|
|
10
10
|
}
|
|
11
11
|
async execute(model, id, options = {}) {
|
|
@@ -14,7 +14,7 @@ class ForceDeleteDecoratorImpl {
|
|
|
14
14
|
if (force && result.isFail() && "Cms/Entry/NotFound" === result.error.code) {
|
|
15
15
|
const { id: entryId } = parseIdentifier(id);
|
|
16
16
|
try {
|
|
17
|
-
await this.
|
|
17
|
+
await this.deleteEntryStorage.execute(model, {
|
|
18
18
|
entry: {
|
|
19
19
|
id,
|
|
20
20
|
entryId
|
|
@@ -32,7 +32,7 @@ const ForceDeleteDecorator = createDecorator({
|
|
|
32
32
|
abstraction: DeleteEntryUseCase,
|
|
33
33
|
decorator: ForceDeleteDecoratorImpl,
|
|
34
34
|
dependencies: [
|
|
35
|
-
|
|
35
|
+
DeleteEntryStorageOperation
|
|
36
36
|
]
|
|
37
37
|
});
|
|
38
38
|
export { ForceDeleteDecorator };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js","sources":["../../../../../src/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"../abstractions.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js","sources":["../../../../../src/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"../abstractions.js\";\nimport { DeleteEntryStorageOperation } from \"~/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js\";\nimport type { CmsModel, CmsDeleteEntryOptions } from \"~/types/index.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * Handles force delete logic for cleanup scenarios.\n *\n * When force=true and entry doesn't exist, this decorator directly calls storage\n * operations to clean up any orphaned records (e.g., in Elasticsearch when DynamoDB\n * record is already deleted).\n */\nclass ForceDeleteDecoratorImpl implements DeleteEntryUseCase.Interface {\n public constructor(\n private deleteEntryStorage: DeleteEntryStorageOperation.Interface,\n private decoratee: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n id: string,\n options: CmsDeleteEntryOptions = {}\n ): Promise<Result<void, DeleteEntryUseCase.Error>> {\n const { force = false } = options;\n\n const result = await this.decoratee.execute(model, id, options);\n\n if (force && result.isFail() && result.error.code === \"Cms/Entry/NotFound\") {\n const { id: entryId } = parseIdentifier(id);\n\n try {\n // Not the nicest way to do it, but we need to revisit storage operations anyway.\n await this.deleteEntryStorage.execute(model, {\n entry: {\n id,\n entryId\n }\n } as any);\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n\n return result;\n }\n}\n\nexport const ForceDeleteDecorator = createDecorator({\n abstraction: DeleteEntryUseCase,\n decorator: ForceDeleteDecoratorImpl,\n dependencies: [DeleteEntryStorageOperation]\n});\n"],"names":["ForceDeleteDecoratorImpl","deleteEntryStorage","decoratee","model","id","options","force","result","entryId","parseIdentifier","Result","error","EntryPersistenceError","ForceDeleteDecorator","createDecorator","DeleteEntryUseCase","DeleteEntryStorageOperation"],"mappings":";;;;;AAeA,MAAMA;IACF,YACYC,kBAAyD,EACzDC,SAAuC,CACjD;aAFUD,kBAAkB,GAAlBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,UAAiC,CAAC,CAAC,EACY;QAC/C,MAAM,EAAEC,QAAQ,KAAK,EAAE,GAAGD;QAE1B,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,IAAIC;QAEvD,IAAIC,SAASC,OAAO,MAAM,MAAMA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EAA2B;YACxE,MAAM,EAAE,IAAIC,OAAO,EAAE,GAAGC,gBAAgBL;YAExC,IAAI;gBAEA,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO;oBACzC,OAAO;wBACHC;wBACAI;oBACJ;gBACJ;gBAEA,OAAOE,OAAO,EAAE;YACpB,EAAE,OAAOC,OAAO;gBACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;YACjD;QACJ;QAEA,OAAOJ;IACX;AACJ;AAEO,MAAMM,uBAAuBC,gBAAgB;IAChD,aAAaC;IACb,WAAWf;IACX,cAAc;QAACgB;KAA4B;AAC/C"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRevisionRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
3
|
import type { CmsEntry, CmsModel } from "../../../types/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { DeleteEntryRevisionStorageOperation } from "../../../features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
7
6
|
/**
|
|
8
7
|
* DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.
|
|
9
8
|
*/
|
|
10
9
|
declare class DeleteEntryRevisionRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
11
10
|
private entryToStorageTransform;
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, storageOperations: StorageOperations.Interface, runtimeTenant: RuntimeTenant.Interface);
|
|
11
|
+
private deleteEntryRevisionStorage;
|
|
12
|
+
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, deleteEntryRevisionStorage: DeleteEntryRevisionStorageOperation.Interface);
|
|
15
13
|
execute(params: {
|
|
16
14
|
model: CmsModel;
|
|
17
15
|
entry: CmsEntry;
|
|
18
16
|
latestEntry: CmsEntry | null;
|
|
19
17
|
}): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
20
18
|
}
|
|
21
|
-
export declare const DeleteEntryRevisionRepository:
|
|
19
|
+
export declare const DeleteEntryRevisionRepository: typeof DeleteEntryRevisionRepositoryImpl & {
|
|
20
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteEntryRevisionRepository>;
|
|
21
|
+
};
|
|
22
22
|
export {};
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRevisionRepository } from "./abstractions.js";
|
|
3
3
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { DeleteEntryRevisionStorageOperation } from "../../shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
6
|
import { isEntryLevelEntryMetaField, pickEntryMetaFields } from "../../../constants.js";
|
|
7
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
8
7
|
class DeleteEntryRevisionRepositoryImpl {
|
|
9
|
-
constructor(entryToStorageTransform,
|
|
8
|
+
constructor(entryToStorageTransform, deleteEntryRevisionStorage){
|
|
10
9
|
this.entryToStorageTransform = entryToStorageTransform;
|
|
11
|
-
this.
|
|
12
|
-
this.runtimeTenant = runtimeTenant;
|
|
10
|
+
this.deleteEntryRevisionStorage = deleteEntryRevisionStorage;
|
|
13
11
|
}
|
|
14
12
|
async execute(params) {
|
|
15
|
-
const model =
|
|
16
|
-
const entry = this.runtimeTenant.assign(params.entry);
|
|
17
|
-
const latestEntry = params.latestEntry ? this.runtimeTenant.assign(params.latestEntry) : null;
|
|
13
|
+
const { model, entry, latestEntry } = params;
|
|
18
14
|
try {
|
|
19
15
|
const storageEntry = await this.entryToStorageTransform(model, entry);
|
|
20
16
|
let storageLatestEntry = null;
|
|
@@ -26,7 +22,7 @@ class DeleteEntryRevisionRepositoryImpl {
|
|
|
26
22
|
};
|
|
27
23
|
storageLatestEntry = await this.entryToStorageTransform(model, updatedLatestEntry);
|
|
28
24
|
}
|
|
29
|
-
await this.
|
|
25
|
+
await this.deleteEntryRevisionStorage.execute(model, {
|
|
30
26
|
entry,
|
|
31
27
|
storageEntry,
|
|
32
28
|
latestEntry: latestEntry,
|
|
@@ -38,13 +34,11 @@ class DeleteEntryRevisionRepositoryImpl {
|
|
|
38
34
|
}
|
|
39
35
|
}
|
|
40
36
|
}
|
|
41
|
-
const DeleteEntryRevisionRepository_DeleteEntryRevisionRepository = createImplementation({
|
|
42
|
-
abstraction: DeleteEntryRevisionRepository,
|
|
37
|
+
const DeleteEntryRevisionRepository_DeleteEntryRevisionRepository = DeleteEntryRevisionRepository.createImplementation({
|
|
43
38
|
implementation: DeleteEntryRevisionRepositoryImpl,
|
|
44
39
|
dependencies: [
|
|
45
40
|
EntryToStorageTransform,
|
|
46
|
-
|
|
47
|
-
RuntimeTenant
|
|
41
|
+
DeleteEntryRevisionStorageOperation
|
|
48
42
|
]
|
|
49
43
|
});
|
|
50
44
|
export { DeleteEntryRevisionRepository_DeleteEntryRevisionRepository as DeleteEntryRevisionRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { DeleteEntryRevisionStorageOperation } from \"~/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { isEntryLevelEntryMetaField, pickEntryMetaFields } from \"~/constants.js\";\n\n/**\n * DeleteEntryRevisionRepository - Handles storage operations for deleting entry revisions.\n */\nclass DeleteEntryRevisionRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private deleteEntryRevisionStorage: DeleteEntryRevisionStorageOperation.Interface\n ) {}\n\n async execute(params: {\n model: CmsModel;\n entry: CmsEntry;\n latestEntry: CmsEntry | null;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { model, entry, latestEntry } = params;\n\n try {\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n let storageLatestEntry = null;\n if (latestEntry) {\n // Pick entry-level meta fields from the deleted entry to update the new latest\n const pickedEntryLevelMetaFields = pickEntryMetaFields(\n entry,\n isEntryLevelEntryMetaField\n );\n\n const updatedLatestEntry = {\n ...latestEntry,\n ...pickedEntryLevelMetaFields\n };\n\n storageLatestEntry = await this.entryToStorageTransform(model, updatedLatestEntry);\n }\n\n await this.deleteEntryRevisionStorage.execute(model, {\n entry,\n storageEntry,\n latestEntry: latestEntry,\n latestStorageEntry: storageLatestEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteEntryRevisionRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteEntryRevisionRepositoryImpl,\n dependencies: [EntryToStorageTransform, DeleteEntryRevisionStorageOperation]\n});\n"],"names":["DeleteEntryRevisionRepositoryImpl","entryToStorageTransform","deleteEntryRevisionStorage","params","model","entry","latestEntry","storageEntry","storageLatestEntry","pickedEntryLevelMetaFields","pickEntryMetaFields","isEntryLevelEntryMetaField","updatedLatestEntry","Result","error","EntryPersistenceError","DeleteEntryRevisionRepository","RepositoryAbstraction","EntryToStorageTransform","DeleteEntryRevisionStorageOperation"],"mappings":";;;;;;AAWA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,0BAAyE,CACnF;aAFUD,uBAAuB,GAAvBA;aACAC,0BAA0B,GAA1BA;IACT;IAEH,MAAM,QAAQC,MAIb,EAAsD;QACnD,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,WAAW,EAAE,GAAGH;QAEtC,IAAI;YACA,MAAMI,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACH,OAAOC;YAE/D,IAAIG,qBAAqB;YACzB,IAAIF,aAAa;gBAEb,MAAMG,6BAA6BC,oBAC/BL,OACAM;gBAGJ,MAAMC,qBAAqB;oBACvB,GAAGN,WAAW;oBACd,GAAGG,0BAA0B;gBACjC;gBAEAD,qBAAqB,MAAM,IAAI,CAAC,uBAAuB,CAACJ,OAAOQ;YACnE;YAEA,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAACR,OAAO;gBACjDC;gBACAE;gBACA,aAAaD;gBACb,oBAAoBE;YACxB;YAEA,OAAOK,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8DAAgCC,8BAAAA,oBAA0C,CAAC;IACpF,gBAAgBjB;IAChB,cAAc;QAACkB;QAAyBC;KAAoC;AAChF"}
|
|
@@ -32,5 +32,7 @@ declare class DeleteEntryRevisionUseCaseImpl implements UseCaseAbstraction.Inter
|
|
|
32
32
|
constructor(repository: DeleteEntryRevisionRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface, getPreviousRevision: GetPreviousRevisionByEntryIdUseCase.Interface, deleteEntry: DeleteEntryUseCase.Interface, eventPublisher: EventPublisher.Interface);
|
|
33
33
|
execute(model: CmsModel, revisionId: string): Promise<Result<void, UseCaseAbstraction.Error>>;
|
|
34
34
|
}
|
|
35
|
-
export declare const DeleteEntryRevisionUseCase:
|
|
35
|
+
export declare const DeleteEntryRevisionUseCase: typeof DeleteEntryRevisionUseCaseImpl & {
|
|
36
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteEntryRevisionUseCase>;
|
|
37
|
+
};
|
|
36
38
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRevisionRepository, DeleteEntryRevisionUseCase } from "./abstractions.js";
|
|
3
3
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
4
4
|
import { GetRevisionByIdUseCase } from "../GetRevisionById/index.js";
|
|
@@ -82,8 +82,7 @@ class DeleteEntryRevisionUseCaseImpl {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
const DeleteEntryRevisionUseCase_DeleteEntryRevisionUseCase = createImplementation({
|
|
86
|
-
abstraction: DeleteEntryRevisionUseCase,
|
|
85
|
+
const DeleteEntryRevisionUseCase_DeleteEntryRevisionUseCase = DeleteEntryRevisionUseCase.createImplementation({
|
|
87
86
|
implementation: DeleteEntryRevisionUseCaseImpl,
|
|
88
87
|
dependencies: [
|
|
89
88
|
DeleteEntryRevisionRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js","sources":["../../../../src/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DeleteEntryRevisionRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { GetPreviousRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetPreviousRevisionByEntryId/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n EntryRevisionBeforeDeleteEvent,\n EntryRevisionAfterDeleteEvent,\n EntryRevisionDeleteErrorEvent\n} from \"./events.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteEntryRevisionUseCase - Orchestrates deletion of a specific entry revision.\n *\n * Responsibilities:\n * - Parse revision ID to extract entry ID and version\n * - Apply access control\n * - Get the revision to delete\n * - Determine if this is the latest revision\n * - If latest and no previous revision exists, perform full entry delete\n * - If latest and previous exists, set previous as new latest\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass DeleteEntryRevisionUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: DeleteEntryRevisionRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface,\n private getPreviousRevision: GetPreviousRevisionByEntryIdUseCase.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"d\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: entryId, version } = parseIdentifier(revisionId);\n\n // Get the revision to delete\n const getRevisionResult = await this.getRevisionById.execute(model, revisionId);\n if (getRevisionResult.isFail()) {\n return Result.fail(getRevisionResult.error);\n }\n\n const entryToDelete = getRevisionResult.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry: entryToDelete,\n rwd: \"d\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n // Get the latest revision\n const latestRevisionResult = await this.getLatestRevision.execute(model, { id: entryId });\n if (latestRevisionResult.isFail()) {\n return Result.fail(latestRevisionResult.error);\n }\n\n const latestRevision = latestRevisionResult.value;\n const latestRevisionId = latestRevision?.id || null;\n\n // Get the previous revision\n const previousRevisionResult = await this.getPreviousRevision.execute(model, {\n entryId,\n version: version as number\n });\n\n // If targeted record is the latest entry record and there is no previous revision,\n // delete the entire entry.\n const previousRevision = previousRevisionResult.isFail()\n ? null\n : previousRevisionResult.value;\n if (previousRevisionResult.isFail() && entryToDelete.id === latestRevisionId) {\n return await this.deleteEntry.execute(model, revisionId, {});\n }\n\n // Determine the entry to set as latest (if deleting current latest)\n let latestEntry = null;\n if (entryToDelete.id === latestRevisionId && previousRevision) {\n latestEntry = previousRevision;\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryRevisionBeforeDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n // Delegate to repository\n const result = await this.repository.execute({\n model,\n entry: entryToDelete,\n latestEntry\n });\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryRevisionAfterDeleteEvent({\n entry: entryToDelete,\n model\n })\n );\n\n return Result.ok();\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionDeleteErrorEvent({\n entry: entryToDelete,\n model,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const DeleteEntryRevisionUseCase = UseCaseAbstraction.createImplementation({\n implementation: DeleteEntryRevisionUseCaseImpl,\n dependencies: [\n DeleteEntryRevisionRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdIncludingDeletedUseCase,\n GetPreviousRevisionByEntryIdUseCase,\n DeleteEntryUseCase,\n EventPublisher\n ]\n});\n"],"names":["DeleteEntryRevisionUseCaseImpl","repository","accessControl","getRevisionById","getLatestRevision","getPreviousRevision","deleteEntry","eventPublisher","model","revisionId","canAccess","Result","EntryNotAuthorizedError","entryId","version","parseIdentifier","getRevisionResult","entryToDelete","canAccessEntry","latestRevisionResult","latestRevision","latestRevisionId","previousRevisionResult","previousRevision","latestEntry","EntryRevisionBeforeDeleteEvent","result","EntryRevisionDeleteErrorEvent","EntryRevisionAfterDeleteEvent","error","DeleteEntryRevisionUseCase","UseCaseAbstraction","DeleteEntryRevisionRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdIncludingDeletedUseCase","GetPreviousRevisionByEntryIdUseCase","DeleteEntryUseCase","EventPublisher"],"mappings":";;;;;;;;;;;AA+BA,MAAMA;IACF,YACYC,UAAmD,EACnDC,aAAsC,EACtCC,eAAiD,EACjDC,iBAA8E,EAC9EC,mBAAkE,EAClEC,WAAyC,EACzCC,cAAwC,CAClD;aAPUN,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,iBAAiB,GAAjBA;aACAC,mBAAmB,GAAnBA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,UAAkB,EAC6B;QAE/C,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,IAAIK,OAAO,EAAEC,OAAO,EAAE,GAAGC,gBAAgBN;QAGjD,MAAMO,oBAAoB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACR,OAAOC;QACpE,IAAIO,kBAAkB,MAAM,IACxB,OAAOL,OAAO,IAAI,CAACK,kBAAkB,KAAK;QAG9C,MAAMC,gBAAgBD,kBAAkB,KAAK;QAG7C,MAAME,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DV;YACA,OAAOS;YACP,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOP,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMO,uBAAuB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACX,OAAO;YAAE,IAAIK;QAAQ;QACvF,IAAIM,qBAAqB,MAAM,IAC3B,OAAOR,OAAO,IAAI,CAACQ,qBAAqB,KAAK;QAGjD,MAAMC,iBAAiBD,qBAAqB,KAAK;QACjD,MAAME,mBAAmBD,gBAAgB,MAAM;QAG/C,MAAME,yBAAyB,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAACd,OAAO;YACzEK;YACA,SAASC;QACb;QAIA,MAAMS,mBAAmBD,uBAAuB,MAAM,KAChD,OACAA,uBAAuB,KAAK;QAClC,IAAIA,uBAAuB,MAAM,MAAML,cAAc,EAAE,KAAKI,kBACxD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACb,OAAOC,YAAY,CAAC;QAI9D,IAAIe,cAAc;QAClB,IAAIP,cAAc,EAAE,KAAKI,oBAAoBE,kBACzCC,cAAcD;QAGlB,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,+BAA+B;gBAC/B,OAAOR;gBACPT;YACJ;YAIJ,MAAMkB,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACzClB;gBACA,OAAOS;gBACPO;YACJ;YAEA,IAAIE,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9B,OAAOV;oBACPT;oBACA,OAAOkB,OAAO,KAAK;gBACvB;gBAEJ,OAAOf,OAAO,IAAI,CAACe,OAAO,KAAK;YACnC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,8BAA8B;gBAC9B,OAAOX;gBACPT;YACJ;YAGJ,OAAOG,OAAO,EAAE;QACpB,EAAE,OAAOkB,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,8BAA8B;gBAC9B,OAAOV;gBACPT;gBACA,OAAOqB;YACX;YAEJ,OAAOlB,OAAO,IAAI,CAACkB;QACvB;IACJ;AACJ;AAEO,MAAMC,wDAA6BC,2BAAAA,oBAAuC,CAAC;IAC9E,gBAAgB/B;IAChB,cAAc;QACVgC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteMultipleEntriesRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DeleteMultipleEntriesStorageOperation } from "../../../features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js";
|
|
4
4
|
import type { CmsModel } from "../../../types/index.js";
|
|
5
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
6
5
|
/**
|
|
7
6
|
* DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.
|
|
8
7
|
*
|
|
@@ -11,10 +10,11 @@ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
|
11
10
|
* - Handle storage errors
|
|
12
11
|
*/
|
|
13
12
|
declare class DeleteMultipleEntriesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
execute(initialModel: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
13
|
+
private deleteMultipleEntriesStorage;
|
|
14
|
+
constructor(deleteMultipleEntriesStorage: DeleteMultipleEntriesStorageOperation.Interface);
|
|
15
|
+
execute(model: CmsModel, entryIds: string[]): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
18
16
|
}
|
|
19
|
-
export declare const DeleteMultipleEntriesRepository:
|
|
17
|
+
export declare const DeleteMultipleEntriesRepository: typeof DeleteMultipleEntriesRepositoryImpl & {
|
|
18
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteMultipleEntriesRepository>;
|
|
19
|
+
};
|
|
20
20
|
export {};
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteMultipleEntriesRepository } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DeleteMultipleEntriesStorageOperation } from "../../shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js";
|
|
4
4
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
5
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
6
5
|
class DeleteMultipleEntriesRepositoryImpl {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.runtimeTenant = runtimeTenant;
|
|
6
|
+
constructor(deleteMultipleEntriesStorage){
|
|
7
|
+
this.deleteMultipleEntriesStorage = deleteMultipleEntriesStorage;
|
|
10
8
|
}
|
|
11
|
-
async execute(
|
|
9
|
+
async execute(model, entryIds) {
|
|
12
10
|
try {
|
|
13
|
-
|
|
14
|
-
await this.storageOperations.entries.deleteMultipleEntries(model, {
|
|
11
|
+
await this.deleteMultipleEntriesStorage.execute(model, {
|
|
15
12
|
entries: entryIds
|
|
16
13
|
});
|
|
17
14
|
return Result.ok();
|
|
@@ -20,12 +17,10 @@ class DeleteMultipleEntriesRepositoryImpl {
|
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
}
|
|
23
|
-
const DeleteMultipleEntriesRepository_DeleteMultipleEntriesRepository = createImplementation({
|
|
24
|
-
abstraction: DeleteMultipleEntriesRepository,
|
|
20
|
+
const DeleteMultipleEntriesRepository_DeleteMultipleEntriesRepository = DeleteMultipleEntriesRepository.createImplementation({
|
|
25
21
|
implementation: DeleteMultipleEntriesRepositoryImpl,
|
|
26
22
|
dependencies: [
|
|
27
|
-
|
|
28
|
-
RuntimeTenant
|
|
23
|
+
DeleteMultipleEntriesStorageOperation
|
|
29
24
|
]
|
|
30
25
|
});
|
|
31
26
|
export { DeleteMultipleEntriesRepository_DeleteMultipleEntriesRepository as DeleteMultipleEntriesRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js","sources":["../../../../src/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js","sources":["../../../../src/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteMultipleEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { DeleteMultipleEntriesStorageOperation } from \"~/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries.\n *\n * Responsibilities:\n * - Call storage operation to delete multiple entries\n * - Handle storage errors\n */\nclass DeleteMultipleEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private deleteMultipleEntriesStorage: DeleteMultipleEntriesStorageOperation.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n entryIds: string[]\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.deleteMultipleEntriesStorage.execute(model, {\n entries: entryIds\n });\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const DeleteMultipleEntriesRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteMultipleEntriesRepositoryImpl,\n dependencies: [DeleteMultipleEntriesStorageOperation]\n});\n"],"names":["DeleteMultipleEntriesRepositoryImpl","deleteMultipleEntriesStorage","model","entryIds","Result","error","EntryPersistenceError","DeleteMultipleEntriesRepository","RepositoryAbstraction","DeleteMultipleEntriesStorageOperation"],"mappings":";;;;AAaA,MAAMA;IACF,YACYC,4BAA6E,CACvF;aADUA,4BAA4B,GAA5BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAkB,EACgC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAACD,OAAO;gBACnD,SAASC;YACb;YACA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,kEAAkCC,gCAAAA,oBAA0C,CAAC;IACtF,gBAAgBR;IAChB,cAAc;QAACS;KAAsC;AACzD"}
|