@webiny/api-headless-cms 6.4.11 → 6.6.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HeadlessCmsContextualSchema.d.ts +16 -0
- package/HeadlessCmsContextualSchema.js +32 -0
- package/HeadlessCmsContextualSchema.js.map +1 -0
- package/HeadlessCmsEndpointConfig.d.ts +10 -0
- package/HeadlessCmsEndpointConfig.js +5 -0
- package/HeadlessCmsEndpointConfig.js.map +1 -0
- package/HeadlessCmsFeature.d.ts +10 -0
- package/HeadlessCmsFeature.js +195 -0
- package/HeadlessCmsFeature.js.map +1 -0
- package/createCmsRoute.d.ts +26 -0
- package/createCmsRoute.js +59 -0
- package/createCmsRoute.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +29 -15
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/references/validateEntries.d.ts +1 -1
- package/crud/contentEntry/references/validateEntries.js +17 -7
- package/crud/contentEntry/references/validateEntries.js.map +1 -1
- package/crud/contentEntry.crud.js +22 -20
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/defaultFields.js +3 -2
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel.crud.js +8 -6
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup.crud.js +7 -5
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +2 -0
- package/domain/contentModel/schemas.js +4 -2
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModel/validation/modelFields.js +21 -15
- package/domain/contentModel/validation/modelFields.js.map +1 -1
- package/export/abstractions.d.ts +9 -0
- package/export/abstractions.js +6 -0
- package/export/abstractions.js.map +1 -0
- package/export/crud/exporting.js +8 -2
- package/export/crud/exporting.js.map +1 -1
- package/export/crud/importing.js +13 -4
- package/export/crud/importing.js.map +1 -1
- package/export/crud/imports/importGroups.js +23 -23
- package/export/crud/imports/importGroups.js.map +1 -1
- package/export/crud/imports/importModels.js +25 -22
- package/export/crud/imports/importModels.js.map +1 -1
- package/export/graphql/index.d.ts +2 -3
- package/export/graphql/index.js +6 -10
- package/export/graphql/index.js.map +1 -1
- package/exports/api/cms/model.d.ts +4 -1
- package/exports/api/cms/model.js +2 -0
- package/exports/api/cms/storage.d.ts +0 -1
- package/exports/api/cms/storage.js +0 -1
- package/features/ai/DescribeContentModelTool.d.ts +55 -0
- package/features/ai/DescribeContentModelTool.js +60 -0
- package/features/ai/DescribeContentModelTool.js.map +1 -0
- package/features/ai/ListContentModelsTool.d.ts +41 -0
- package/features/ai/ListContentModelsTool.js +44 -0
- package/features/ai/ListContentModelsTool.js.map +1 -0
- package/features/ai/QueryEntriesTool.d.ts +75 -0
- package/features/ai/QueryEntriesTool.js +90 -0
- package/features/ai/QueryEntriesTool.js.map +1 -0
- package/features/ai/feature.d.ts +8 -0
- package/features/ai/feature.js +15 -0
- package/features/ai/feature.js.map +1 -0
- package/features/ai/index.d.ts +4 -0
- package/features/ai/index.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js +0 -2
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
- package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
- package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
- package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
- package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
- package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
- package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
- package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
- package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
- package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
- package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
- package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
- package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
- package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
- package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
- package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
- package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
- package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
- package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
- package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
- package/features/contentModel/ComponentMapGenerator/index.js +2 -0
- package/features/contentModel/ContentModelFeature.js +6 -0
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
- package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
- package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
- package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
- package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
- package/features/contentModel/RefModelsGenerator/feature.js +11 -0
- package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
- package/features/contentModel/RefModelsGenerator/index.js +2 -0
- package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
- package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
- package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
- package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
- package/features/contentModel/shared/ModelsFetcher.js +5 -5
- package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
- package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
- package/features/contentModel/shared/PluginModelsProvider.js +11 -8
- package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
- package/features/contentModel/shared/abstractions.d.ts +10 -0
- package/features/contentModel/shared/abstractions.js +2 -1
- package/features/contentModel/shared/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
- package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
- package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
- package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
- package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
- package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
- package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
- package/features/contentModelGroup/shared/abstractions.js +2 -1
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/graphql/feature.js +2 -0
- package/features/graphql/feature.js.map +1 -1
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
- package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
- package/features/graphql/fields/base/RefToGraphQL.js +10 -18
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
- package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +10 -0
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/feature.js +2 -0
- package/features/modelBuilder/feature.js.map +1 -1
- package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
- package/features/modelBuilder/fields/AssetFieldType.js +46 -0
- package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
- package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
- package/features/modelBuilder/fields/TextFieldType.js +1 -3
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
- package/features/modelBuilder/index.d.ts +1 -1
- package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
- package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
- package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
- package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
- package/features/shared/abstractions.d.ts +11 -15
- package/features/shared/abstractions.js +3 -3
- package/features/shared/abstractions.js.map +1 -1
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
- package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
- package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/index.d.ts +32 -0
- package/features/shared/storageOperations/index.js +32 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
- package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
- package/features/sortMapper/SortMapper.js +2 -5
- package/features/sortMapper/SortMapper.js.map +1 -1
- package/features/whereMapper/WhereMapper.js +7 -5
- package/features/whereMapper/WhereMapper.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/abstractions.d.ts +14 -0
- package/fieldConverters/abstractions.js +13 -0
- package/fieldConverters/abstractions.js.map +1 -0
- package/fieldConverters/index.d.ts +1 -1
- package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
- package/graphql/CmsGraphQLSchemaFactory.js +5 -0
- package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
- package/graphql/CmsSchemaExecutor.d.ts +10 -0
- package/graphql/CmsSchemaExecutor.js +5 -0
- package/graphql/CmsSchemaExecutor.js.map +1 -0
- package/graphql/buildSchemaPlugins.d.ts +2 -1
- package/graphql/buildSchemaPlugins.js +1 -3
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.js +5 -2
- package/graphql/checkEndpointAccess.js.map +1 -1
- package/graphql/createExecutableSchema.d.ts +1 -1
- package/graphql/createExecutableSchema.js +1 -1
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/generateSchema.d.ts +2 -1
- package/graphql/generateSchema.js +14 -5
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema.js +7 -2
- package/graphql/getSchema.js.map +1 -1
- package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
- package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
- package/graphql/schema/baseContentSchema.d.ts +1 -6
- package/graphql/schema/baseContentSchema.js +5 -8
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -2
- package/graphql/schema/baseSchema.js +6 -41
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
- package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
- package/graphql/schema/cms/createEntryResolver.js +2 -2
- package/graphql/schema/cms/createEntryResolver.js.map +1 -1
- package/graphql/schema/cms/deleteEntryResolver.js +2 -2
- package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getEntryResolver.js +5 -4
- package/graphql/schema/cms/getEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getModelResolver.d.ts +35 -0
- package/graphql/schema/cms/getModelResolver.js +49 -0
- package/graphql/schema/cms/getModelResolver.js.map +1 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
- package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
- package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
- package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
- package/graphql/schema/cms/helpers/getModel.js +5 -3
- package/graphql/schema/cms/helpers/getModel.js.map +1 -1
- package/graphql/schema/cms/helpers/index.d.ts +1 -0
- package/graphql/schema/cms/helpers/index.js +1 -0
- package/graphql/schema/cms/helpers.d.ts +1 -0
- package/graphql/schema/cms/helpers.js +1 -0
- package/graphql/schema/cms/listEntriesResolver.js +5 -4
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/publishEntryResolver.js +2 -2
- package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
- package/graphql/schema/cms/resolvers/createEntry.js +1 -1
- package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
- package/graphql/schema/cms/resolvers/getEntry.js +1 -1
- package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
- package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
- package/graphql/schema/cms/resolvers/getModel.js +18 -0
- package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
- package/graphql/schema/cms/resolvers/index.d.ts +1 -0
- package/graphql/schema/cms/resolvers/index.js +1 -0
- package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
- package/graphql/schema/cms/resolvers/listEntries.js +1 -1
- package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
- package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
- package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
- package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
- package/graphql/schema/cms/resolvers/queryCms.js +1 -1
- package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
- package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
- package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
- package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
- package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/mutation.js +1 -1
- package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/query.js +2 -1
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
- package/graphql/schema/cms/typeDefs/responses.js +6 -1
- package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
- package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
- package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
- package/graphql/schema/cms/updateEntryResolver.js +2 -2
- package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
- package/graphql/schema/contentEntries.js +43 -32
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +39 -18
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +68 -16
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +4 -2
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +5 -3
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
- package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
- package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +5 -3
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +5 -2
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +5 -3
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
- package/graphql/schema/schemaPlugins.d.ts +2 -1
- package/graphql/schema/schemaPlugins.js +2 -4
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/index.d.ts +7 -6
- package/index.js +4 -22
- package/legacy/abstractions.js.map +1 -1
- package/package.json +23 -29
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.js +2 -1
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/index.d.ts +0 -1
- package/plugins/index.js +0 -1
- package/types/fields/dynamicZoneField.d.ts +1 -0
- package/types/model.d.ts +6 -0
- package/types/modelField.d.ts +2 -0
- package/types/types.d.ts +10 -183
- package/types/types.js.map +1 -1
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
- package/utils/contentModelToJsonSchema/index.d.ts +2 -0
- package/utils/contentModelToJsonSchema/index.js +1 -0
- package/utils/contentModelToJsonSchema/types.d.ts +24 -0
- package/utils/contentModelToJsonSchema/types.js +0 -0
- package/utils/converters/ConverterCollection.d.ts +2 -2
- package/utils/converters/ConverterCollection.js +1 -3
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
- package/utils/converters/valueKeyFromStorageConverter.js +2 -2
- package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +4 -2
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
- package/utils/converters/valueKeyToStorageConverter.js +2 -2
- package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/isHeadlessCmsReady.d.ts +1 -1
- package/utils/isHeadlessCmsReady.js +3 -2
- package/utils/isHeadlessCmsReady.js.map +1 -1
- package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
- package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
- package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
- package/abstractions/entryHooks/index.d.ts +0 -1
- package/abstractions/entryHooks/index.js +0 -1
- package/abstractions/index.d.ts +0 -1
- package/abstractions/index.js +0 -1
- package/context.d.ts +0 -3
- package/context.js +0 -131
- package/context.js.map +0 -1
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
- package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
- package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
- package/extensions/entryHooks/index.d.ts +0 -1
- package/extensions/entryHooks/index.js +0 -1
- package/extensions/index.d.ts +0 -5
- package/extensions/index.js +0 -7
- package/extensions/index.js.map +0 -1
- package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
- package/features/runtimeTenant/RuntimeTenant.js +0 -22
- package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
- package/features/runtimeTenant/abstractions.d.ts +0 -11
- package/features/runtimeTenant/abstractions.js +0 -5
- package/features/runtimeTenant/abstractions.js.map +0 -1
- package/features/runtimeTenant/index.d.ts +0 -2
- package/features/runtimeTenant/index.js +0 -2
- package/graphql/graphQLHandlerFactory.d.ts +0 -5
- package/graphql/graphQLHandlerFactory.js +0 -22
- package/graphql/graphQLHandlerFactory.js.map +0 -1
- package/graphql/handleRequest.d.ts +0 -11
- package/graphql/handleRequest.js +0 -62
- package/graphql/handleRequest.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -11
- package/graphql/index.js.map +0 -1
- package/graphql/schema/cms/index.d.ts +0 -2
- package/graphql/schema/cms/index.js +0 -24
- package/graphql/schema/cms/index.js.map +0 -1
- package/index.js.map +0 -1
- package/parameters/context.d.ts +0 -2
- package/parameters/context.js +0 -7
- package/parameters/context.js.map +0 -1
- package/parameters/header.d.ts +0 -2
- package/parameters/header.js +0 -13
- package/parameters/header.js.map +0 -1
- package/parameters/index.d.ts +0 -3
- package/parameters/index.js +0 -3
- package/parameters/path.d.ts +0 -2
- package/parameters/path.js +0 -12
- package/parameters/path.js.map +0 -1
- package/plugins/CmsParametersPlugin.d.ts +0 -18
- package/plugins/CmsParametersPlugin.js +0 -16
- package/plugins/CmsParametersPlugin.js.map +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { AiSdkTool } from "@webiny/api-core/features/ai/index.js";
|
|
3
|
+
import { GetModelUseCase } from "../contentModel/GetModel/index.js";
|
|
4
|
+
import { ListLatestEntriesUseCase } from "../contentEntry/ListEntries/index.js";
|
|
5
|
+
import { CmsWhereMapper } from "../whereMapper/abstractions.js";
|
|
6
|
+
import { CmsSortMapper } from "../sortMapper/abstractions.js";
|
|
7
|
+
const MAX_LIMIT = 50;
|
|
8
|
+
const DEFAULT_LIMIT = 10;
|
|
9
|
+
const inputSchema = z.object({
|
|
10
|
+
modelId: z.string().describe("Model ID as returned by listContentModels."),
|
|
11
|
+
where: z.record(z.string(), z.unknown()).optional().describe("Flat filter object. Keys are `<fieldId>` for an exact match or `<fieldId>_<operator>` otherwise — e.g. { onSale: true, price_gt: 100, name_contains: 'desk', status: 'draft' }. Operators: _not, _in, _not_in, _lt, _lte, _gt, _gte, _contains, _not_contains, _startsWith, _not_startsWith, _between, _not_between. Mix the model's own fields with entry meta fields (id, entryId, status, createdOn, savedOn) freely — they are separated automatically. Use describeContentModel first so field IDs are real."),
|
|
12
|
+
sort: z.array(z.string()).optional().describe("Sort directives as `<fieldId>_ASC` or `<fieldId>_DESC` — e.g. ['price_DESC'] for a model field or ['savedOn_DESC'] for entry meta. Both forms are accepted; the distinction is handled automatically."),
|
|
13
|
+
search: z.string().optional().describe("Full-text search across the model's searchable fields."),
|
|
14
|
+
fields: z.array(z.string()).optional().describe("Restrict returned values to these field IDs. Use it whenever you only need a few fields — entries can be large."),
|
|
15
|
+
limit: z.number().int().positive().optional().describe(`Maximum entries to return. Defaults to ${DEFAULT_LIMIT}, capped at ${MAX_LIMIT}.`),
|
|
16
|
+
after: z.string().optional().describe("Pagination cursor from a previous call's meta.cursor.")
|
|
17
|
+
});
|
|
18
|
+
class QueryEntriesToolImpl {
|
|
19
|
+
constructor(getModel, listLatestEntries, whereMapper, sortMapper){
|
|
20
|
+
this.getModel = getModel;
|
|
21
|
+
this.listLatestEntries = listLatestEntries;
|
|
22
|
+
this.whereMapper = whereMapper;
|
|
23
|
+
this.sortMapper = sortMapper;
|
|
24
|
+
this.name = "queryEntries";
|
|
25
|
+
this.title = "Query content entries";
|
|
26
|
+
this.description = "Queries content entries for a model, with filtering, sorting, search and pagination. Returns the latest revision of each entry (including unpublished changes). Call describeContentModel first to learn the field IDs used in `where` and `sort`.";
|
|
27
|
+
this.inputSchema = inputSchema;
|
|
28
|
+
this.annotations = {
|
|
29
|
+
readOnlyHint: true
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
async execute(input) {
|
|
33
|
+
const modelResult = await this.getModel.execute(input.modelId);
|
|
34
|
+
if (modelResult.isFail()) throw new Error(`Unknown model "${input.modelId}": ${modelResult.error.message}. Call listContentModels for valid model IDs.`);
|
|
35
|
+
const model = modelResult.value;
|
|
36
|
+
const params = {
|
|
37
|
+
limit: Math.min(input.limit ?? DEFAULT_LIMIT, MAX_LIMIT)
|
|
38
|
+
};
|
|
39
|
+
if (input.where) {
|
|
40
|
+
const where = this.whereMapper.map({
|
|
41
|
+
fields: model.fields,
|
|
42
|
+
input: input.where
|
|
43
|
+
});
|
|
44
|
+
if (where) params.where = where;
|
|
45
|
+
}
|
|
46
|
+
if (input.sort?.length) {
|
|
47
|
+
const requested = input.sort;
|
|
48
|
+
const sort = this.sortMapper.map({
|
|
49
|
+
fields: model.fields,
|
|
50
|
+
input: requested
|
|
51
|
+
});
|
|
52
|
+
if (!sort || sort.length !== input.sort.length) throw new Error(`Could not read every sort directive in [${input.sort.join(", ")}]. Each one must be \`<fieldId>_ASC\` or \`<fieldId>_DESC\`, using a field ID from describeContentModel.`);
|
|
53
|
+
params.sort = sort;
|
|
54
|
+
}
|
|
55
|
+
if (input.search) params.search = input.search;
|
|
56
|
+
if (input.fields?.length) params.fields = input.fields;
|
|
57
|
+
if (input.after) params.after = input.after;
|
|
58
|
+
const result = await this.listLatestEntries.execute(model, params);
|
|
59
|
+
if (result.isFail()) throw new Error(`Could not query "${input.modelId}" entries: ${result.error.message}`);
|
|
60
|
+
const { entries, meta } = result.value;
|
|
61
|
+
return {
|
|
62
|
+
modelId: input.modelId,
|
|
63
|
+
entries: entries.map((entry)=>({
|
|
64
|
+
id: entry.id,
|
|
65
|
+
entryId: entry.entryId,
|
|
66
|
+
status: entry.status,
|
|
67
|
+
createdOn: entry.createdOn,
|
|
68
|
+
savedOn: entry.savedOn,
|
|
69
|
+
values: entry.values
|
|
70
|
+
})),
|
|
71
|
+
meta: {
|
|
72
|
+
totalCount: meta.totalCount,
|
|
73
|
+
hasMoreItems: meta.hasMoreItems,
|
|
74
|
+
cursor: meta.cursor
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const QueryEntriesTool = AiSdkTool.createImplementation({
|
|
80
|
+
implementation: QueryEntriesToolImpl,
|
|
81
|
+
dependencies: [
|
|
82
|
+
GetModelUseCase,
|
|
83
|
+
ListLatestEntriesUseCase,
|
|
84
|
+
CmsWhereMapper,
|
|
85
|
+
CmsSortMapper
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
export { QueryEntriesTool };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=QueryEntriesTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/QueryEntriesTool.js","sources":["../../../src/features/ai/QueryEntriesTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport type { IAiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\nimport { ListLatestEntriesUseCase } from \"~/features/contentEntry/ListEntries/index.js\";\nimport { CmsWhereMapper } from \"~/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"~/features/sortMapper/abstractions.js\";\nimport type { CmsEntryListParams } from \"~/types/index.js\";\nimport type { CmsEntryListSort } from \"~/types/index.js\";\n\n/**\n * Hard ceiling on returned entries. A model asking for \"all products\" would otherwise pull an entire\n * collection into the context window; the cursor in the response is the correct way to go deeper.\n */\nconst MAX_LIMIT = 50;\nconst DEFAULT_LIMIT = 10;\n\nconst inputSchema = z.object({\n modelId: z.string().describe(\"Model ID as returned by listContentModels.\"),\n where: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\n \"Flat filter object. Keys are `<fieldId>` for an exact match or `<fieldId>_<operator>` otherwise — e.g. { onSale: true, price_gt: 100, name_contains: 'desk', status: 'draft' }. Operators: _not, _in, _not_in, _lt, _lte, _gt, _gte, _contains, _not_contains, _startsWith, _not_startsWith, _between, _not_between. Mix the model's own fields with entry meta fields (id, entryId, status, createdOn, savedOn) freely — they are separated automatically. Use describeContentModel first so field IDs are real.\"\n ),\n sort: z\n .array(z.string())\n .optional()\n .describe(\n \"Sort directives as `<fieldId>_ASC` or `<fieldId>_DESC` — e.g. ['price_DESC'] for a model field or ['savedOn_DESC'] for entry meta. Both forms are accepted; the distinction is handled automatically.\"\n ),\n search: z\n .string()\n .optional()\n .describe(\"Full-text search across the model's searchable fields.\"),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n \"Restrict returned values to these field IDs. Use it whenever you only need a few fields — entries can be large.\"\n ),\n limit: z\n .number()\n .int()\n .positive()\n .optional()\n .describe(\n `Maximum entries to return. Defaults to ${DEFAULT_LIMIT}, capped at ${MAX_LIMIT}.`\n ),\n after: z.string().optional().describe(\"Pagination cursor from a previous call's meta.cursor.\")\n});\n\ntype Input = z.infer<typeof inputSchema>;\n\ninterface EntrySummary {\n id: string;\n entryId: string;\n status: string;\n createdOn: string;\n savedOn: string;\n values: Record<string, unknown>;\n}\n\ninterface QueryEntriesResult {\n modelId: string;\n entries: EntrySummary[];\n meta: {\n totalCount: number;\n hasMoreItems: boolean;\n cursor: string | null;\n };\n}\n\n/**\n * Reads entries for one model.\n *\n * Uses the LATEST revisions (the manage-API view), not published ones — an editor asking \"which\n * products are discounted\" means the content as it currently stands in the admin app, including\n * unpublished edits. Filter on `status` for a published-only view.\n *\n * `where` is passed through to the CMS rather than re-modelled as a Zod schema: the valid keys depend\n * entirely on the model's fields, which are only known at runtime. An invalid filter surfaces as a\n * tool error the model can correct, which is why `describeContentModel` is named in the description.\n *\n * `where` and `sort` arrive FLAT and go through `CmsWhereMapper`/`CmsSortMapper`, which nest the\n * model's own fields under `values` and leave entry meta at the top. The flat form is what a model\n * writes, because `describeContentModel` hands it a flat list of fieldIds.\n */\nclass QueryEntriesToolImpl implements IAiSdkTool<Input> {\n readonly name = \"queryEntries\";\n readonly title = \"Query content entries\";\n readonly description =\n \"Queries content entries for a model, with filtering, sorting, search and pagination. Returns the latest revision of each entry (including unpublished changes). Call describeContentModel first to learn the field IDs used in `where` and `sort`.\";\n readonly inputSchema = inputSchema;\n readonly annotations = { readOnlyHint: true };\n\n constructor(\n private getModel: GetModelUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private whereMapper: CmsWhereMapper.Interface,\n private sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(input: Input): Promise<QueryEntriesResult> {\n const modelResult = await this.getModel.execute(input.modelId);\n\n if (modelResult.isFail()) {\n throw new Error(\n `Unknown model \"${input.modelId}\": ${modelResult.error.message}. Call listContentModels for valid model IDs.`\n );\n }\n\n const model = modelResult.value;\n\n const params: CmsEntryListParams = {\n limit: Math.min(input.limit ?? DEFAULT_LIMIT, MAX_LIMIT)\n };\n\n if (input.where) {\n const where = this.whereMapper.map({ fields: model.fields, input: input.where });\n\n if (where) {\n params.where = where;\n }\n }\n\n if (input.sort?.length) {\n /*\n * `CmsEntryListSort` is a template-literal type, while the schema yields plain strings\n * because a model writes whatever it likes. Casting here is safe only because of the\n * check below, which refuses the call if the mapper could not read every directive.\n */\n const requested = input.sort as CmsEntryListSort;\n const sort = this.sortMapper.map({ fields: model.fields, input: requested });\n\n /*\n * The mapper drops a directive it cannot parse. Silence is the wrong answer here: the\n * query would run unsorted and the model would present the result as sorted. Comparing\n * lengths rather than re-checking the format keeps this in step with whatever the mapper\n * accepts.\n */\n if (!sort || sort.length !== input.sort.length) {\n throw new Error(\n `Could not read every sort directive in [${input.sort.join(\", \")}]. Each one must be \\`<fieldId>_ASC\\` or \\`<fieldId>_DESC\\`, using a field ID from describeContentModel.`\n );\n }\n\n params.sort = sort;\n }\n\n if (input.search) {\n params.search = input.search;\n }\n\n if (input.fields?.length) {\n params.fields = input.fields;\n }\n\n if (input.after) {\n params.after = input.after;\n }\n\n const result = await this.listLatestEntries.execute(model, params);\n\n if (result.isFail()) {\n throw new Error(`Could not query \"${input.modelId}\" entries: ${result.error.message}`);\n }\n\n const { entries, meta } = result.value;\n\n return {\n modelId: input.modelId,\n entries: entries.map(entry => ({\n id: entry.id,\n entryId: entry.entryId,\n status: entry.status,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn,\n values: entry.values\n })),\n meta: {\n totalCount: meta.totalCount,\n hasMoreItems: meta.hasMoreItems,\n cursor: meta.cursor\n }\n };\n }\n}\n\nexport const QueryEntriesTool = AiSdkTool.createImplementation({\n implementation: QueryEntriesToolImpl,\n dependencies: [GetModelUseCase, ListLatestEntriesUseCase, CmsWhereMapper, CmsSortMapper]\n});\n"],"names":["MAX_LIMIT","DEFAULT_LIMIT","inputSchema","z","QueryEntriesToolImpl","getModel","listLatestEntries","whereMapper","sortMapper","input","modelResult","Error","model","params","Math","where","requested","sort","result","entries","meta","entry","QueryEntriesTool","AiSdkTool","GetModelUseCase","ListLatestEntriesUseCase","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;AAcA,MAAMA,YAAY;AAClB,MAAMC,gBAAgB;AAEtB,MAAMC,cAAcC,EAAE,MAAM,CAAC;IACzB,SAASA,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,OAAOA,EAAAA,MACI,CAACA,EAAE,MAAM,IAAIA,EAAE,OAAO,IAC5B,QAAQ,GACR,QAAQ,CACL;IAER,MAAMA,EAAAA,KACI,CAACA,EAAE,MAAM,IACd,QAAQ,GACR,QAAQ,CACL;IAER,QAAQA,EAAAA,MACG,GACN,QAAQ,GACR,QAAQ,CAAC;IACd,QAAQA,EAAAA,KACE,CAACA,EAAE,MAAM,IACd,QAAQ,GACR,QAAQ,CACL;IAER,OAAOA,EAAAA,MACI,GACN,GAAG,GACH,QAAQ,GACR,QAAQ,GACR,QAAQ,CACL,CAAC,uCAAuC,EAAEF,cAAc,YAAY,EAAED,UAAU,CAAC,CAAC;IAE1F,OAAOG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1C;AAsCA,MAAMC;IAQF,YACYC,QAAmC,EACnCC,iBAAqD,EACrDC,WAAqC,EACrCC,UAAmC,CAC7C;aAJUH,QAAQ,GAARA;aACAC,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;aAXH,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAGN;aACd,WAAW,GAAG;YAAE,cAAc;QAAK;IAOzC;IAEH,MAAM,QAAQO,KAAY,EAA+B;QACrD,MAAMC,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACD,MAAM,OAAO;QAE7D,IAAIC,YAAY,MAAM,IAClB,MAAM,IAAIC,MACN,CAAC,eAAe,EAAEF,MAAM,OAAO,CAAC,GAAG,EAAEC,YAAY,KAAK,CAAC,OAAO,CAAC,6CAA6C,CAAC;QAIrH,MAAME,QAAQF,YAAY,KAAK;QAE/B,MAAMG,SAA6B;YAC/B,OAAOC,KAAK,GAAG,CAACL,MAAM,KAAK,IAAIR,eAAeD;QAClD;QAEA,IAAIS,MAAM,KAAK,EAAE;YACb,MAAMM,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAAE,QAAQH,MAAM,MAAM;gBAAE,OAAOH,MAAM,KAAK;YAAC;YAE9E,IAAIM,OACAF,OAAO,KAAK,GAAGE;QAEvB;QAEA,IAAIN,MAAM,IAAI,EAAE,QAAQ;YAMpB,MAAMO,YAAYP,MAAM,IAAI;YAC5B,MAAMQ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQL,MAAM,MAAM;gBAAE,OAAOI;YAAU;YAQ1E,IAAI,CAACC,QAAQA,KAAK,MAAM,KAAKR,MAAM,IAAI,CAAC,MAAM,EAC1C,MAAM,IAAIE,MACN,CAAC,wCAAwC,EAAEF,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,wGAAwG,CAAC;YAIlLI,OAAO,IAAI,GAAGI;QAClB;QAEA,IAAIR,MAAM,MAAM,EACZI,OAAO,MAAM,GAAGJ,MAAM,MAAM;QAGhC,IAAIA,MAAM,MAAM,EAAE,QACdI,OAAO,MAAM,GAAGJ,MAAM,MAAM;QAGhC,IAAIA,MAAM,KAAK,EACXI,OAAO,KAAK,GAAGJ,MAAM,KAAK;QAG9B,MAAMS,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACN,OAAOC;QAE3D,IAAIK,OAAO,MAAM,IACb,MAAM,IAAIP,MAAM,CAAC,iBAAiB,EAAEF,MAAM,OAAO,CAAC,WAAW,EAAES,OAAO,KAAK,CAAC,OAAO,EAAE;QAGzF,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF,OAAO,KAAK;QAEtC,OAAO;YACH,SAAST,MAAM,OAAO;YACtB,SAASU,QAAQ,GAAG,CAACE,CAAAA,QAAU;oBAC3B,IAAIA,MAAM,EAAE;oBACZ,SAASA,MAAM,OAAO;oBACtB,QAAQA,MAAM,MAAM;oBACpB,WAAWA,MAAM,SAAS;oBAC1B,SAASA,MAAM,OAAO;oBACtB,QAAQA,MAAM,MAAM;gBACxB;YACA,MAAM;gBACF,YAAYD,KAAK,UAAU;gBAC3B,cAAcA,KAAK,YAAY;gBAC/B,QAAQA,KAAK,MAAM;YACvB;QACJ;IACJ;AACJ;AAEO,MAAME,mBAAmBC,UAAU,oBAAoB,CAAC;IAC3D,gBAAgBnB;IAChB,cAAc;QAACoB;QAAiBC;QAA0BC;QAAgBC;KAAc;AAC5F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only CMS tools for AI callers. Registered as `AiSdkTool` implementations, so any caller that
|
|
3
|
+
* builds a tool set from that abstraction picks them up without naming them.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CmsAiToolsFeature: {
|
|
6
|
+
name: string;
|
|
7
|
+
register(container: import("@webiny/di").Container): void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListContentModelsTool } from "./ListContentModelsTool.js";
|
|
3
|
+
import { DescribeContentModelTool } from "./DescribeContentModelTool.js";
|
|
4
|
+
import { QueryEntriesTool } from "./QueryEntriesTool.js";
|
|
5
|
+
const CmsAiToolsFeature = createFeature({
|
|
6
|
+
name: "HeadlessCms/AiTools",
|
|
7
|
+
register (container) {
|
|
8
|
+
container.register(ListContentModelsTool);
|
|
9
|
+
container.register(DescribeContentModelTool);
|
|
10
|
+
container.register(QueryEntriesTool);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
export { CmsAiToolsFeature };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/ai/feature.js","sources":["../../../src/features/ai/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListContentModelsTool } from \"./ListContentModelsTool.js\";\nimport { DescribeContentModelTool } from \"./DescribeContentModelTool.js\";\nimport { QueryEntriesTool } from \"./QueryEntriesTool.js\";\n\n/**\n * Read-only CMS tools for AI callers. Registered as `AiSdkTool` implementations, so any caller that\n * builds a tool set from that abstraction picks them up without naming them.\n */\nexport const CmsAiToolsFeature = createFeature({\n name: \"HeadlessCms/AiTools\",\n register(container) {\n container.register(ListContentModelsTool);\n container.register(DescribeContentModelTool);\n container.register(QueryEntriesTool);\n }\n});\n"],"names":["CmsAiToolsFeature","createFeature","container","ListContentModelsTool","DescribeContentModelTool","QueryEntriesTool"],"mappings":";;;;AASO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
|
|
@@ -28,11 +28,9 @@ import { UpdateSingletonEntryFeature } from "./UpdateSingletonEntry/feature.js";
|
|
|
28
28
|
import { ContentEntryTraverserFeature } from "./ContentEntryTraverser/feature.js";
|
|
29
29
|
import { UpdateRevisionDescriptionFeature } from "./UpdateRevisionDescription/feature.js";
|
|
30
30
|
import { EntryDataFactoriesFeature } from "./entryDataFactories/EntryDataFactoriesFeature.js";
|
|
31
|
-
import { RuntimeTenant } from "../runtimeTenant/RuntimeTenant.js";
|
|
32
31
|
const ContentEntriesFeature = createFeature({
|
|
33
32
|
name: "ContentEntries",
|
|
34
33
|
register (container) {
|
|
35
|
-
container.register(RuntimeTenant);
|
|
36
34
|
EntryDataFactoriesFeature.register(container);
|
|
37
35
|
GetRevisionByIdFeature.register(container);
|
|
38
36
|
GetEntriesByIdsFeature.register(container);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/ContentEntriesFeature.js","sources":["../../../src/features/contentEntry/ContentEntriesFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryFeature } from \"./CreateEntry/feature.js\";\nimport { CreateEntryRevisionFromFeature } from \"./CreateEntryRevisionFrom/feature.js\";\nimport { UpdateEntryFeature } from \"./UpdateEntry/feature.js\";\nimport { ValidateEntryFeature } from \"./ValidateEntry/feature.js\";\nimport { MoveEntryFeature } from \"./MoveEntry/feature.js\";\nimport { RepublishEntryFeature } from \"./RepublishEntry/feature.js\";\nimport { PublishEntryFeature } from \"./PublishEntry/feature.js\";\nimport { GetRevisionByIdFeature } from \"./GetRevisionById/feature.js\";\nimport { ListEntriesFeature } from \"./ListEntries/feature.js\";\nimport { GetEntriesByIdsFeature } from \"./GetEntriesByIds/feature.js\";\nimport { GetEntryByIdFeature } from \"./GetEntryById/feature.js\";\nimport { GetPublishedEntriesByIdsFeature } from \"./GetPublishedEntriesByIds/feature.js\";\nimport { GetLatestEntriesByIdsFeature } from \"./GetLatestEntriesByIds/feature.js\";\nimport { GetRevisionsByEntryIdFeature } from \"./GetRevisionsByEntryId/feature.js\";\nimport { GetPreviousRevisionByEntryIdFeature } from \"./GetPreviousRevisionByEntryId/feature.js\";\nimport { GetEntryFeature } from \"./GetEntry/feature.js\";\nimport { DeleteEntryFeature } from \"./DeleteEntry/feature.js\";\nimport { DeleteEntryRevisionFeature } from \"./DeleteEntryRevision/feature.js\";\nimport { DeleteMultipleEntriesFeature } from \"./DeleteMultipleEntries/feature.js\";\nimport { RestoreEntryFromBinFeature } from \"./RestoreEntryFromBin/feature.js\";\nimport { GetLatestRevisionByEntryIdFeature } from \"./GetLatestRevisionByEntryId/feature.js\";\nimport { GetPublishedRevisionByEntryIdFeature } from \"./GetPublishedRevisionByEntryId/feature.js\";\nimport { UnpublishEntryFeature } from \"./UnpublishEntry/feature.js\";\nimport { GetUniqueFieldValuesFeature } from \"./GetUniqueFieldValues/feature.js\";\nimport { GetSingletonEntryFeature } from \"./GetSingletonEntry/feature.js\";\nimport { UpdateSingletonEntryFeature } from \"./UpdateSingletonEntry/feature.js\";\nimport { ContentEntryTraverserFeature } from \"./ContentEntryTraverser/feature.js\";\nimport { UpdateRevisionDescriptionFeature } from \"./UpdateRevisionDescription/feature.js\";\nimport { EntryDataFactoriesFeature } from \"./entryDataFactories/EntryDataFactoriesFeature.js\";\
|
|
1
|
+
{"version":3,"file":"features/contentEntry/ContentEntriesFeature.js","sources":["../../../src/features/contentEntry/ContentEntriesFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryFeature } from \"./CreateEntry/feature.js\";\nimport { CreateEntryRevisionFromFeature } from \"./CreateEntryRevisionFrom/feature.js\";\nimport { UpdateEntryFeature } from \"./UpdateEntry/feature.js\";\nimport { ValidateEntryFeature } from \"./ValidateEntry/feature.js\";\nimport { MoveEntryFeature } from \"./MoveEntry/feature.js\";\nimport { RepublishEntryFeature } from \"./RepublishEntry/feature.js\";\nimport { PublishEntryFeature } from \"./PublishEntry/feature.js\";\nimport { GetRevisionByIdFeature } from \"./GetRevisionById/feature.js\";\nimport { ListEntriesFeature } from \"./ListEntries/feature.js\";\nimport { GetEntriesByIdsFeature } from \"./GetEntriesByIds/feature.js\";\nimport { GetEntryByIdFeature } from \"./GetEntryById/feature.js\";\nimport { GetPublishedEntriesByIdsFeature } from \"./GetPublishedEntriesByIds/feature.js\";\nimport { GetLatestEntriesByIdsFeature } from \"./GetLatestEntriesByIds/feature.js\";\nimport { GetRevisionsByEntryIdFeature } from \"./GetRevisionsByEntryId/feature.js\";\nimport { GetPreviousRevisionByEntryIdFeature } from \"./GetPreviousRevisionByEntryId/feature.js\";\nimport { GetEntryFeature } from \"./GetEntry/feature.js\";\nimport { DeleteEntryFeature } from \"./DeleteEntry/feature.js\";\nimport { DeleteEntryRevisionFeature } from \"./DeleteEntryRevision/feature.js\";\nimport { DeleteMultipleEntriesFeature } from \"./DeleteMultipleEntries/feature.js\";\nimport { RestoreEntryFromBinFeature } from \"./RestoreEntryFromBin/feature.js\";\nimport { GetLatestRevisionByEntryIdFeature } from \"./GetLatestRevisionByEntryId/feature.js\";\nimport { GetPublishedRevisionByEntryIdFeature } from \"./GetPublishedRevisionByEntryId/feature.js\";\nimport { UnpublishEntryFeature } from \"./UnpublishEntry/feature.js\";\nimport { GetUniqueFieldValuesFeature } from \"./GetUniqueFieldValues/feature.js\";\nimport { GetSingletonEntryFeature } from \"./GetSingletonEntry/feature.js\";\nimport { UpdateSingletonEntryFeature } from \"./UpdateSingletonEntry/feature.js\";\nimport { ContentEntryTraverserFeature } from \"./ContentEntryTraverser/feature.js\";\nimport { UpdateRevisionDescriptionFeature } from \"./UpdateRevisionDescription/feature.js\";\nimport { EntryDataFactoriesFeature } from \"./entryDataFactories/EntryDataFactoriesFeature.js\";\n\nexport const ContentEntriesFeature = createFeature({\n name: \"ContentEntries\",\n register(container) {\n EntryDataFactoriesFeature.register(container);\n // Query features\n GetRevisionByIdFeature.register(container);\n GetEntriesByIdsFeature.register(container);\n GetEntryByIdFeature.register(container);\n GetPublishedEntriesByIdsFeature.register(container);\n GetPublishedRevisionByEntryIdFeature.register(container);\n GetLatestEntriesByIdsFeature.register(container);\n GetLatestRevisionByEntryIdFeature.register(container);\n GetRevisionsByEntryIdFeature.register(container);\n GetPreviousRevisionByEntryIdFeature.register(container);\n GetEntryFeature.register(container);\n ListEntriesFeature.register(container);\n GetUniqueFieldValuesFeature.register(container);\n GetSingletonEntryFeature.register(container);\n\n // Provider features\n ContentEntryTraverserFeature.register(container);\n\n // Command features\n CreateEntryFeature.register(container);\n CreateEntryRevisionFromFeature.register(container);\n UpdateEntryFeature.register(container);\n UpdateRevisionDescriptionFeature.register(container);\n ValidateEntryFeature.register(container);\n MoveEntryFeature.register(container);\n PublishEntryFeature.register(container);\n UnpublishEntryFeature.register(container);\n RepublishEntryFeature.register(container);\n DeleteEntryFeature.register(container);\n DeleteEntryRevisionFeature.register(container);\n DeleteMultipleEntriesFeature.register(container);\n RestoreEntryFromBinFeature.register(container);\n UpdateSingletonEntryFeature.register(container);\n }\n});\n"],"names":["ContentEntriesFeature","createFeature","container","EntryDataFactoriesFeature","GetRevisionByIdFeature","GetEntriesByIdsFeature","GetEntryByIdFeature","GetPublishedEntriesByIdsFeature","GetPublishedRevisionByEntryIdFeature","GetLatestEntriesByIdsFeature","GetLatestRevisionByEntryIdFeature","GetRevisionsByEntryIdFeature","GetPreviousRevisionByEntryIdFeature","GetEntryFeature","ListEntriesFeature","GetUniqueFieldValuesFeature","GetSingletonEntryFeature","ContentEntryTraverserFeature","CreateEntryFeature","CreateEntryRevisionFromFeature","UpdateEntryFeature","UpdateRevisionDescriptionFeature","ValidateEntryFeature","MoveEntryFeature","PublishEntryFeature","UnpublishEntryFeature","RepublishEntryFeature","DeleteEntryFeature","DeleteEntryRevisionFeature","DeleteMultipleEntriesFeature","RestoreEntryFromBinFeature","UpdateSingletonEntryFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdC,0BAA0B,QAAQ,CAACD;QAEnCE,uBAAuB,QAAQ,CAACF;QAChCG,uBAAuB,QAAQ,CAACH;QAChCI,oBAAoB,QAAQ,CAACJ;QAC7BK,gCAAgC,QAAQ,CAACL;QACzCM,qCAAqC,QAAQ,CAACN;QAC9CO,6BAA6B,QAAQ,CAACP;QACtCQ,kCAAkC,QAAQ,CAACR;QAC3CS,6BAA6B,QAAQ,CAACT;QACtCU,oCAAoC,QAAQ,CAACV;QAC7CW,gBAAgB,QAAQ,CAACX;QACzBY,mBAAmB,QAAQ,CAACZ;QAC5Ba,4BAA4B,QAAQ,CAACb;QACrCc,yBAAyB,QAAQ,CAACd;QAGlCe,6BAA6B,QAAQ,CAACf;QAGtCgB,mBAAmB,QAAQ,CAAChB;QAC5BiB,+BAA+B,QAAQ,CAACjB;QACxCkB,mBAAmB,QAAQ,CAAClB;QAC5BmB,iCAAiC,QAAQ,CAACnB;QAC1CoB,qBAAqB,QAAQ,CAACpB;QAC9BqB,iBAAiB,QAAQ,CAACrB;QAC1BsB,oBAAoB,QAAQ,CAACtB;QAC7BuB,sBAAsB,QAAQ,CAACvB;QAC/BwB,sBAAsB,QAAQ,CAACxB;QAC/ByB,mBAAmB,QAAQ,CAACzB;QAC5B0B,2BAA2B,QAAQ,CAAC1B;QACpC2B,6BAA6B,QAAQ,CAAC3B;QACtC4B,2BAA2B,QAAQ,CAAC5B;QACpC6B,4BAA4B,QAAQ,CAAC7B;IACzC;AACJ"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
3
|
import type { CmsEntry, CmsModel } from "../../../types/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { CreateEntryStorageOperation } from "../../../features/shared/storageOperations/entry/CreateEntryStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
7
6
|
/**
|
|
8
7
|
* CreateEntryRepository - Handles persistence of new entries.
|
|
9
8
|
* Transforms domain entry to storage format and persists it.
|
|
10
9
|
*/
|
|
11
10
|
declare class CreateEntryRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
12
11
|
private entryToStorageTransform;
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
execute(initialModel: CmsModel, initialEntry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
12
|
+
private createEntryStorage;
|
|
13
|
+
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, createEntryStorage: CreateEntryStorageOperation.Interface);
|
|
14
|
+
execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
17
15
|
}
|
|
18
|
-
export declare const CreateEntryRepository:
|
|
16
|
+
export declare const CreateEntryRepository: typeof CreateEntryRepositoryImpl & {
|
|
17
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRepository>;
|
|
18
|
+
};
|
|
19
19
|
export {};
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRepository } from "./abstractions.js";
|
|
3
3
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { CreateEntryStorageOperation } from "../../shared/storageOperations/entry/CreateEntryStorageOperation.js";
|
|
5
5
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
7
6
|
class CreateEntryRepositoryImpl {
|
|
8
|
-
constructor(entryToStorageTransform,
|
|
7
|
+
constructor(entryToStorageTransform, createEntryStorage){
|
|
9
8
|
this.entryToStorageTransform = entryToStorageTransform;
|
|
10
|
-
this.
|
|
11
|
-
this.runtimeTenant = runtimeTenant;
|
|
9
|
+
this.createEntryStorage = createEntryStorage;
|
|
12
10
|
}
|
|
13
|
-
async execute(
|
|
14
|
-
const model = this.runtimeTenant.assign(initialModel);
|
|
15
|
-
const entry = this.runtimeTenant.assign(initialEntry);
|
|
11
|
+
async execute(model, entry) {
|
|
16
12
|
try {
|
|
17
13
|
const storageEntry = await this.entryToStorageTransform(model, entry);
|
|
18
|
-
await this.
|
|
14
|
+
await this.createEntryStorage.execute(model, {
|
|
19
15
|
entry,
|
|
20
16
|
storageEntry
|
|
21
17
|
});
|
|
@@ -25,13 +21,11 @@ class CreateEntryRepositoryImpl {
|
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
23
|
}
|
|
28
|
-
const CreateEntryRepository_CreateEntryRepository = createImplementation({
|
|
29
|
-
abstraction: CreateEntryRepository,
|
|
24
|
+
const CreateEntryRepository_CreateEntryRepository = CreateEntryRepository.createImplementation({
|
|
30
25
|
implementation: CreateEntryRepositoryImpl,
|
|
31
26
|
dependencies: [
|
|
32
27
|
EntryToStorageTransform,
|
|
33
|
-
|
|
34
|
-
RuntimeTenant
|
|
28
|
+
CreateEntryStorageOperation
|
|
35
29
|
]
|
|
36
30
|
});
|
|
37
31
|
export { CreateEntryRepository_CreateEntryRepository as CreateEntryRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryRepository.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryRepository.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\nimport type { CmsEntry, CmsModel } from \"~/types/index.js\";\nimport { CreateEntryStorageOperation } from \"~/features/shared/storageOperations/entry/CreateEntryStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\n\n/**\n * CreateEntryRepository - Handles persistence of new entries.\n * Transforms domain entry to storage format and persists it.\n */\nclass CreateEntryRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private createEntryStorage: CreateEntryStorageOperation.Interface\n ) {}\n\n public async execute(\n model: CmsModel,\n entry: CmsEntry\n ): Promise<Result<void, RepositoryAbstraction.Error>> {\n try {\n // Transform domain entry to storage format\n const storageEntry = await this.entryToStorageTransform(model, entry);\n\n // Persist to storage\n await this.createEntryStorage.execute(model, {\n entry,\n storageEntry\n });\n\n return Result.ok();\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateEntryRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateEntryRepositoryImpl,\n dependencies: [EntryToStorageTransform, CreateEntryStorageOperation]\n});\n"],"names":["CreateEntryRepositoryImpl","entryToStorageTransform","createEntryStorage","model","entry","storageEntry","Result","error","EntryPersistenceError","CreateEntryRepository","RepositoryAbstraction","EntryToStorageTransform","CreateEntryStorageOperation"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,kBAAyD,CACnE;aAFUD,uBAAuB,GAAvBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,KAAe,EACmC;QAClD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAACF,OAAOC;YAG/D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO;gBACzCC;gBACAC;YACJ;YAEA,OAAOC,OAAO,EAAE;QACpB,EAAE,OAAOC,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBV;IAChB,cAAc;QAACW;QAAyBC;KAA4B;AACxE"}
|
|
@@ -12,5 +12,7 @@ declare class CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
|
12
12
|
constructor(eventPublisher: EventPublisher.Interface, repository: CreateEntryRepository.Interface, accessControl: AccessControl.Interface, createEntryDataFactory: CreateEntryDataFactory.Interface);
|
|
13
13
|
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, rawInput: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
|
|
14
14
|
}
|
|
15
|
-
export declare const CreateEntryUseCase:
|
|
15
|
+
export declare const CreateEntryUseCase: typeof CreateEntryUseCaseImpl & {
|
|
16
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryUseCase>;
|
|
17
|
+
};
|
|
16
18
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRepository, CreateEntryUseCase } from "./abstractions.js";
|
|
3
3
|
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
4
|
import { EntryAfterCreateEvent, EntryBeforeCreateEvent } from "./events.js";
|
|
@@ -45,8 +45,7 @@ class CreateEntryUseCaseImpl {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
const CreateEntryUseCase_CreateEntryUseCase = createImplementation({
|
|
49
|
-
abstraction: CreateEntryUseCase,
|
|
48
|
+
const CreateEntryUseCase_CreateEntryUseCase = CreateEntryUseCase.createImplementation({
|
|
50
49
|
implementation: CreateEntryUseCaseImpl,
|
|
51
50
|
dependencies: [
|
|
52
51
|
EventPublisher,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/CreateEntry/CreateEntryUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntry/CreateEntryUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRepository, CreateEntryUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { EntryAfterCreateEvent, EntryBeforeCreateEvent } from \"./events.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { EntryNotAuthorizedError, EntryValidationError } from \"~/domain/contentEntry/errors.js\";\nimport { CreateEntryDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryDataFactory/index.js\";\n\nclass CreateEntryUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateEntryRepository.Interface,\n private accessControl: AccessControl.Interface,\n private createEntryDataFactory: CreateEntryDataFactory.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n const { entry, input } = await this.createEntryDataFactory.create<T>(\n model,\n rawInput,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromEntry(entry));\n }\n\n await this.eventPublisher.publish(new EntryBeforeCreateEvent({ entry, input, model }));\n\n const result = await this.repository.execute(model, entry);\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new EntryAfterCreateEvent({\n entry,\n input,\n model\n })\n );\n\n return Result.ok(entry);\n } catch (error) {\n if (error.code === \"VALIDATION_FAILED\") {\n return Result.fail(new EntryValidationError(error.message, error.data));\n }\n return Result.fail(error as UseCaseAbstraction.Error);\n }\n }\n}\n\nexport const CreateEntryUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreateEntryUseCaseImpl,\n dependencies: [EventPublisher, CreateEntryRepository, AccessControl, CreateEntryDataFactory]\n});\n"],"names":["CreateEntryUseCaseImpl","eventPublisher","repository","accessControl","createEntryDataFactory","model","rawInput","options","canAccess","Result","EntryNotAuthorizedError","entry","input","canAccessEntry","EntryBeforeCreateEvent","result","EntryAfterCreateEvent","error","EntryValidationError","CreateEntryUseCase","UseCaseAbstraction","EventPublisher","CreateEntryRepository","AccessControl","CreateEntryDataFactory"],"mappings":";;;;;;;AAeA,MAAMA;IACF,YACYC,cAAwC,EACxCC,UAA2C,EAC3CC,aAAsC,EACtCC,sBAAwD,CAClE;aAJUH,cAAc,GAAdA;aACAC,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,sBAAsB,GAAtBA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEH;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACG,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACL;QAGzD,IAAI;YACA,MAAM,EAAEM,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC7DP,OACAC,UACAC;YAGJ,MAAMM,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBAC3DR;gBACAM;gBACA,KAAK;YACT;YAEA,IAAI,CAACE,gBACD,OAAOJ,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACC;YAGzD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIG,uBAAuB;gBAAEH;gBAAOC;gBAAOP;YAAM;YAEnF,MAAMU,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACV,OAAOM;YACpD,IAAII,OAAO,MAAM,IACb,OAAON,OAAO,IAAI,CAACM,OAAO,KAAK;YAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,sBAAsB;gBACtBL;gBACAC;gBACAP;YACJ;YAGJ,OAAOI,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOM,OAAO;YACZ,IAAIA,AAAe,wBAAfA,MAAM,IAAI,EACV,OAAOR,OAAO,IAAI,CAAC,IAAIS,qBAAqBD,MAAM,OAAO,EAAEA,MAAM,IAAI;YAEzE,OAAOR,OAAO,IAAI,CAACQ;QACvB;IACJ;AACJ;AAEO,MAAME,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBpB;IAChB,cAAc;QAACqB;QAAgBC;QAAuBC;QAAeC;KAAuB;AAChG"}
|
package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRevisionFromRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { CreateEntryRevisionFromStorageOperation } from "../../../features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js";
|
|
4
4
|
import { EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
5
5
|
import { EntryFromStorageTransform } from "../../../legacy/abstractions.js";
|
|
6
6
|
import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js";
|
|
7
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
8
7
|
/**
|
|
9
8
|
* CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.
|
|
10
9
|
*
|
|
@@ -17,10 +16,11 @@ import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
|
17
16
|
declare class CreateEntryRevisionFromRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
18
17
|
private entryToStorageTransform;
|
|
19
18
|
private entryFromStorageTransform;
|
|
20
|
-
private
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
execute<T extends CmsEntryValues = CmsEntryValues>(initialModel: CmsModel, initialEntry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
|
|
19
|
+
private createEntryRevisionFromStorage;
|
|
20
|
+
constructor(entryToStorageTransform: EntryToStorageTransform.Interface, entryFromStorageTransform: EntryFromStorageTransform.Interface, createEntryRevisionFromStorage: CreateEntryRevisionFromStorageOperation.Interface);
|
|
21
|
+
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, entry: CmsEntry<T>): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>>;
|
|
24
22
|
}
|
|
25
|
-
export declare const CreateEntryRevisionFromRepository:
|
|
23
|
+
export declare const CreateEntryRevisionFromRepository: typeof CreateEntryRevisionFromRepositoryImpl & {
|
|
24
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRevisionFromRepository>;
|
|
25
|
+
};
|
|
26
26
|
export {};
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryRevisionFromRepository } from "./abstractions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { CreateEntryRevisionFromStorageOperation } from "../../shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js";
|
|
4
4
|
import { EntryFromStorageTransform, EntryToStorageTransform } from "../../../legacy/abstractions.js";
|
|
5
5
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
6
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
7
6
|
class CreateEntryRevisionFromRepositoryImpl {
|
|
8
|
-
constructor(entryToStorageTransform, entryFromStorageTransform,
|
|
7
|
+
constructor(entryToStorageTransform, entryFromStorageTransform, createEntryRevisionFromStorage){
|
|
9
8
|
this.entryToStorageTransform = entryToStorageTransform;
|
|
10
9
|
this.entryFromStorageTransform = entryFromStorageTransform;
|
|
11
|
-
this.
|
|
12
|
-
this.runtimeTenant = runtimeTenant;
|
|
10
|
+
this.createEntryRevisionFromStorage = createEntryRevisionFromStorage;
|
|
13
11
|
}
|
|
14
|
-
async execute(
|
|
15
|
-
const model = this.runtimeTenant.assign(initialModel);
|
|
16
|
-
const entry = this.runtimeTenant.assign(initialEntry);
|
|
12
|
+
async execute(model, entry) {
|
|
17
13
|
try {
|
|
18
14
|
const storageEntry = await this.entryToStorageTransform(model, entry);
|
|
19
|
-
const result = await this.
|
|
15
|
+
const result = await this.createEntryRevisionFromStorage.execute(model, {
|
|
20
16
|
entry,
|
|
21
17
|
storageEntry
|
|
22
18
|
});
|
|
@@ -27,14 +23,12 @@ class CreateEntryRevisionFromRepositoryImpl {
|
|
|
27
23
|
}
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
|
-
const CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository = createImplementation({
|
|
31
|
-
abstraction: CreateEntryRevisionFromRepository,
|
|
26
|
+
const CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository = CreateEntryRevisionFromRepository.createImplementation({
|
|
32
27
|
implementation: CreateEntryRevisionFromRepositoryImpl,
|
|
33
28
|
dependencies: [
|
|
34
29
|
EntryToStorageTransform,
|
|
35
30
|
EntryFromStorageTransform,
|
|
36
|
-
|
|
37
|
-
RuntimeTenant
|
|
31
|
+
CreateEntryRevisionFromStorageOperation
|
|
38
32
|
]
|
|
39
33
|
});
|
|
40
34
|
export { CreateEntryRevisionFromRepository_CreateEntryRevisionFromRepository as CreateEntryRevisionFromRepository };
|
package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { CreateEntryRevisionFromStorageOperation } from \"~/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js\";\nimport { EntryToStorageTransform } from \"~/legacy/abstractions.js\";\nimport { EntryFromStorageTransform } from \"~/legacy/abstractions.js\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"~/types/index.js\";\nimport { EntryPersistenceError } from \"~/domain/contentEntry/errors.js\";\n\n/**\n * CreateEntryRevisionFromRepository - Handles storage operations for creating entry revisions.\n *\n * Responsibilities:\n * - Transform entry to storage format\n * - Call storage operation to create revision\n * - Transform result back from storage format\n * - Handle storage errors\n */\nclass CreateEntryRevisionFromRepositoryImpl implements RepositoryAbstraction.Interface {\n public constructor(\n private entryToStorageTransform: EntryToStorageTransform.Interface,\n private entryFromStorageTransform: EntryFromStorageTransform.Interface,\n private createEntryRevisionFromStorage: CreateEntryRevisionFromStorageOperation.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entry: CmsEntry<T>\n ): Promise<Result<CmsEntry<T>, RepositoryAbstraction.Error>> {\n try {\n // Transform entry to storage format\n const storageEntry = await this.entryToStorageTransform<T>(model, entry);\n\n // Call storage operation\n const result = await this.createEntryRevisionFromStorage.execute(model, {\n entry,\n storageEntry\n });\n\n // Transform result back from storage format\n const transformedEntry = await this.entryFromStorageTransform(model, result);\n\n return Result.ok(transformedEntry);\n } catch (error) {\n return Result.fail(new EntryPersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateEntryRevisionFromRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateEntryRevisionFromRepositoryImpl,\n dependencies: [\n EntryToStorageTransform,\n EntryFromStorageTransform,\n CreateEntryRevisionFromStorageOperation\n ]\n});\n"],"names":["CreateEntryRevisionFromRepositoryImpl","entryToStorageTransform","entryFromStorageTransform","createEntryRevisionFromStorage","model","entry","storageEntry","result","transformedEntry","Result","error","EntryPersistenceError","CreateEntryRevisionFromRepository","RepositoryAbstraction","EntryToStorageTransform","EntryFromStorageTransform","CreateEntryRevisionFromStorageOperation"],"mappings":";;;;;AAiBA,MAAMA;IACF,YACYC,uBAA0D,EAC1DC,yBAA8D,EAC9DC,8BAAiF,CAC3F;aAHUF,uBAAuB,GAAvBA;aACAC,yBAAyB,GAAzBA;aACAC,8BAA8B,GAA9BA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,KAAkB,EACuC;QACzD,IAAI;YAEA,MAAMC,eAAe,MAAM,IAAI,CAAC,uBAAuB,CAAIF,OAAOC;YAGlE,MAAME,SAAS,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAACH,OAAO;gBACpEC;gBACAC;YACJ;YAGA,MAAME,mBAAmB,MAAM,IAAI,CAAC,yBAAyB,CAACJ,OAAOG;YAErE,OAAOE,OAAO,EAAE,CAACD;QACrB,EAAE,OAAOE,OAAO;YACZ,OAAOD,OAAO,IAAI,CAAC,IAAIE,sBAAsBD;QACjD;IACJ;AACJ;AAEO,MAAME,sEAAoCC,kCAAAA,oBAA0C,CAAC;IACxF,gBAAgBb;IAChB,cAAc;QACVc;QACAC;QACAC;KACH;AACL"}
|
|
@@ -16,5 +16,7 @@ declare class CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.I
|
|
|
16
16
|
constructor(repository: CreateEntryRevisionFromRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface, eventPublisher: EventPublisher.Interface, createEntryRevisionFromDataFactory: CreateEntryRevisionFromDataFactory.Interface);
|
|
17
17
|
execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, sourceId: string, rawInput: CreateCmsEntryInput<T>, options?: CreateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>>;
|
|
18
18
|
}
|
|
19
|
-
export declare const CreateEntryRevisionFromUseCase:
|
|
19
|
+
export declare const CreateEntryRevisionFromUseCase: typeof CreateEntryRevisionFromUseCaseImpl & {
|
|
20
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateEntryRevisionFromUseCase>;
|
|
21
|
+
};
|
|
20
22
|
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 { CreateEntryRevisionFromRepository, CreateEntryRevisionFromUseCase } from "./abstractions.js";
|
|
4
4
|
import { AccessControl } from "../../shared/abstractions.js";
|
|
@@ -77,8 +77,7 @@ class CreateEntryRevisionFromUseCaseImpl {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
const CreateEntryRevisionFromUseCase_CreateEntryRevisionFromUseCase = createImplementation({
|
|
81
|
-
abstraction: CreateEntryRevisionFromUseCase,
|
|
80
|
+
const CreateEntryRevisionFromUseCase_CreateEntryRevisionFromUseCase = CreateEntryRevisionFromUseCase.createImplementation({
|
|
82
81
|
implementation: CreateEntryRevisionFromUseCaseImpl,
|
|
83
82
|
dependencies: [
|
|
84
83
|
CreateEntryRevisionFromRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js","sources":["../../../../src/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n CreateEntryRevisionFromRepository,\n CreateEntryRevisionFromUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { AccessControl } from \"~/features/shared/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"~/features/contentEntry/GetRevisionById/index.js\";\nimport { GetLatestRevisionByEntryIdUseCase } from \"~/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport {\n EntryRevisionAfterCreateEvent,\n EntryRevisionBeforeCreateEvent,\n EntryRevisionCreateErrorEvent\n} from \"./events.js\";\nimport { EntryNotAuthorizedError } from \"~/domain/contentEntry/errors.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { CreateEntryRevisionFromDataFactory } from \"~/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/index.js\";\n\nclass CreateEntryRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private repository: CreateEntryRevisionFromRepository.Interface,\n private accessControl: AccessControl.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private createEntryRevisionFromDataFactory: CreateEntryRevisionFromDataFactory.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UseCaseAbstraction.Error>> {\n const canAccess = await this.accessControl.canAccessEntry({ model, rwd: \"w\" });\n if (!canAccess) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n const { id: uniqueId } = parseIdentifier(sourceId);\n const originalResult = await this.getRevisionById.execute<T>(model, sourceId);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const originalEntry = originalResult.value;\n\n const latestResult = await this.getLatestRevision.execute<T>(model, { id: uniqueId });\n\n if (latestResult.isFail()) {\n return Result.fail(latestResult.error);\n }\n\n const latestStorageEntry = latestResult.value;\n\n const { entry, input } = await this.createEntryRevisionFromDataFactory.create<T>(\n sourceId,\n model,\n rawInput,\n originalEntry,\n latestStorageEntry,\n options\n );\n\n const canAccessEntry = await this.accessControl.canAccessEntry({\n model,\n entry,\n rwd: \"w\"\n });\n\n if (!canAccessEntry) {\n return Result.fail(EntryNotAuthorizedError.fromModel(model));\n }\n\n try {\n await this.eventPublisher.publish(\n new EntryRevisionBeforeCreateEvent({\n entry,\n model,\n input,\n original: originalEntry\n })\n );\n\n const result = await this.repository.execute<T>(model, entry);\n\n if (result.isFail()) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: result.error\n })\n );\n return Result.fail(result.error);\n }\n\n const createdEntry = result.value;\n\n await this.eventPublisher.publish(\n new EntryRevisionAfterCreateEvent({\n entry: createdEntry,\n model,\n input,\n original: originalEntry\n })\n );\n\n return Result.ok(createdEntry);\n } catch (error) {\n await this.eventPublisher.publish(\n new EntryRevisionCreateErrorEvent({\n entry,\n model,\n input,\n original: originalEntry,\n error: error as Error\n })\n );\n return Result.fail(error as any);\n }\n }\n}\n\nexport const CreateEntryRevisionFromUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreateEntryRevisionFromUseCaseImpl,\n dependencies: [\n CreateEntryRevisionFromRepository,\n AccessControl,\n GetRevisionByIdUseCase,\n GetLatestRevisionByEntryIdUseCase,\n EventPublisher,\n CreateEntryRevisionFromDataFactory\n ]\n});\n"],"names":["CreateEntryRevisionFromUseCaseImpl","repository","accessControl","getRevisionById","getLatestRevision","eventPublisher","createEntryRevisionFromDataFactory","model","sourceId","rawInput","options","canAccess","Result","EntryNotAuthorizedError","uniqueId","parseIdentifier","originalResult","originalEntry","latestResult","latestStorageEntry","entry","input","canAccessEntry","EntryRevisionBeforeCreateEvent","result","EntryRevisionCreateErrorEvent","createdEntry","EntryRevisionAfterCreateEvent","error","CreateEntryRevisionFromUseCase","UseCaseAbstraction","CreateEntryRevisionFromRepository","AccessControl","GetRevisionByIdUseCase","GetLatestRevisionByEntryIdUseCase","EventPublisher","CreateEntryRevisionFromDataFactory"],"mappings":";;;;;;;;;;AAyBA,MAAMA;IACF,YACYC,UAAuD,EACvDC,aAAsC,EACtCC,eAAiD,EACjDC,iBAA8D,EAC9DC,cAAwC,EACxCC,kCAAgF,CAC1F;aANUL,UAAU,GAAVA;aACAC,aAAa,GAAbA;aACAC,eAAe,GAAfA;aACAC,iBAAiB,GAAjBA;aACAC,cAAc,GAAdA;aACAC,kCAAkC,GAAlCA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAgB,EAChBC,QAAgC,EAChCC,OAAoC,EACkB;QACtD,MAAMC,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAAEJ;YAAO,KAAK;QAAI;QAC5E,IAAI,CAACI,WACD,OAAOC,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,MAAM,EAAE,IAAIO,QAAQ,EAAE,GAAGC,gBAAgBP;QACzC,MAAMQ,iBAAiB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIT,OAAOC;QAEpE,IAAIQ,eAAe,MAAM,IACrB,OAAOJ,OAAO,IAAI,CAACI,eAAe,KAAK;QAG3C,MAAMC,gBAAgBD,eAAe,KAAK;QAE1C,MAAME,eAAe,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAIX,OAAO;YAAE,IAAIO;QAAS;QAEnF,IAAII,aAAa,MAAM,IACnB,OAAON,OAAO,IAAI,CAACM,aAAa,KAAK;QAGzC,MAAMC,qBAAqBD,aAAa,KAAK;QAE7C,MAAM,EAAEE,KAAK,EAAEC,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,MAAM,CACzEb,UACAD,OACAE,UACAQ,eACAE,oBACAT;QAGJ,MAAMY,iBAAiB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3Df;YACAa;YACA,KAAK;QACT;QAEA,IAAI,CAACE,gBACD,OAAOV,OAAO,IAAI,CAACC,wBAAwB,SAAS,CAACN;QAGzD,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIgB,+BAA+B;gBAC/BH;gBACAb;gBACAc;gBACA,UAAUJ;YACd;YAGJ,MAAMO,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIjB,OAAOa;YAEvD,IAAII,OAAO,MAAM,IAAI;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;oBAC9BL;oBACAb;oBACAc;oBACA,UAAUJ;oBACV,OAAOO,OAAO,KAAK;gBACvB;gBAEJ,OAAOZ,OAAO,IAAI,CAACY,OAAO,KAAK;YACnC;YAEA,MAAME,eAAeF,OAAO,KAAK;YAEjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,8BAA8B;gBAC9B,OAAOD;gBACPnB;gBACAc;gBACA,UAAUJ;YACd;YAGJ,OAAOL,OAAO,EAAE,CAACc;QACrB,EAAE,OAAOE,OAAO;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIH,8BAA8B;gBAC9BL;gBACAb;gBACAc;gBACA,UAAUJ;gBACV,OAAOW;YACX;YAEJ,OAAOhB,OAAO,IAAI,CAACgB;QACvB;IACJ;AACJ;AAEO,MAAMC,gEAAiCC,+BAAAA,oBAAuC,CAAC;IAClF,gBAAgB9B;IAChB,cAAc;QACV+B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
3
|
import type { CmsEntry, CmsModel } from "../../../types/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import { RuntimeTenant } from "../../../features/runtimeTenant/abstractions.js";
|
|
4
|
+
import { DeleteEntryStorageOperation } from "../../../features/shared/storageOperations/entry/DeleteEntryStorageOperation.js";
|
|
6
5
|
/**
|
|
7
6
|
* DeleteEntryRepository - Handles storage operations for permanently deleting entries.
|
|
8
7
|
*/
|
|
9
8
|
declare class DeleteEntryRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
10
|
-
private
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
execute(initialModel: CmsModel, initialEntry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
9
|
+
private deleteEntryStorage;
|
|
10
|
+
constructor(deleteEntryStorage: DeleteEntryStorageOperation.Interface);
|
|
11
|
+
execute(model: CmsModel, entry: CmsEntry): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
14
12
|
}
|
|
15
|
-
export declare const DeleteEntryRepository:
|
|
13
|
+
export declare const DeleteEntryRepository: typeof DeleteEntryRepositoryImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteEntryRepository>;
|
|
15
|
+
};
|
|
16
16
|
export {};
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { Result
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryRepository } from "./abstractions.js";
|
|
3
3
|
import { EntryPersistenceError } from "../../../domain/contentEntry/errors.js";
|
|
4
|
-
import {
|
|
5
|
-
import { RuntimeTenant } from "../../runtimeTenant/abstractions.js";
|
|
4
|
+
import { DeleteEntryStorageOperation } from "../../shared/storageOperations/entry/DeleteEntryStorageOperation.js";
|
|
6
5
|
class DeleteEntryRepositoryImpl {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.runtimeTenant = runtimeTenant;
|
|
6
|
+
constructor(deleteEntryStorage){
|
|
7
|
+
this.deleteEntryStorage = deleteEntryStorage;
|
|
10
8
|
}
|
|
11
|
-
async execute(
|
|
12
|
-
const model = this.runtimeTenant.assign(initialModel);
|
|
13
|
-
const entry = this.runtimeTenant.assign(initialEntry);
|
|
9
|
+
async execute(model, entry) {
|
|
14
10
|
try {
|
|
15
|
-
await this.
|
|
11
|
+
await this.deleteEntryStorage.execute(model, {
|
|
16
12
|
entry
|
|
17
13
|
});
|
|
18
14
|
return Result.ok();
|
|
@@ -21,12 +17,10 @@ class DeleteEntryRepositoryImpl {
|
|
|
21
17
|
}
|
|
22
18
|
}
|
|
23
19
|
}
|
|
24
|
-
const DeleteEntryRepository_DeleteEntryRepository = createImplementation({
|
|
25
|
-
abstraction: DeleteEntryRepository,
|
|
20
|
+
const DeleteEntryRepository_DeleteEntryRepository = DeleteEntryRepository.createImplementation({
|
|
26
21
|
implementation: DeleteEntryRepositoryImpl,
|
|
27
22
|
dependencies: [
|
|
28
|
-
|
|
29
|
-
RuntimeTenant
|
|
23
|
+
DeleteEntryStorageOperation
|
|
30
24
|
]
|
|
31
25
|
});
|
|
32
26
|
export { DeleteEntryRepository_DeleteEntryRepository as DeleteEntryRepository };
|