@webiny/api-headless-cms 6.4.5 → 6.6.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +192 -0
- package/HeadlessCmsFeature.js.map +1 -0
- package/createCmsRoute.d.ts +21 -0
- package/createCmsRoute.js +49 -0
- package/createCmsRoute.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +2 -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.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 +6 -6
- package/domain/contentModel/schemas.js +1 -1
- 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/storage.d.ts +0 -1
- package/exports/api/cms/storage.js +0 -1
- package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +6 -4
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +7 -8
- 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 -4
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +7 -8
- 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 -4
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js +7 -8
- 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 +8 -4
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +11 -9
- 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 +6 -4
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +7 -8
- 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 +6 -4
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +7 -8
- 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/ContentModelFeature.js +2 -0
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +4 -3
- package/features/contentModel/CreateModel/CreateModelRepository.js +6 -5
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +4 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +6 -5
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +3 -3
- package/features/contentModel/DeleteModel/DeleteModelRepository.js +5 -5
- 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/UpdateModel/UpdateModelRepository.d.ts +6 -3
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +11 -7
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +51 -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 +8 -4
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +13 -11
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +2 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +8 -4
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +11 -9
- 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 +6 -4
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +7 -8
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -3
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.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/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
- package/features/graphql/fields/base/RefToGraphQL.js +3 -1
- 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/fields/BaseFieldBuilder.d.ts +1 -3
- package/features/modelBuilder/fields/BaseFieldBuilder.js +0 -4
- package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +12 -18
- package/features/modelBuilder/fields/DataFieldBuilder.js +1 -2
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +3 -8
- 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/UiAlertFieldType.js +1 -2
- package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiSeparatorFieldType.js +1 -2
- package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
- package/features/modelBuilder/fields/UiTabsFieldType.d.ts +1 -2
- package/features/modelBuilder/fields/UiTabsFieldType.js +3 -6
- package/features/modelBuilder/fields/UiTabsFieldType.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/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 +2 -2
- package/graphql/schema/cms/getEntryResolver.js.map +1 -1
- 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/transformWhereToNested.js +17 -39
- package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.js +2 -2
- 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/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 +1 -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 +1 -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 +37 -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 +22 -27
- 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/index.d.ts +0 -1
- package/plugins/index.js +0 -1
- package/types/fields/dynamicZoneField.d.ts +2 -2
- package/types/modelField.d.ts +1 -1
- 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/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/GetSingletonEntry/GetSingletonEntryUseCase.js","sources":["../../../../src/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSingletonEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"~/constants.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\n\n/**\n * GetSingletonEntryUseCase - Gets the singleton entry for a model.\n *\n * Responsibilities:\n * - Validate model is marked as singleton\n * - Generate singleton entry ID from model ID\n * - Try to get existing entry\n * - If not found, create a new entry with skipValidators: [\"required\"]\n * - Delegate to generic GetEntry and CreateEntry use cases\n */\nclass GetSingletonEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private createEntry: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Validate model is marked as singleton\n if (!model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {\n return Result.fail(new EntryValidationError(\"Model is not marked as singleton.\"));\n }\n\n // Generate singleton entry ID from model ID\n const id = createCacheKey(model.modelId);\n const entryId = `${id}#0001`;\n\n // Try to get existing entry\n const getResult = await this.getEntryById.execute<T>(model, entryId);\n\n if (getResult.isOk()) {\n return getResult;\n }\n\n // Entry doesn't exist, create it\n return await this.createEntry.execute<T>(\n model,\n {\n id,\n values: {\n // safe to cast\n } as T\n },\n {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js","sources":["../../../../src/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSingletonEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"~/constants.js\";\nimport { EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\n\n/**\n * GetSingletonEntryUseCase - Gets the singleton entry for a model.\n *\n * Responsibilities:\n * - Validate model is marked as singleton\n * - Generate singleton entry ID from model ID\n * - Try to get existing entry\n * - If not found, create a new entry with skipValidators: [\"required\"]\n * - Delegate to generic GetEntry and CreateEntry use cases\n */\nclass GetSingletonEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private createEntry: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Validate model is marked as singleton\n if (!model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {\n return Result.fail(new EntryValidationError(\"Model is not marked as singleton.\"));\n }\n\n // Generate singleton entry ID from model ID\n const id = createCacheKey(model.modelId);\n const entryId = `${id}#0001`;\n\n // Try to get existing entry\n const getResult = await this.getEntryById.execute<T>(model, entryId);\n\n if (getResult.isOk()) {\n return getResult;\n }\n\n // Entry doesn't exist, create it\n return await this.createEntry.execute<T>(\n model,\n {\n id,\n values: {\n // safe to cast\n } as T\n },\n { skipValidation: true }\n );\n }\n}\n\nexport const GetSingletonEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSingletonEntryUseCaseImpl,\n dependencies: [GetEntryByIdUseCase, CreateEntryUseCase]\n});\n"],"names":["GetSingletonEntryUseCaseImpl","getEntryById","createEntry","model","CMS_MODEL_SINGLETON_TAG","Result","EntryValidationError","id","createCacheKey","entryId","getResult","GetSingletonEntryUseCase","UseCaseAbstraction","GetEntryByIdUseCase","CreateEntryUseCase"],"mappings":";;;;;;;AAmBA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,WAAyC,CACnD;aAFUD,YAAY,GAAZA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QACFC,KAAe,EACuC;QAEtD,IAAI,CAACA,MAAM,IAAI,EAAE,SAASC,0BACtB,OAAOC,OAAO,IAAI,CAAC,IAAIC,qBAAqB;QAIhD,MAAMC,KAAKC,eAAeL,MAAM,OAAO;QACvC,MAAMM,UAAU,GAAGF,GAAG,KAAK,CAAC;QAG5B,MAAMG,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAIP,OAAOM;QAE5D,IAAIC,UAAU,IAAI,IACd,OAAOA;QAIX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CACjCP,OACA;YACII;YACA,QAAQ,CAER;QACJ,GACA;YAAE,gBAAgB;QAAK;IAE/B;AACJ;AAEO,MAAMI,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBZ;IAChB,cAAc;QAACa;QAAqBC;KAAmB;AAC3D"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetUniqueFieldValuesRepository as RepositoryAbstraction, GetUniqueFieldValuesParams } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { GetUniqueFieldValuesStorageOperation } from "../../../features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js";
|
|
4
4
|
import type { CmsModel, CmsEntryUniqueValue } from "../../../types/index.js";
|
|
5
5
|
declare class GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
6
|
-
private
|
|
7
|
-
constructor(
|
|
6
|
+
private getUniqueFieldValuesStorage;
|
|
7
|
+
constructor(getUniqueFieldValuesStorage: GetUniqueFieldValuesStorageOperation.Interface);
|
|
8
8
|
execute(model: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>>;
|
|
9
9
|
}
|
|
10
|
-
export declare const GetUniqueFieldValuesRepository:
|
|
10
|
+
export declare const GetUniqueFieldValuesRepository: typeof GetUniqueFieldValuesRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetUniqueFieldValuesRepository>;
|
|
12
|
+
};
|
|
11
13
|
export {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetUniqueFieldValuesRepository } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { GetUniqueFieldValuesStorageOperation } from "../../shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js";
|
|
4
4
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
5
5
|
class GetUniqueFieldValuesRepositoryImpl {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
6
|
+
constructor(getUniqueFieldValuesStorage){
|
|
7
|
+
this.getUniqueFieldValuesStorage = getUniqueFieldValuesStorage;
|
|
8
8
|
}
|
|
9
9
|
async execute(model, params) {
|
|
10
10
|
const { where, fieldId } = params;
|
|
11
11
|
try {
|
|
12
|
-
const values = await this.
|
|
12
|
+
const values = await this.getUniqueFieldValuesStorage.execute(model, {
|
|
13
13
|
where,
|
|
14
14
|
fieldId
|
|
15
15
|
});
|
|
@@ -19,11 +19,10 @@ class GetUniqueFieldValuesRepositoryImpl {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
const GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository = createImplementation({
|
|
23
|
-
abstraction: GetUniqueFieldValuesRepository,
|
|
22
|
+
const GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository = GetUniqueFieldValuesRepository.createImplementation({
|
|
24
23
|
implementation: GetUniqueFieldValuesRepositoryImpl,
|
|
25
24
|
dependencies: [
|
|
26
|
-
|
|
25
|
+
GetUniqueFieldValuesStorageOperation
|
|
27
26
|
]
|
|
28
27
|
});
|
|
29
28
|
export { GetUniqueFieldValuesRepository_GetUniqueFieldValuesRepository as GetUniqueFieldValuesRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesRepository as RepositoryAbstraction,\n GetUniqueFieldValuesParams\n} from \"./abstractions.js\";\nimport { GetUniqueFieldValuesStorageOperation } from \"~/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsModel, CmsEntryUniqueValue } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private getUniqueFieldValuesStorage: GetUniqueFieldValuesStorageOperation.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], RepositoryAbstraction.Error>> {\n const { where, fieldId } = params;\n\n try {\n const values = await this.getUniqueFieldValuesStorage.execute(model, {\n where,\n fieldId\n });\n\n return Result.ok(values);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const GetUniqueFieldValuesRepository = RepositoryAbstraction.createImplementation({\n implementation: GetUniqueFieldValuesRepositoryImpl,\n dependencies: [GetUniqueFieldValuesStorageOperation]\n});\n"],"names":["GetUniqueFieldValuesRepositoryImpl","getUniqueFieldValuesStorage","model","params","where","fieldId","values","Result","error","EntryPersistenceError","GetUniqueFieldValuesRepository","RepositoryAbstraction","GetUniqueFieldValuesStorageOperation"],"mappings":";;;;AASA,MAAMA;IACF,YACYC,2BAA2E,CACrF;aADUA,2BAA2B,GAA3BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAkC,EACiC;QACnE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAE,GAAGF;QAE3B,IAAI;YACA,MAAMG,SAAS,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAACJ,OAAO;gBACjEE;gBACAC;YACJ;YAEA,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,gEAAiCC,+BAAAA,oBAA0C,CAAC;IACrF,gBAAgBX;IAChB,cAAc;QAACY;KAAqC;AACxD"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetUniqueFieldValuesParams, GetUniqueFieldValuesRepository, GetUniqueFieldValuesUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
3
|
import { AccessControl, CmsContext } from "../../../features/shared/abstractions.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
4
5
|
import type { CmsEntryUniqueValue, CmsModel } from "../../../types/index.js";
|
|
5
6
|
declare class GetUniqueFieldValuesUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
7
|
private repository;
|
|
7
8
|
private accessControl;
|
|
8
9
|
private cmsContext;
|
|
9
|
-
|
|
10
|
+
private identityContext;
|
|
11
|
+
constructor(repository: GetUniqueFieldValuesRepository.Interface, accessControl: AccessControl.Interface, cmsContext: CmsContext.Interface, identityContext: IdentityContext.Interface);
|
|
10
12
|
execute(model: CmsModel, params: GetUniqueFieldValuesParams): Promise<Result<CmsEntryUniqueValue[], UseCaseAbstraction.Error>>;
|
|
11
13
|
}
|
|
12
|
-
export declare const GetUniqueFieldValuesUseCase:
|
|
14
|
+
export declare const GetUniqueFieldValuesUseCase: typeof GetUniqueFieldValuesUseCaseImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetUniqueFieldValuesUseCase>;
|
|
16
|
+
};
|
|
13
17
|
export {};
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetUniqueFieldValuesRepository, GetUniqueFieldValuesUseCase } from "./abstractions.js";
|
|
3
3
|
import { AccessControl, CmsContext } from "../../shared/abstractions.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
|
|
4
5
|
import { EntryNotAuthorizedError } from "../../../domain/contentEntry/errors.js";
|
|
5
6
|
import { FieldNotSearchableError, InvalidWhereConditionError } from "./errors.js";
|
|
6
7
|
import { getSearchableFields } from "../../../crud/contentEntry/searchableFields.js";
|
|
7
8
|
class GetUniqueFieldValuesUseCaseImpl {
|
|
8
|
-
constructor(repository, accessControl, cmsContext){
|
|
9
|
+
constructor(repository, accessControl, cmsContext, identityContext){
|
|
9
10
|
this.repository = repository;
|
|
10
11
|
this.accessControl = accessControl;
|
|
11
12
|
this.cmsContext = cmsContext;
|
|
13
|
+
this.identityContext = identityContext;
|
|
12
14
|
}
|
|
13
15
|
async execute(model, params) {
|
|
14
16
|
const canAccess = await this.accessControl.canAccessEntry({
|
|
@@ -23,7 +25,7 @@ class GetUniqueFieldValuesUseCaseImpl {
|
|
|
23
25
|
model
|
|
24
26
|
});
|
|
25
27
|
if (canAccessOnlyOwned) {
|
|
26
|
-
const identity = this.
|
|
28
|
+
const identity = this.identityContext.getIdentity();
|
|
27
29
|
where.createdBy = identity.id;
|
|
28
30
|
}
|
|
29
31
|
if (where.latest && where.published) return Result.fail(new InvalidWhereConditionError("Cannot list entries that are both published and latest.", where));
|
|
@@ -42,13 +44,13 @@ class GetUniqueFieldValuesUseCaseImpl {
|
|
|
42
44
|
return Result.ok(result.value);
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
|
-
const GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase = createImplementation({
|
|
46
|
-
abstraction: GetUniqueFieldValuesUseCase,
|
|
47
|
+
const GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase = GetUniqueFieldValuesUseCase.createImplementation({
|
|
47
48
|
implementation: GetUniqueFieldValuesUseCaseImpl,
|
|
48
49
|
dependencies: [
|
|
49
50
|
GetUniqueFieldValuesRepository,
|
|
50
51
|
AccessControl,
|
|
51
|
-
CmsContext
|
|
52
|
+
CmsContext,
|
|
53
|
+
IdentityContext
|
|
52
54
|
]
|
|
53
55
|
});
|
|
54
56
|
export { GetUniqueFieldValuesUseCase_GetUniqueFieldValuesUseCase as GetUniqueFieldValuesUseCase };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js","sources":["../../../../src/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetUniqueFieldValuesParams,\n GetUniqueFieldValuesRepository,\n GetUniqueFieldValuesUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl, CmsContext } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { FieldNotSearchableError, InvalidWhereConditionError } from \"./errors.js\";\nimport { getSearchableFields } from \"~/crud/contentEntry/searchableFields.js\";\nimport type { CmsEntryUniqueValue, CmsModel } from \"~/types/index.js\";\n\nclass GetUniqueFieldValuesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: GetUniqueFieldValuesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private cmsContext: CmsContext.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ): Promise<Result<CmsEntryUniqueValue[], UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(\n new EntryNotAuthorizedError(`Not allowed to access \"${model.modelId}\" entries.`)\n );\n }\n\n const { where: initialWhere, fieldId } = params;\n\n const where = {\n ...initialWhere\n };\n\n // Apply ownership filter if needed\n const canAccessOnlyOwned = await this.accessControl.canAccessOnlyOwnedEntries({ model });\n if (canAccessOnlyOwned) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n // Validate where conditions\n if (where.latest && where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries that are both published and latest.\",\n where\n )\n );\n }\n\n if (!where.latest && !where.published) {\n return Result.fail(\n new InvalidWhereConditionError(\n \"Cannot list entries if we do not have latest or published defined.\",\n where\n )\n );\n }\n\n // Verify the field is searchable\n const searchableFields = getSearchableFields({\n fields: model.fields,\n context: this.cmsContext,\n input: []\n });\n\n if (!searchableFields.includes(`values.${fieldId}`)) {\n return Result.fail(new FieldNotSearchableError(fieldId));\n }\n\n // Execute repository call\n const result = await this.repository.execute(model, {\n where,\n fieldId\n });\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const GetUniqueFieldValuesUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetUniqueFieldValuesUseCaseImpl,\n dependencies: [GetUniqueFieldValuesRepository, AccessControl, CmsContext, IdentityContext]\n});\n"],"names":["GetUniqueFieldValuesUseCaseImpl","repository","accessControl","cmsContext","identityContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","fieldId","where","canAccessOnlyOwned","identity","InvalidWhereConditionError","searchableFields","getSearchableFields","FieldNotSearchableError","result","GetUniqueFieldValuesUseCase","UseCaseAbstraction","GetUniqueFieldValuesRepository","AccessControl","CmsContext","IdentityContext"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,UAAoD,EACpDC,aAAsC,EACtCC,UAAgC,EAChCC,eAA0C,CACpD;aAJUH,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,UAAU,GAAVA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAAkC,EAC8B;QAChE,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CACd,IAAIC,wBAAwB,CAAC,uBAAuB,EAAEJ,MAAM,OAAO,CAAC,UAAU,CAAC;QAIvF,MAAM,EAAE,OAAOK,YAAY,EAAEC,OAAO,EAAE,GAAGL;QAEzC,MAAMM,QAAQ;YACV,GAAGF,YAAY;QACnB;QAGA,MAAMG,qBAAqB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAER;QAAM;QACtF,IAAIQ,oBAAoB;YACpB,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;YACjDF,MAAM,SAAS,GAAGE,SAAS,EAAE;QACjC;QAGA,IAAIF,MAAM,MAAM,IAAIA,MAAM,SAAS,EAC/B,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,2DACAH;QAKZ,IAAI,CAACA,MAAM,MAAM,IAAI,CAACA,MAAM,SAAS,EACjC,OAAOJ,OAAO,IAAI,CACd,IAAIO,2BACA,sEACAH;QAMZ,MAAMI,mBAAmBC,oBAAoB;YACzC,QAAQZ,MAAM,MAAM;YACpB,SAAS,IAAI,CAAC,UAAU;YACxB,OAAO,EAAE;QACb;QAEA,IAAI,CAACW,iBAAiB,QAAQ,CAAC,CAAC,OAAO,EAAEL,SAAS,GAC9C,OAAOH,OAAO,IAAI,CAAC,IAAIU,wBAAwBP;QAInD,MAAMQ,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACd,OAAO;YAChDO;YACAD;QACJ;QACA,IAAIQ,OAAO,MAAM,IACb,OAAOX,OAAO,IAAI,CAACW,OAAO,KAAK;QAGnC,OAAOX,OAAO,EAAE,CAACW,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,0DAA8BC,4BAAAA,oBAAuC,CAAC;IAC/E,gBAAgBrB;IAChB,cAAc;QAACsB;QAAgCC;QAAeC;QAAYC;KAAgB;AAC9F"}
|
|
@@ -10,5 +10,7 @@ declare class ListDeletedEntriesUseCaseImpl implements UseCaseAbstraction.Interf
|
|
|
10
10
|
constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
|
|
11
11
|
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
|
|
12
12
|
}
|
|
13
|
-
export declare const ListDeletedEntriesUseCase:
|
|
13
|
+
export declare const ListDeletedEntriesUseCase: typeof ListDeletedEntriesUseCaseImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListDeletedEntriesUseCase>;
|
|
15
|
+
};
|
|
14
16
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createImplementation } from "@webiny/feature/api";
|
|
2
1
|
import { ListDeletedEntriesUseCase, ListEntriesUseCase } from "./abstractions.js";
|
|
3
2
|
class ListDeletedEntriesUseCaseImpl {
|
|
4
3
|
constructor(listEntriesUseCase){
|
|
@@ -16,8 +15,7 @@ class ListDeletedEntriesUseCaseImpl {
|
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
|
-
const ListDeletedEntriesUseCase_ListDeletedEntriesUseCase = createImplementation({
|
|
20
|
-
abstraction: ListDeletedEntriesUseCase,
|
|
18
|
+
const ListDeletedEntriesUseCase_ListDeletedEntriesUseCase = ListDeletedEntriesUseCase.createImplementation({
|
|
21
19
|
implementation: ListDeletedEntriesUseCaseImpl,
|
|
22
20
|
dependencies: [
|
|
23
21
|
ListEntriesUseCase
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.ts"],"sourcesContent":["import { ListDeletedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListDeletedEntriesUseCase - Lists deleted entries for manage API.\n * Delegates to base ListEntriesUseCase with latest: true and wbyDeleted: true filters.\n */\nclass ListDeletedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add latest: true and wbyDeleted: true filters\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted: true\n }\n });\n }\n}\n\nexport const ListDeletedEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListDeletedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListDeletedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListDeletedEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAQA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,YAAY;YAChB;QACJ;IACJ;AACJ;AAEO,MAAME,sDAA4BC,0BAAAA,oBAAuC,CAAC;IAC7E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ListEntriesRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
2
|
import type { CmsEntryListParams, CmsEntryValues, CmsModel } from "../../../types/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { ListEntriesStorageOperation } from "../../../features/shared/storageOperations/entry/ListEntriesStorageOperation.js";
|
|
4
4
|
import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
|
|
5
5
|
/**
|
|
6
6
|
* ListEntriesRepository - Fetches entries from storage and transforms them.
|
|
@@ -9,9 +9,11 @@ import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../le
|
|
|
9
9
|
declare class ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
10
10
|
private searchableFieldsProvider;
|
|
11
11
|
private entryFromStorageTransform;
|
|
12
|
-
private
|
|
13
|
-
constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface,
|
|
12
|
+
private listEntriesStorage;
|
|
13
|
+
constructor(searchableFieldsProvider: SearchableFieldsProvider.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, listEntriesStorage: ListEntriesStorageOperation.Interface);
|
|
14
14
|
execute<T extends CmsEntryValues>(model: CmsModel, params: CmsEntryListParams): RepositoryAbstraction.Return<T>;
|
|
15
15
|
}
|
|
16
|
-
export declare const ListEntriesRepository:
|
|
16
|
+
export declare const ListEntriesRepository: typeof ListEntriesRepositoryImpl & {
|
|
17
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListEntriesRepository>;
|
|
18
|
+
};
|
|
17
19
|
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { ListEntriesRepository } from "./abstractions.js";
|
|
3
3
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ListEntriesStorageOperation } from "../../shared/storageOperations/entry/ListEntriesStorageOperation.js";
|
|
5
5
|
import { EntryFromStorageTransform, SearchableFieldsProvider } from "../../../legacy/abstractions.js";
|
|
6
6
|
class ListEntriesRepositoryImpl {
|
|
7
|
-
constructor(searchableFieldsProvider, entryFromStorageTransform,
|
|
7
|
+
constructor(searchableFieldsProvider, entryFromStorageTransform, listEntriesStorage){
|
|
8
8
|
this.searchableFieldsProvider = searchableFieldsProvider;
|
|
9
9
|
this.entryFromStorageTransform = entryFromStorageTransform;
|
|
10
|
-
this.
|
|
10
|
+
this.listEntriesStorage = listEntriesStorage;
|
|
11
11
|
}
|
|
12
12
|
async execute(model, params) {
|
|
13
13
|
try {
|
|
@@ -31,7 +31,7 @@ class ListEntriesRepositoryImpl {
|
|
|
31
31
|
};
|
|
32
32
|
let result;
|
|
33
33
|
try {
|
|
34
|
-
result = await this.
|
|
34
|
+
result = await this.listEntriesStorage.execute(model, listParams);
|
|
35
35
|
} catch (ex) {
|
|
36
36
|
return Result.fail(ex);
|
|
37
37
|
}
|
|
@@ -50,13 +50,12 @@ class ListEntriesRepositoryImpl {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
const ListEntriesRepository_ListEntriesRepository = createImplementation({
|
|
54
|
-
abstraction: ListEntriesRepository,
|
|
53
|
+
const ListEntriesRepository_ListEntriesRepository = ListEntriesRepository.createImplementation({
|
|
55
54
|
implementation: ListEntriesRepositoryImpl,
|
|
56
55
|
dependencies: [
|
|
57
56
|
SearchableFieldsProvider,
|
|
58
57
|
EntryFromStorageTransform,
|
|
59
|
-
|
|
58
|
+
ListEntriesStorageOperation
|
|
60
59
|
]
|
|
61
60
|
});
|
|
62
61
|
export { ListEntriesRepository_ListEntriesRepository as ListEntriesRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ListEntries/ListEntriesRepository.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListEntriesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryStorageOperationsListParams,\n CmsEntryStorageOperationsListResponse,\n CmsEntryValues,\n CmsModel,\n CmsStorageEntry\n} from \"~/types/index.js\";\nimport { ListEntriesStorageOperation } from \"~/features/shared/storageOperations/entry/ListEntriesStorageOperation.js\";\nimport { EntryFromStorageTransform, SearchableFieldsProvider } from \"~/legacy/abstractions.js\";\n\n/**\n * ListEntriesRepository - Fetches entries from storage and transforms them.\n * Returns entries with pagination metadata.\n */\nclass ListEntriesRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private searchableFieldsProvider: SearchableFieldsProvider.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private listEntriesStorage: ListEntriesStorageOperation.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): RepositoryAbstraction.Return<T> {\n try {\n const limit = params.limit && params.limit > 0 ? params.limit : 50;\n const sort = params.sort ?? [\"createdOn_DESC\"];\n const where: NonNullable<CmsEntryListParams[\"where\"]> = params.where ?? {};\n\n if (where.location) {\n where.wbyAco_location = where.location;\n delete where.location;\n }\n\n const listParams: CmsEntryStorageOperationsListParams = {\n ...params,\n sort,\n limit,\n where,\n fields: this.searchableFieldsProvider({ fields: model.fields })\n };\n\n let result: CmsEntryStorageOperationsListResponse<CmsStorageEntry<T>> | undefined;\n try {\n result = await this.listEntriesStorage.execute<T>(model, listParams);\n } catch (ex) {\n return Result.fail(ex);\n }\n\n // Transform storage entries to domain entries\n const items = await Promise.all(\n result.items.map(async entry => {\n return this.entryFromStorageTransform(model, entry);\n })\n );\n\n const meta: CmsEntryMeta = {\n hasMoreItems: result.hasMoreItems,\n totalCount: result.totalCount,\n cursor: result.hasMoreItems ? result.cursor : null\n };\n\n return Result.ok({ entries: items, meta });\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const ListEntriesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListEntriesRepositoryImpl,\n dependencies: [SearchableFieldsProvider, EntryFromStorageTransform, ListEntriesStorageOperation]\n});\n"],"names":["ListEntriesRepositoryImpl","searchableFieldsProvider","entryFromStorageTransform","listEntriesStorage","model","params","limit","sort","where","listParams","result","ex","Result","items","Promise","entry","meta","error","EntryPersistenceError","ListEntriesRepository","RepositoryAbstraction","SearchableFieldsProvider","EntryFromStorageTransform","ListEntriesStorageOperation"],"mappings":";;;;;AAmBA,MAAMA;IACF,YACYC,wBAA4D,EAC5DC,yBAA8D,EAC9DC,kBAAyD,CACnE;aAHUF,wBAAwB,GAAxBA;aACAC,yBAAyB,GAAzBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA0B,EACK;QAC/B,IAAI;YACA,MAAMC,QAAQD,OAAO,KAAK,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,GAAG;YAChE,MAAME,OAAOF,OAAO,IAAI,IAAI;gBAAC;aAAiB;YAC9C,MAAMG,QAAkDH,OAAO,KAAK,IAAI,CAAC;YAEzE,IAAIG,MAAM,QAAQ,EAAE;gBAChBA,MAAM,eAAe,GAAGA,MAAM,QAAQ;gBACtC,OAAOA,MAAM,QAAQ;YACzB;YAEA,MAAMC,aAAkD;gBACpD,GAAGJ,MAAM;gBACTE;gBACAD;gBACAE;gBACA,QAAQ,IAAI,CAAC,wBAAwB,CAAC;oBAAE,QAAQJ,MAAM,MAAM;gBAAC;YACjE;YAEA,IAAIM;YACJ,IAAI;gBACAA,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAIN,OAAOK;YAC7D,EAAE,OAAOE,IAAI;gBACT,OAAOC,OAAO,IAAI,CAACD;YACvB;YAGA,MAAME,QAAQ,MAAMC,QAAQ,GAAG,CAC3BJ,OAAO,KAAK,CAAC,GAAG,CAAC,OAAMK,QACZ,IAAI,CAAC,yBAAyB,CAACX,OAAOW;YAIrD,MAAMC,OAAqB;gBACvB,cAAcN,OAAO,YAAY;gBACjC,YAAYA,OAAO,UAAU;gBAC7B,QAAQA,OAAO,YAAY,GAAGA,OAAO,MAAM,GAAG;YAClD;YAEA,OAAOE,OAAO,EAAE,CAAC;gBAAE,SAASC;gBAAOG;YAAK;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAAC,IAAIM,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBpB;IAChB,cAAc;QAACqB;QAA0BC;QAA2BC;KAA4B;AACpG"}
|
|
@@ -18,5 +18,7 @@ declare class ListEntriesUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
|
18
18
|
constructor(repository: ListEntriesRepository.Interface, accessControl: AccessControl.Interface, identityContext: IdentityContext.Interface);
|
|
19
19
|
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
|
|
20
20
|
}
|
|
21
|
-
export declare const ListEntriesUseCase:
|
|
21
|
+
export declare const ListEntriesUseCase: typeof ListEntriesUseCaseImpl & {
|
|
22
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListEntriesUseCase>;
|
|
23
|
+
};
|
|
22
24
|
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 { ListEntriesRepository, ListEntriesUseCase } from "./abstractions.js";
|
|
4
4
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
@@ -29,8 +29,7 @@ class ListEntriesUseCaseImpl {
|
|
|
29
29
|
return Result.ok(result.value);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const ListEntriesUseCase_ListEntriesUseCase = createImplementation({
|
|
33
|
-
abstraction: ListEntriesUseCase,
|
|
32
|
+
const ListEntriesUseCase_ListEntriesUseCase = ListEntriesUseCase.createImplementation({
|
|
34
33
|
implementation: ListEntriesUseCaseImpl,
|
|
35
34
|
dependencies: [
|
|
36
35
|
ListEntriesRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ListEntries/ListEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ListEntries/ListEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListEntriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { ListEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * ListEntriesUseCase - Base use case for orchestrating entry listing with access control.\n *\n * Responsibilities:\n * - Apply access control\n * - Filter by owner if user can only access own entries\n * - Delegate to repository for data fetching\n */\nclass ListEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: ListEntriesRepository.Interface,\n private accessControl: AccessControl.Interface,\n private identityContext: IdentityContext.Interface\n ) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { where: initialWhere, ...rest } = params || {};\n const where = { ...initialWhere };\n\n // Possibly only get records which are owned by current user\n if (await this.accessControl.canAccessOnlyOwnedEntries({ model })) {\n where.createdBy = this.identityContext.getIdentity().id;\n }\n\n // Delegate to repository\n const result = await this.repository.execute<T>(model, {\n ...rest,\n where\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListEntriesUseCaseImpl,\n dependencies: [ListEntriesRepository, AccessControl, IdentityContext]\n});\n"],"names":["ListEntriesUseCaseImpl","repository","accessControl","identityContext","model","params","canAccess","Result","EntryNotAuthorizedError","initialWhere","rest","where","result","ListEntriesUseCase","UseCaseAbstraction","ListEntriesRepository","AccessControl","IdentityContext"],"mappings":";;;;;AAgBA,MAAMA;IACF,YACYC,UAA2C,EAC3CC,aAAsC,EACtCC,eAA0C,CACpD;aAHUF,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAE5B,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEF;QAAM;QAClE,IAAI,CAACE,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACJ;QAGzD,MAAM,EAAE,OAAOK,YAAY,EAAE,GAAGC,MAAM,GAAGL,UAAU,CAAC;QACpD,MAAMM,QAAQ;YAAE,GAAGF,YAAY;QAAC;QAGhC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAAEL;QAAM,IAC3DO,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,EAAE;QAI3D,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIR,OAAO;YACnD,GAAGM,IAAI;YACPC;QACJ;QAEA,IAAIC,OAAO,MAAM,IACb,OAAOL,OAAO,IAAI,CAACK,OAAO,KAAK;QAGnC,OAAOL,OAAO,EAAE,CAACK,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBd;IAChB,cAAc;QAACe;QAAuBC;QAAeC;KAAgB;AACzE"}
|
|
@@ -9,5 +9,7 @@ declare class ListLatestEntriesUseCaseImpl implements UseCaseAbstraction.Interfa
|
|
|
9
9
|
constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
|
|
10
10
|
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
|
|
11
11
|
}
|
|
12
|
-
export declare const ListLatestEntriesUseCase:
|
|
12
|
+
export declare const ListLatestEntriesUseCase: typeof ListLatestEntriesUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListLatestEntriesUseCase>;
|
|
14
|
+
};
|
|
13
15
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createImplementation } from "@webiny/feature/api";
|
|
2
1
|
import { ListEntriesUseCase, ListLatestEntriesUseCase } from "./abstractions.js";
|
|
3
2
|
class ListLatestEntriesUseCaseImpl {
|
|
4
3
|
constructor(listEntriesUseCase){
|
|
@@ -19,8 +18,7 @@ class ListLatestEntriesUseCaseImpl {
|
|
|
19
18
|
});
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
|
-
const ListLatestEntriesUseCase_ListLatestEntriesUseCase = createImplementation({
|
|
23
|
-
abstraction: ListLatestEntriesUseCase,
|
|
21
|
+
const ListLatestEntriesUseCase_ListLatestEntriesUseCase = ListLatestEntriesUseCase.createImplementation({
|
|
24
22
|
implementation: ListLatestEntriesUseCaseImpl,
|
|
25
23
|
dependencies: [
|
|
26
24
|
ListEntriesUseCase
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ListEntries/ListLatestEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListLatestEntriesUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ListEntries/ListLatestEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListLatestEntriesUseCase.ts"],"sourcesContent":["import { ListLatestEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * Lists latest entries for manage API (non-deleted).\n */\nclass ListLatestEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n return await this.listEntriesUseCase.execute<T>(model, {\n sort: [\"createdOn_DESC\"],\n ...rest,\n where: {\n ...where,\n latest: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListLatestEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListLatestEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListLatestEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListLatestEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAOA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAEtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,MAAM;gBAAC;aAAiB;YACxB,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,QAAQ;gBACR,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
|
|
@@ -10,5 +10,7 @@ declare class ListPublishedEntriesUseCaseImpl implements UseCaseAbstraction.Inte
|
|
|
10
10
|
constructor(listEntriesUseCase: ListEntriesUseCase.Interface);
|
|
11
11
|
execute<T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams): UseCaseAbstraction.Return<T>;
|
|
12
12
|
}
|
|
13
|
-
export declare const ListPublishedEntriesUseCase:
|
|
13
|
+
export declare const ListPublishedEntriesUseCase: typeof ListPublishedEntriesUseCaseImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListPublishedEntriesUseCase>;
|
|
15
|
+
};
|
|
14
16
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createImplementation } from "@webiny/feature/api";
|
|
2
1
|
import { ListEntriesUseCase, ListPublishedEntriesUseCase } from "./abstractions.js";
|
|
3
2
|
class ListPublishedEntriesUseCaseImpl {
|
|
4
3
|
constructor(listEntriesUseCase){
|
|
@@ -16,8 +15,7 @@ class ListPublishedEntriesUseCaseImpl {
|
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
|
-
const ListPublishedEntriesUseCase_ListPublishedEntriesUseCase = createImplementation({
|
|
20
|
-
abstraction: ListPublishedEntriesUseCase,
|
|
18
|
+
const ListPublishedEntriesUseCase_ListPublishedEntriesUseCase = ListPublishedEntriesUseCase.createImplementation({
|
|
21
19
|
implementation: ListPublishedEntriesUseCaseImpl,
|
|
22
20
|
dependencies: [
|
|
23
21
|
ListEntriesUseCase
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js","sources":["../../../../src/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.ts"],"sourcesContent":["import { ListPublishedEntriesUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListEntriesUseCase } from \"./abstractions.js\";\nimport type { CmsEntryListParams, CmsEntryValues, CmsModel } from \"~/types/index.js\";\n\n/**\n * ListPublishedEntriesUseCase - Lists published entries for read API.\n * Delegates to base ListEntriesUseCase with published: true filter.\n */\nclass ListPublishedEntriesUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private listEntriesUseCase: ListEntriesUseCase.Interface) {}\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): UseCaseAbstraction.Return<T> {\n const { where, ...rest } = params || {};\n\n // Add published: true filter\n return await this.listEntriesUseCase.execute<T>(model, {\n ...rest,\n where: {\n ...where,\n published: true,\n wbyDeleted_not: true\n }\n });\n }\n}\n\nexport const ListPublishedEntriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListPublishedEntriesUseCaseImpl,\n dependencies: [ListEntriesUseCase]\n});\n"],"names":["ListPublishedEntriesUseCaseImpl","listEntriesUseCase","model","params","where","rest","ListPublishedEntriesUseCase","UseCaseAbstraction","ListEntriesUseCase"],"mappings":";AAQA,MAAMA;IACF,YAA2BC,kBAAgD,CAAE;aAAlDA,kBAAkB,GAAlBA;IAAmD;IAE9E,MAAM,QACFC,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,UAAU,CAAC;QAGtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAID,OAAO;YACnD,GAAGG,IAAI;YACP,OAAO;gBACH,GAAGD,KAAK;gBACR,WAAW;gBACX,gBAAgB;YACpB;QACJ;IACJ;AACJ;AAEO,MAAME,0DAA8BC,4BAAAA,oBAAuC,CAAC;IAC/E,gBAAgBP;IAChB,cAAc;QAACQ;KAAmB;AACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { MoveEntryRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { MoveEntryStorageOperation } from "../../../features/shared/storageOperations/entry/MoveEntryStorageOperation.js";
|
|
4
4
|
import type { CmsModel } from "../../../types/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* MoveEntryRepository - Handles storage operations for moving entries.
|
|
@@ -10,9 +10,11 @@ import type { CmsModel } from "../../../types/index.js";
|
|
|
10
10
|
* - Handle storage errors
|
|
11
11
|
*/
|
|
12
12
|
declare class MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
13
|
-
private
|
|
14
|
-
constructor(
|
|
13
|
+
private moveEntryStorage;
|
|
14
|
+
constructor(moveEntryStorage: MoveEntryStorageOperation.Interface);
|
|
15
15
|
execute(model: CmsModel, id: string, folderId: string): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
16
16
|
}
|
|
17
|
-
export declare const MoveEntryRepository:
|
|
17
|
+
export declare const MoveEntryRepository: typeof MoveEntryRepositoryImpl & {
|
|
18
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryRepository>;
|
|
19
|
+
};
|
|
18
20
|
export {};
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { MoveEntryRepository } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { MoveEntryStorageOperation } from "../../shared/storageOperations/entry/MoveEntryStorageOperation.js";
|
|
4
4
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
5
5
|
class MoveEntryRepositoryImpl {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
6
|
+
constructor(moveEntryStorage){
|
|
7
|
+
this.moveEntryStorage = moveEntryStorage;
|
|
8
8
|
}
|
|
9
9
|
async execute(model, id, folderId) {
|
|
10
10
|
try {
|
|
11
|
-
await this.
|
|
11
|
+
await this.moveEntryStorage.execute(model, id, folderId);
|
|
12
12
|
return Result.ok();
|
|
13
13
|
} catch (error) {
|
|
14
14
|
return Result.fail(new EntryPersistenceError(error));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
const MoveEntryRepository_MoveEntryRepository = createImplementation({
|
|
19
|
-
abstraction: MoveEntryRepository,
|
|
18
|
+
const MoveEntryRepository_MoveEntryRepository = MoveEntryRepository.createImplementation({
|
|
20
19
|
implementation: MoveEntryRepositoryImpl,
|
|
21
20
|
dependencies: [
|
|
22
|
-
|
|
21
|
+
MoveEntryStorageOperation
|
|
23
22
|
]
|
|
24
23
|
});
|
|
25
24
|
export { MoveEntryRepository_MoveEntryRepository as MoveEntryRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryRepository.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { MoveEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { MoveEntryStorageOperation } from \"~/features/shared/storageOperations/entry/MoveEntryStorageOperation.js\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryRepository - Handles storage operations for moving entries.\n *\n * Responsibilities:\n * - Call storage operation to move entry to different folder\n * - Handle storage errors\n */\nclass MoveEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(private moveEntryStorage: MoveEntryStorageOperation.Interface) {}\n\n async execute(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n await this.moveEntryStorage.execute(model, id, folderId);\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const MoveEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: MoveEntryRepositoryImpl,\n dependencies: [MoveEntryStorageOperation]\n});\n"],"names":["MoveEntryRepositoryImpl","moveEntryStorage","model","id","folderId","Result","error","EntryPersistenceError","MoveEntryRepository","RepositoryAbstraction","MoveEntryStorageOperation"],"mappings":";;;;AAaA,MAAMA;IACF,YAA2BC,gBAAqD,CAAE;aAAvDA,gBAAgB,GAAhBA;IAAwD;IAEnF,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACkC;QAClD,IAAI;YACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACF,OAAOC,IAAIC;YAC/C,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAA0C,CAAC;IAC1E,gBAAgBT;IAChB,cAAc;QAACU;KAA0B;AAC7C"}
|
|
@@ -23,5 +23,7 @@ declare class MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
|
23
23
|
constructor(repository: MoveEntryRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, eventPublisher: EventPublisher.Interface);
|
|
24
24
|
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, folderId: string): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
|
|
25
25
|
}
|
|
26
|
-
export declare const MoveEntryUseCase:
|
|
26
|
+
export declare const MoveEntryUseCase: typeof MoveEntryUseCaseImpl & {
|
|
27
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveEntryUseCase>;
|
|
28
|
+
};
|
|
27
29
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import { MoveEntryRepository, MoveEntryUseCase } from "./abstractions.js";
|
|
4
4
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
@@ -61,8 +61,7 @@ class MoveEntryUseCaseImpl {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
const MoveEntryUseCase_MoveEntryUseCase = createImplementation({
|
|
65
|
-
abstraction: MoveEntryUseCase,
|
|
64
|
+
const MoveEntryUseCase_MoveEntryUseCase = MoveEntryUseCase.createImplementation({
|
|
66
65
|
implementation: MoveEntryUseCaseImpl,
|
|
67
66
|
dependencies: [
|
|
68
67
|
MoveEntryRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryUseCase.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/MoveEntry/MoveEntryUseCase.js","sources":["../../../../src/features/contentEntry/MoveEntry/MoveEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { MoveEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { MoveEntryRepository } from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryBeforeMoveEvent, EntryAfterMoveEvent, EntryMoveErrorEvent } from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { EntryNotFoundError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * MoveEntryUseCase - Orchestrates moving an entry to a different folder.\n *\n * Responsibilities:\n * - Apply access control\n * - Get the entry to move\n * - Check if entry is already in target folder (early return)\n * - Publish domain events\n * - Delegate to repository for storage operations\n */\nclass MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: MoveEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n // Check access control\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Get the entry to move\n const result = await this.getRevisionById.execute<T>(model, id);\n\n if (result.isFail()) {\n return Result.fail(new EntryNotFoundError(id));\n }\n\n const entry = result.value;\n\n // Check access control on the specific entry\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n // Early return if entry is already in the requested folder\n if (entry.location?.folderId === folderId) {\n return Result.ok(entry);\n }\n\n try {\n // Publish before event\n await this.eventPublisher.publish(\n new EntryBeforeMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n // Delegate to repository\n const moveResult = await this.repository.execute(model, id, folderId);\n\n if (moveResult.isFail()) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: moveResult.error\n })\n );\n return Result.fail(moveResult.error);\n }\n\n // Publish after event\n await this.eventPublisher.publish(\n new EntryAfterMoveEvent({\n entry,\n model,\n folderId\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryMoveErrorEvent({\n entry,\n model,\n folderId,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const MoveEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: MoveEntryUseCaseImpl,\n dependencies: [MoveEntryRepository, AccessControl, GetRevisionByIdUseCase, EventPublisher]\n});\n"],"names":["MoveEntryUseCaseImpl","repository","accessControl","getRevisionById","eventPublisher","model","id","folderId","canAccess","Result","EntryNotAuthorizedError","result","EntryNotFoundError","entry","canAccessEntry","EntryBeforeMoveEvent","moveResult","EntryMoveErrorEvent","EntryAfterMoveEvent","error","MoveEntryUseCase","UseCaseAbstraction","MoveEntryRepository","AccessControl","GetRevisionByIdUseCase","EventPublisher"],"mappings":";;;;;;;AAqBA,MAAMA;IACF,YACYC,UAAyC,EACzCC,aAAsC,EACtCC,eAAiD,EACjDC,cAAwC,CAClD;aAJUH,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,QAAgB,EACsC;QAEtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,MAAMM,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIN,OAAOC;QAE5D,IAAIK,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAAC,IAAIG,mBAAmBN;QAG9C,MAAMO,QAAQF,OAAO,KAAK;QAG1B,MAAMG,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3DT;YACAQ;YACA,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOL,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAIzD,IAAIQ,MAAM,QAAQ,EAAE,aAAaN,UAC7B,OAAOE,OAAO,EAAE,CAACI;QAGrB,IAAI;YAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,qBAAqB;gBACrBF;gBACAR;gBACAE;YACJ;YAIJ,MAAMS,aAAa,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACX,OAAOC,IAAIC;YAE5D,IAAIS,WAAW,MAAM,IAAI;gBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,oBAAoB;oBACpBJ;oBACAR;oBACAE;oBACA,OAAOS,WAAW,KAAK;gBAC3B;gBAEJ,OAAOP,OAAO,IAAI,CAACO,WAAW,KAAK;YACvC;YAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIE,oBAAoB;gBACpBL;gBACAR;gBACAE;YACJ;YAGJ,OAAOE,OAAO,EAAE,CAACI;QACrB,EAAE,OAAOM,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIF,oBAAoB;gBACpBJ;gBACAR;gBACAE;gBACA,OAAOY;YACX;YAEJ,OAAOV,OAAO,IAAI,CAACU;QACvB;IACJ;AACJ;AAEO,MAAMC,oCAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgBrB;IAChB,cAAc;QAACsB;QAAqBC;QAAeC;QAAwBC;KAAe;AAC9F"}
|