@webiny/api-headless-cms 0.0.0-unstable.9e825fd5fb → 0.0.0-unstable.a4637c5ce6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.d.ts +44 -0
- package/constants.js +70 -0
- package/constants.js.map +1 -0
- package/context.d.ts +1 -1
- package/context.js +112 -45
- package/context.js.map +1 -1
- package/crud/AccessControl/AccessControl.d.ts +98 -0
- package/crud/AccessControl/AccessControl.js +542 -0
- package/crud/AccessControl/AccessControl.js.map +1 -0
- package/crud/AccessControl/README.md +47 -0
- package/crud/AccessControl/groups-own.png +0 -0
- package/crud/AccessControl/models-own.png +0 -0
- package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +4 -0
- package/crud/contentEntry/abstractions/IDeleteEntry.js +7 -0
- package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -0
- package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +4 -0
- package/crud/contentEntry/abstractions/IDeleteEntryOperation.js +7 -0
- package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetEntriesByIds.js +7 -0
- package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetEntry.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetEntry.js +7 -0
- package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js +7 -0
- package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js +7 -0
- package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js +7 -0
- package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js +7 -0
- package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js +7 -0
- package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetRevisionById.js +7 -0
- package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -0
- package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +4 -0
- package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js +7 -0
- package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -0
- package/crud/contentEntry/abstractions/IListEntries.d.ts +4 -0
- package/crud/contentEntry/abstractions/IListEntries.js +7 -0
- package/crud/contentEntry/abstractions/IListEntries.js.map +1 -0
- package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +4 -0
- package/crud/contentEntry/abstractions/IListEntriesOperation.js +7 -0
- package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -0
- package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +4 -0
- package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js +7 -0
- package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +4 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js +7 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +4 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js +7 -0
- package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -0
- package/crud/contentEntry/abstractions/index.d.ts +16 -0
- package/crud/contentEntry/abstractions/index.js +183 -0
- package/crud/contentEntry/abstractions/index.js.map +1 -0
- package/crud/contentEntry/afterDelete.d.ts +6 -2
- package/crud/contentEntry/afterDelete.js +18 -2
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.d.ts +2 -2
- package/crud/contentEntry/beforeCreate.js +3 -1
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.d.ts +2 -2
- package/crud/contentEntry/beforeUpdate.js +3 -1
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
- package/crud/contentEntry/entryDataFactories/createEntryData.js +254 -0
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +23 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +157 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +63 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +59 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +40 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +130 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
- package/crud/contentEntry/entryDataFactories/index.js +95 -0
- package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
- package/crud/contentEntry/entryDataFactories/statuses.js +12 -0
- package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +5 -3
- package/crud/contentEntry/entryDataValidation.js +223 -45
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.d.ts +1 -1
- package/crud/contentEntry/markLockedFields.js +17 -10
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
- package/crud/contentEntry/referenceFieldsMapping.js +143 -91
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +2 -2
- package/crud/contentEntry/searchableFields.js +5 -4
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
- package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
- package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
- package/crud/contentEntry/useCases/index.d.ts +11 -0
- package/crud/contentEntry/useCases/index.js +128 -0
- package/crud/contentEntry/useCases/index.js.map +1 -0
- package/crud/contentEntry.crud.d.ts +6 -7
- package/crud/contentEntry.crud.js +655 -678
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +2 -2
- package/crud/contentModel/beforeCreate.js +11 -9
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.d.ts +3 -5
- package/crud/contentModel/beforeDelete.js +52 -20
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +2 -2
- package/crud/contentModel/beforeUpdate.js +3 -6
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
- package/crud/contentModel/compatibility/modelApiName.js +3 -1
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
- package/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
- package/crud/contentModel/contentModelManagerFactory.js +3 -1
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.d.ts +1 -1
- package/crud/contentModel/createFieldStorageId.js +3 -1
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/defaultFields.d.ts +1 -1
- package/crud/contentModel/defaultFields.js +3 -1
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel/ensureTypeTag.d.ts +5 -0
- package/crud/contentModel/ensureTypeTag.js +21 -0
- package/crud/contentModel/ensureTypeTag.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.d.ts +6 -2
- package/crud/contentModel/fields/descriptionField.js +17 -29
- package/crud/contentModel/fields/descriptionField.js.map +1 -1
- package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
- package/crud/contentModel/fields/getApplicableFieldById.js +15 -0
- package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
- package/crud/contentModel/fields/imageField.d.ts +2 -2
- package/crud/contentModel/fields/imageField.js +12 -33
- package/crud/contentModel/fields/imageField.js.map +1 -1
- package/crud/contentModel/fields/titleField.d.ts +6 -2
- package/crud/contentModel/fields/titleField.js +17 -44
- package/crud/contentModel/fields/titleField.js.map +1 -1
- package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
- package/crud/contentModel/listModelsFromDatabase.js +38 -0
- package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
- package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
- package/crud/contentModel/validate/endingAllowed.js +3 -1
- package/crud/contentModel/validate/endingAllowed.js.map +1 -1
- package/crud/contentModel/validate/isModelEndingAllowed.js +5 -4
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
- package/crud/contentModel/validate/modelId.d.ts +1 -1
- package/crud/contentModel/validate/modelId.js +3 -1
- package/crud/contentModel/validate/modelId.js.map +1 -1
- package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
- package/crud/contentModel/validate/pluralApiName.js +3 -1
- package/crud/contentModel/validate/pluralApiName.js.map +1 -1
- package/crud/contentModel/validate/singularApiName.d.ts +1 -1
- package/crud/contentModel/validate/singularApiName.js +3 -1
- package/crud/contentModel/validate/singularApiName.js.map +1 -1
- package/crud/contentModel/validateModel.d.ts +1 -1
- package/crud/contentModel/validateModel.js +3 -1
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +1 -1
- package/crud/contentModel/validateModelFields.js +9 -8
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validateStorageId.d.ts +1 -0
- package/crud/contentModel/validateStorageId.js +19 -0
- package/crud/contentModel/validateStorageId.js.map +1 -0
- package/crud/contentModel/validation.d.ts +553 -179
- package/crud/contentModel/validation.js +78 -18
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.d.ts +6 -4
- package/crud/contentModel.crud.js +192 -188
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
- package/crud/contentModelGroup/beforeCreate.js +15 -1
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
- package/crud/contentModelGroup/beforeDelete.js +3 -1
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
- package/crud/contentModelGroup/beforeUpdate.js +3 -1
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +9 -6
- package/crud/contentModelGroup/validation.js +5 -2
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.d.ts +6 -4
- package/crud/contentModelGroup.crud.js +127 -122
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/system.crud.d.ts +4 -4
- package/crud/system.crud.js +18 -11
- package/crud/system.crud.js.map +1 -1
- package/export/crud/exporting.d.ts +3 -0
- package/export/crud/exporting.js +49 -0
- package/export/crud/exporting.js.map +1 -0
- package/export/crud/importing.d.ts +3 -0
- package/export/crud/importing.js +79 -0
- package/export/crud/importing.js.map +1 -0
- package/export/crud/imports/importData.d.ts +14 -0
- package/export/crud/imports/importData.js +52 -0
- package/export/crud/imports/importData.js.map +1 -0
- package/export/crud/imports/importGroups.d.ts +8 -0
- package/export/crud/imports/importGroups.js +104 -0
- package/export/crud/imports/importGroups.js.map +1 -0
- package/export/crud/imports/importModels.d.ts +8 -0
- package/export/crud/imports/importModels.js +136 -0
- package/export/crud/imports/importModels.js.map +1 -0
- package/export/crud/imports/validateGroups.d.ts +8 -0
- package/export/crud/imports/validateGroups.js +112 -0
- package/export/crud/imports/validateGroups.js.map +1 -0
- package/export/crud/imports/validateInput.d.ts +19 -0
- package/export/crud/imports/validateInput.js +55 -0
- package/export/crud/imports/validateInput.js.map +1 -0
- package/export/crud/imports/validateModels.d.ts +12 -0
- package/export/crud/imports/validateModels.js +203 -0
- package/export/crud/imports/validateModels.js.map +1 -0
- package/export/crud/index.d.ts +4 -0
- package/export/crud/index.js +15 -0
- package/export/crud/index.js.map +1 -0
- package/export/crud/sanitize.d.ts +4 -0
- package/export/crud/sanitize.js +36 -0
- package/export/crud/sanitize.js.map +1 -0
- package/export/graphql/index.d.ts +3 -0
- package/export/graphql/index.js +188 -0
- package/export/graphql/index.js.map +1 -0
- package/export/index.d.ts +2 -0
- package/export/index.js +29 -0
- package/export/index.js.map +1 -0
- package/export/types.d.ts +113 -0
- package/export/types.js +21 -0
- package/export/types.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +28 -73
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +49 -40
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.d.ts +3 -0
- package/fieldConverters/index.js +7 -1
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.d.ts +3 -3
- package/graphql/buildSchemaPlugins.js +7 -1
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.d.ts +2 -0
- package/graphql/checkEndpointAccess.js +20 -0
- package/graphql/checkEndpointAccess.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +2 -2
- package/graphql/createExecutableSchema.js +17 -8
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/createRequestBody.d.ts +2 -0
- package/graphql/createRequestBody.js +16 -0
- package/graphql/createRequestBody.js.map +1 -0
- package/graphql/formatErrorPayload.d.ts +1 -0
- package/graphql/formatErrorPayload.js +27 -0
- package/graphql/formatErrorPayload.js.map +1 -0
- package/graphql/generateSchema.d.ts +2 -2
- package/graphql/generateSchema.js +9 -2
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema/generateCacheId.d.ts +10 -0
- package/graphql/getSchema/generateCacheId.js +17 -0
- package/graphql/getSchema/generateCacheId.js.map +1 -0
- package/graphql/getSchema/generateCacheKey.d.ts +10 -0
- package/graphql/getSchema/generateCacheKey.js +34 -0
- package/graphql/getSchema/generateCacheKey.js.map +1 -0
- package/graphql/getSchema.d.ts +16 -0
- package/graphql/getSchema.js +81 -0
- package/graphql/getSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.d.ts +2 -2
- package/graphql/graphQLHandlerFactory.js +8 -191
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.d.ts +11 -0
- package/graphql/handleRequest.js +86 -0
- package/graphql/handleRequest.js.map +1 -0
- package/graphql/index.d.ts +4 -3
- package/graphql/index.js +4 -2
- package/graphql/index.js.map +1 -1
- package/graphql/scalars/RevisionId.d.ts +2 -0
- package/graphql/scalars/RevisionId.js +26 -0
- package/graphql/scalars/RevisionId.js.map +1 -0
- package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
- package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
- package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
- package/graphql/schema/baseContentSchema.d.ts +3 -3
- package/graphql/schema/baseContentSchema.js +10 -15
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -3
- package/graphql/schema/baseSchema.js +103 -3
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.d.ts +3 -3
- package/graphql/schema/contentEntries.js +55 -18
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.d.ts +3 -3
- package/graphql/schema/contentModelGroups.js +6 -3
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.d.ts +4 -5
- package/graphql/schema/contentModels.js +31 -15
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +2 -2
- package/graphql/schema/createFieldResolvers.js +18 -24
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
- package/graphql/schema/createFieldTypePluginRecords.js +15 -0
- package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
- package/graphql/schema/createManageResolvers.d.ts +1 -2
- package/graphql/schema/createManageResolvers.js +41 -49
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +2 -2
- package/graphql/schema/createManageSDL.js +92 -42
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.d.ts +1 -2
- package/graphql/schema/createPreviewResolvers.js +11 -13
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.d.ts +1 -2
- package/graphql/schema/createReadResolvers.js +11 -13
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +2 -2
- package/graphql/schema/createReadSDL.js +34 -24
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/createSingularResolvers.d.ts +12 -0
- package/graphql/schema/createSingularResolvers.js +56 -0
- package/graphql/schema/createSingularResolvers.js.map +1 -0
- package/graphql/schema/createSingularSDL.d.ts +12 -0
- package/graphql/schema/createSingularSDL.js +95 -0
- package/graphql/schema/createSingularSDL.js.map +1 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveDelete.js +17 -4
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveList.js +3 -1
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
- package/graphql/schema/resolvers/manage/resolveListDeleted.js +20 -0
- package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +20 -0
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/preview/resolveList.js +3 -1
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/read/resolveGet.js +6 -5
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/read/resolveList.js +3 -1
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
- package/graphql/schema/resolvers/singular/resolveGet.js +21 -0
- package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.js +21 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
- package/graphql/schema/schemaPlugins.d.ts +3 -3
- package/graphql/schema/schemaPlugins.js +36 -22
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.d.ts +3 -6
- package/graphql/system.js +6 -13
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.d.ts +1 -1
- package/graphqlFields/boolean.js +3 -1
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.d.ts +1 -1
- package/graphqlFields/datetime.js +5 -5
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +132 -28
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/index.d.ts +0 -1
- package/graphqlFields/dynamicZone/index.js +2 -7
- package/graphqlFields/dynamicZone/index.js.map +1 -1
- package/graphqlFields/file.d.ts +1 -1
- package/graphqlFields/file.js +3 -1
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.d.ts +1 -2
- package/graphqlFields/helpers.js +6 -18
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.d.ts +1 -1
- package/graphqlFields/index.js +6 -2
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/json.d.ts +2 -0
- package/graphqlFields/json.js +49 -0
- package/graphqlFields/json.js.map +1 -0
- package/graphqlFields/longText.d.ts +1 -1
- package/graphqlFields/longText.js +14 -3
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.d.ts +1 -1
- package/graphqlFields/number.js +4 -1
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.d.ts +2 -2
- package/graphqlFields/object.js +40 -46
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.d.ts +1 -1
- package/graphqlFields/ref.js +36 -24
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
- package/graphqlFields/richText/richTextResolver.d.ts +7 -0
- package/graphqlFields/richText/richTextResolver.js +24 -0
- package/graphqlFields/richText/richTextResolver.js.map +1 -0
- package/graphqlFields/richText.d.ts +1 -1
- package/graphqlFields/richText.js +11 -3
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/searchableJson.d.ts +2 -0
- package/graphqlFields/searchableJson.js +60 -0
- package/graphqlFields/searchableJson.js.map +1 -0
- package/graphqlFields/text.d.ts +1 -1
- package/graphqlFields/text.js +5 -1
- package/graphqlFields/text.js.map +1 -1
- package/htmlRenderer/LexicalRenderer.d.ts +5 -0
- package/htmlRenderer/LexicalRenderer.js +28 -0
- package/htmlRenderer/LexicalRenderer.js.map +1 -0
- package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
- package/index.d.ts +14 -7
- package/index.js +95 -16
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.d.ts +11 -10
- package/modelManager/DefaultCmsModelManager.js +19 -18
- package/modelManager/DefaultCmsModelManager.js.map +1 -1
- package/modelManager/SingletonModelManager.d.ts +12 -0
- package/modelManager/SingletonModelManager.js +48 -0
- package/modelManager/SingletonModelManager.js.map +1 -0
- package/modelManager/index.d.ts +2 -1
- package/modelManager/index.js +19 -2
- package/modelManager/index.js.map +1 -1
- package/package.json +40 -44
- package/parameters/context.js +4 -2
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +7 -6
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +3 -1
- package/parameters/index.js.map +1 -1
- package/parameters/manual.d.ts +2 -1
- package/parameters/manual.js +9 -4
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +4 -3
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +17 -0
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.js +18 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
- package/plugins/CmsGroupPlugin.d.ts +15 -4
- package/plugins/CmsGroupPlugin.js +25 -7
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
- package/plugins/CmsModelFieldConverterPlugin.js +9 -4
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +37 -13
- package/plugins/CmsModelPlugin.js +155 -44
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.d.ts +3 -3
- package/plugins/CmsParametersPlugin.js +7 -4
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
- package/plugins/CmsRichTextRendererPlugin.js +28 -0
- package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
- package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
- package/plugins/StorageTransformPlugin.d.ts +7 -3
- package/plugins/StorageTransformPlugin.js +12 -5
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +25 -1
- package/plugins/index.js.map +1 -1
- package/storage/date.d.ts +3 -0
- package/storage/date.js +119 -0
- package/storage/date.js.map +1 -0
- package/storage/default.js +3 -1
- package/storage/default.js.map +1 -1
- package/storage/dynamicZone.d.ts +2 -0
- package/storage/dynamicZone.js +157 -0
- package/storage/dynamicZone.js.map +1 -0
- package/storage/index.d.ts +1 -0
- package/storage/index.js +21 -0
- package/storage/index.js.map +1 -0
- package/storage/json.d.ts +2 -0
- package/storage/json.js +56 -0
- package/storage/json.js.map +1 -0
- package/storage/object.js +24 -20
- package/storage/object.js.map +1 -1
- package/types/context.d.ts +146 -0
- package/types/context.js +7 -0
- package/types/context.js.map +1 -0
- package/types/fields/dynamicZoneField.d.ts +23 -0
- package/types/fields/dynamicZoneField.js +7 -0
- package/types/fields/dynamicZoneField.js.map +1 -0
- package/types/fields/objectField.d.ts +13 -0
- package/types/fields/objectField.js +7 -0
- package/types/fields/objectField.js.map +1 -0
- package/types/identity.d.ts +19 -0
- package/types/identity.js +7 -0
- package/types/identity.js.map +1 -0
- package/types/index.d.ts +10 -0
- package/types/index.js +117 -0
- package/types/index.js.map +1 -0
- package/types/model.d.ts +199 -0
- package/types/model.js +7 -0
- package/types/model.js.map +1 -0
- package/types/modelAst.d.ts +39 -0
- package/types/modelAst.js +7 -0
- package/types/modelAst.js.map +1 -0
- package/types/modelField.d.ts +330 -0
- package/types/modelField.js +7 -0
- package/types/modelField.js.map +1 -0
- package/types/modelGroup.d.ts +77 -0
- package/types/modelGroup.js +7 -0
- package/types/modelGroup.js.map +1 -0
- package/types/plugins.d.ts +365 -0
- package/types/plugins.js +7 -0
- package/types/plugins.js.map +1 -0
- package/types/types.d.ts +1897 -0
- package/{types.js → types/types.js} +33 -134
- package/types/types.js.map +1 -0
- package/utils/RichTextRenderer.d.ts +10 -0
- package/utils/RichTextRenderer.js +33 -0
- package/utils/RichTextRenderer.js.map +1 -0
- package/utils/caching/Cache.d.ts +5 -0
- package/utils/caching/Cache.js +48 -0
- package/utils/caching/Cache.js.map +1 -0
- package/utils/caching/CacheKey.d.ts +3 -0
- package/utils/caching/CacheKey.js +28 -0
- package/utils/caching/CacheKey.js.map +1 -0
- package/utils/caching/index.d.ts +2 -0
- package/utils/caching/index.js +29 -0
- package/utils/caching/index.js.map +1 -0
- package/utils/caching/types.d.ts +13 -0
- package/utils/caching/types.js +14 -0
- package/utils/caching/types.js.map +1 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.js +97 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +23 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +22 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
- package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
- package/utils/contentModelAst/CmsModelToAstConverter.js +28 -0
- package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
- package/utils/contentModelAst/index.d.ts +3 -0
- package/utils/contentModelAst/index.js +40 -0
- package/utils/contentModelAst/index.js.map +1 -0
- package/utils/converters/Converter.d.ts +3 -3
- package/utils/converters/Converter.js +4 -5
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.d.ts +2 -2
- package/utils/converters/ConverterCollection.js +13 -7
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +4 -8
- package/utils/converters/valueKeyStorageConverter.js +32 -26
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createModelField.d.ts +7 -0
- package/utils/createModelField.js +51 -0
- package/utils/createModelField.js.map +1 -0
- package/utils/createTypeFromFields.d.ts +1 -1
- package/utils/createTypeFromFields.js +8 -4
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.d.ts +0 -2
- package/utils/createTypeName.js +3 -9
- package/utils/createTypeName.js.map +1 -1
- package/utils/date.d.ts +10 -0
- package/utils/date.js +36 -0
- package/utils/date.js.map +1 -0
- package/utils/entryStorage.d.ts +16 -4
- package/utils/entryStorage.js +41 -5
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +9 -8
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.d.ts +2 -4
- package/utils/getBaseFieldType.js +3 -1
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.d.ts +2 -2
- package/utils/getEntryDescription.js +3 -1
- package/utils/getEntryDescription.js.map +1 -1
- package/utils/getEntryImage.d.ts +2 -2
- package/utils/getEntryImage.js +3 -1
- package/utils/getEntryImage.js.map +1 -1
- package/utils/getEntryTitle.d.ts +2 -2
- package/utils/getEntryTitle.js +3 -1
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +14 -3
- package/utils/getSchemaFromFieldPlugins.js +25 -6
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/identity.d.ts +2 -0
- package/utils/identity.js +20 -0
- package/utils/identity.js.map +1 -0
- package/utils/incrementEntryIdVersion.js +3 -1
- package/utils/incrementEntryIdVersion.js.map +1 -1
- package/utils/index.d.ts +2 -0
- package/utils/index.js +29 -0
- package/utils/index.js.map +1 -0
- package/utils/isHeadlessCmsReady.d.ts +2 -0
- package/utils/isHeadlessCmsReady.js +23 -0
- package/utils/isHeadlessCmsReady.js.map +1 -0
- package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
- package/utils/modelFieldTraverser/ModelFieldTraverser.js +41 -0
- package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
- package/utils/modelFieldTraverser/index.d.ts +1 -0
- package/utils/modelFieldTraverser/index.js +18 -0
- package/utils/modelFieldTraverser/index.js.map +1 -0
- package/utils/renderFields.d.ts +3 -2
- package/utils/renderFields.js +7 -2
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +2 -2
- package/utils/renderGetFilterFields.js +9 -21
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +3 -2
- package/utils/renderInputFields.js +17 -7
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +3 -1
- package/utils/renderListFilterFields.js +25 -22
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +4 -3
- package/utils/renderSortEnum.js +10 -3
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +3 -1
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.d.ts +1 -1
- package/validators/dateGte.js +3 -1
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.d.ts +1 -1
- package/validators/dateLte.js +3 -1
- package/validators/dateLte.js.map +1 -1
- package/validators/gte.d.ts +1 -1
- package/validators/gte.js +4 -3
- package/validators/gte.js.map +1 -1
- package/validators/in.d.ts +1 -1
- package/validators/in.js +4 -3
- package/validators/in.js.map +1 -1
- package/validators/index.js +4 -3
- package/validators/index.js.map +1 -1
- package/validators/lte.d.ts +1 -1
- package/validators/lte.js +4 -3
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.d.ts +1 -1
- package/validators/maxLength.js +4 -3
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.d.ts +1 -1
- package/validators/minLength.js +4 -3
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.d.ts +1 -1
- package/validators/pattern.js +5 -3
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.d.ts +1 -1
- package/validators/patternPlugins/email.js +4 -2
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.d.ts +1 -1
- package/validators/patternPlugins/index.js +3 -1
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.d.ts +1 -1
- package/validators/patternPlugins/lowerCase.js +3 -1
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +3 -1
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.d.ts +1 -1
- package/validators/patternPlugins/upperCase.js +3 -1
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +3 -1
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.d.ts +1 -1
- package/validators/patternPlugins/url.js +3 -1
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.d.ts +1 -1
- package/validators/required.js +3 -1
- package/validators/required.js.map +1 -1
- package/validators/timeGte.d.ts +1 -1
- package/validators/timeGte.js +4 -3
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.d.ts +1 -1
- package/validators/timeLte.js +4 -3
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.d.ts +1 -1
- package/validators/unique.js +4 -2
- package/validators/unique.js.map +1 -1
- package/crud/contentModel/afterCreate.d.ts +0 -8
- package/crud/contentModel/afterCreate.js +0 -16
- package/crud/contentModel/afterCreate.js.map +0 -1
- package/crud/contentModel/afterCreateFrom.d.ts +0 -8
- package/crud/contentModel/afterCreateFrom.js +0 -16
- package/crud/contentModel/afterCreateFrom.js.map +0 -1
- package/crud/contentModel/afterDelete.d.ts +0 -8
- package/crud/contentModel/afterDelete.js +0 -16
- package/crud/contentModel/afterDelete.js.map +0 -1
- package/crud/contentModel/afterUpdate.d.ts +0 -8
- package/crud/contentModel/afterUpdate.js +0 -16
- package/crud/contentModel/afterUpdate.js.map +0 -1
- package/crud/contentModel/createFieldModels.d.ts +0 -2
- package/crud/contentModel/createFieldModels.js +0 -26
- package/crud/contentModel/createFieldModels.js.map +0 -1
- package/crud/contentModel/fieldIdValidation.d.ts +0 -1
- package/crud/contentModel/fieldIdValidation.js +0 -25
- package/crud/contentModel/fieldIdValidation.js.map +0 -1
- package/crud/contentModel/idValidation.d.ts +0 -1
- package/crud/contentModel/idValidation.js +0 -22
- package/crud/contentModel/idValidation.js.map +0 -1
- package/crud/contentModel/models.d.ts +0 -4
- package/crud/contentModel/models.js +0 -192
- package/crud/contentModel/models.js.map +0 -1
- package/crud/contentModel/systemFields.d.ts +0 -1
- package/crud/contentModel/systemFields.js +0 -8
- package/crud/contentModel/systemFields.js.map +0 -1
- package/crud/contentModel/validateLayout.d.ts +0 -2
- package/crud/contentModel/validateLayout.js +0 -28
- package/crud/contentModel/validateLayout.js.map +0 -1
- package/crud/settings.crud.d.ts +0 -10
- package/crud/settings.crud.js +0 -66
- package/crud/settings.crud.js.map +0 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
- package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -63
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
- package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
- package/plugins/CmsGraphQLSchemaPlugin.js +0 -12
- package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
- package/types.d.ts +0 -2693
- package/types.js.map +0 -1
- package/upgrades/5.33.0/index.d.ts +0 -3
- package/upgrades/5.33.0/index.js +0 -182
- package/upgrades/5.33.0/index.js.map +0 -1
- package/upgrades/index.d.ts +0 -1
- package/upgrades/index.js +0 -12
- package/upgrades/index.js.map +0 -1
- package/utils/access.d.ts +0 -8
- package/utils/access.js +0 -76
- package/utils/access.js.map +0 -1
- package/utils/ownership.d.ts +0 -8
- package/utils/ownership.js +0 -33
- package/utils/ownership.js.map +0 -1
- package/utils/permissions.d.ts +0 -7
- package/utils/permissions.js +0 -91
- package/utils/permissions.js.map +0 -1
- package/utils/pluralizedTypeName.d.ts +0 -1
- package/utils/pluralizedTypeName.js +0 -26
- package/utils/pluralizedTypeName.js.map +0 -1
- package/validators/dynamicZone.d.ts +0 -2
- package/validators/dynamicZone.js +0 -20
- package/validators/dynamicZone.js.map +0 -1
|
@@ -4,197 +4,31 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.createContentEntryCrud =
|
|
8
|
-
var
|
|
9
|
-
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
10
|
-
var _mdbid = _interopRequireDefault(require("mdbid"));
|
|
7
|
+
exports.createContentEntryCrud = void 0;
|
|
8
|
+
var _utils = require("@webiny/utils");
|
|
11
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
12
10
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
13
11
|
var _entryDataValidation = require("./contentEntry/entryDataValidation");
|
|
14
12
|
var _pubsub = require("@webiny/pubsub");
|
|
15
13
|
var _beforeCreate = require("./contentEntry/beforeCreate");
|
|
16
14
|
var _beforeUpdate = require("./contentEntry/beforeUpdate");
|
|
17
|
-
var _utils = require("@webiny/utils");
|
|
18
15
|
var _afterDelete = require("./contentEntry/afterDelete");
|
|
19
|
-
var _referenceFieldsMapping = require("./contentEntry/referenceFieldsMapping");
|
|
20
|
-
var _permissions = require("../utils/permissions");
|
|
21
|
-
var _access = require("../utils/access");
|
|
22
|
-
var _ownership = require("../utils/ownership");
|
|
23
16
|
var _entryStorage = require("../utils/entryStorage");
|
|
24
|
-
var _valueKeyStorageConverter = require("../utils/converters/valueKeyStorageConverter");
|
|
25
17
|
var _searchableFields = require("./contentEntry/searchableFields");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const STATUS_DRAFT = "draft";
|
|
32
|
-
exports.STATUS_DRAFT = STATUS_DRAFT;
|
|
33
|
-
const STATUS_PUBLISHED = "published";
|
|
34
|
-
exports.STATUS_PUBLISHED = STATUS_PUBLISHED;
|
|
35
|
-
const STATUS_UNPUBLISHED = "unpublished";
|
|
36
|
-
exports.STATUS_UNPUBLISHED = STATUS_UNPUBLISHED;
|
|
37
|
-
/**
|
|
38
|
-
* Used for some fields to convert their values.
|
|
39
|
-
*/
|
|
40
|
-
const convertDefaultValue = (field, value) => {
|
|
41
|
-
switch (field.type) {
|
|
42
|
-
case "boolean":
|
|
43
|
-
return Boolean(value);
|
|
44
|
-
case "number":
|
|
45
|
-
return Number(value);
|
|
46
|
-
default:
|
|
47
|
-
return value;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const getDefaultValue = field => {
|
|
51
|
-
const {
|
|
52
|
-
settings,
|
|
53
|
-
multipleValues
|
|
54
|
-
} = field;
|
|
55
|
-
if (settings && settings.defaultValue !== undefined) {
|
|
56
|
-
return convertDefaultValue(field, settings.defaultValue);
|
|
57
|
-
}
|
|
58
|
-
const {
|
|
59
|
-
predefinedValues
|
|
60
|
-
} = field;
|
|
61
|
-
if (!predefinedValues || !predefinedValues.enabled || Array.isArray(predefinedValues.values) === false) {
|
|
62
|
-
return undefined;
|
|
63
|
-
}
|
|
64
|
-
if (!multipleValues) {
|
|
65
|
-
const selectedValue = predefinedValues.values.find(value => {
|
|
66
|
-
return !!value.selected;
|
|
67
|
-
});
|
|
68
|
-
if (selectedValue) {
|
|
69
|
-
return convertDefaultValue(field, selectedValue.value);
|
|
70
|
-
}
|
|
71
|
-
return undefined;
|
|
72
|
-
}
|
|
73
|
-
return predefinedValues.values.filter(({
|
|
74
|
-
selected
|
|
75
|
-
}) => !!selected).map(({
|
|
76
|
-
value
|
|
77
|
-
}) => {
|
|
78
|
-
return convertDefaultValue(field, value);
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Cleans and adds default values to create input data.
|
|
83
|
-
*/
|
|
84
|
-
const mapAndCleanCreateInputData = (model, input) => {
|
|
85
|
-
return model.fields.reduce((acc, field) => {
|
|
86
|
-
/**
|
|
87
|
-
* This should never happen, but let's make it sure.
|
|
88
|
-
* The fix would be for the user to add the fieldId on the field definition.
|
|
89
|
-
*/
|
|
90
|
-
if (!field.fieldId) {
|
|
91
|
-
throw new _error.default("Field does not have an fieldId.", "MISSING_FIELD_ID", {
|
|
92
|
-
field
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
const value = input[field.fieldId];
|
|
96
|
-
/**
|
|
97
|
-
* We set the default value on create input if value is not defined.
|
|
98
|
-
*/
|
|
99
|
-
acc[field.fieldId] = value === undefined ? getDefaultValue(field) : value;
|
|
100
|
-
return acc;
|
|
101
|
-
}, {});
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Cleans the update input entry data.
|
|
105
|
-
*/
|
|
106
|
-
const mapAndCleanUpdatedInputData = (model, input) => {
|
|
107
|
-
return model.fields.reduce((acc, field) => {
|
|
108
|
-
/**
|
|
109
|
-
* This should never happen, but let's make it sure.
|
|
110
|
-
* The fix would be for the user to add the fieldId on the field definition.
|
|
111
|
-
*/
|
|
112
|
-
if (!field.fieldId) {
|
|
113
|
-
throw new _error.default("Field does not have an fieldId.", "MISSING_FIELD_ID", {
|
|
114
|
-
field
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* We cannot set default value here because user might want to update only certain field values.
|
|
119
|
-
*/
|
|
120
|
-
const value = input[field.fieldId];
|
|
121
|
-
if (value === undefined) {
|
|
122
|
-
return acc;
|
|
123
|
-
}
|
|
124
|
-
acc[field.fieldId] = value;
|
|
125
|
-
return acc;
|
|
126
|
-
}, {});
|
|
127
|
-
};
|
|
128
|
-
/**
|
|
129
|
-
* This method takes original entry meta and new input.
|
|
130
|
-
* When new meta is merged onto the existing one, everything that has undefined or null value is removed.
|
|
131
|
-
*/
|
|
132
|
-
const createEntryMeta = (input, original) => {
|
|
133
|
-
const meta = (0, _merge.default)(original || {}, input || {});
|
|
134
|
-
return (0, _utils.removeUndefinedValues)((0, _utils.removeNullValues)(meta));
|
|
135
|
-
};
|
|
136
|
-
const createEntryId = input => {
|
|
137
|
-
let entryId = (0, _mdbid.default)();
|
|
138
|
-
if (input.id) {
|
|
139
|
-
if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\-]+)([a-zA-Z0-9])$/) === null) {
|
|
140
|
-
throw new _error.default("The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.", "INVALID_ID", {
|
|
141
|
-
id: input.id
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
entryId = input.id;
|
|
145
|
-
}
|
|
146
|
-
const version = 1;
|
|
147
|
-
return {
|
|
148
|
-
entryId,
|
|
149
|
-
version,
|
|
150
|
-
id: (0, _utils.createIdentifier)({
|
|
151
|
-
id: entryId,
|
|
152
|
-
version
|
|
153
|
-
})
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
const increaseEntryIdVersion = id => {
|
|
157
|
-
const {
|
|
158
|
-
id: entryId,
|
|
159
|
-
version
|
|
160
|
-
} = (0, _utils.parseIdentifier)(id);
|
|
161
|
-
if (!version) {
|
|
162
|
-
throw new _error.default("Cannot increase version on the ID without the version part.", "WRONG_ID", {
|
|
163
|
-
id
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
entryId,
|
|
168
|
-
version: version + 1,
|
|
169
|
-
id: (0, _utils.createIdentifier)({
|
|
170
|
-
id: entryId,
|
|
171
|
-
version: version + 1
|
|
172
|
-
})
|
|
173
|
-
};
|
|
174
|
-
};
|
|
175
|
-
const allowedEntryStatus = ["draft", "published", "unpublished"];
|
|
176
|
-
const transformEntryStatus = status => {
|
|
177
|
-
return allowedEntryStatus.includes(status) ? status : "draft";
|
|
178
|
-
};
|
|
18
|
+
var _filterAsync = require("../utils/filterAsync");
|
|
19
|
+
var _constants = require("../constants");
|
|
20
|
+
var _entryDataFactories = require("./contentEntry/entryDataFactories");
|
|
21
|
+
var _useCases = require("./contentEntry/useCases");
|
|
22
|
+
var _ContentEntryTraverser = require("../utils/contentEntryTraverser/ContentEntryTraverser");
|
|
179
23
|
const createContentEntryCrud = params => {
|
|
180
24
|
const {
|
|
181
25
|
storageOperations,
|
|
26
|
+
accessControl,
|
|
182
27
|
context,
|
|
183
|
-
getIdentity,
|
|
28
|
+
getIdentity: getSecurityIdentity,
|
|
184
29
|
getTenant,
|
|
185
30
|
getLocale
|
|
186
31
|
} = params;
|
|
187
|
-
const {
|
|
188
|
-
plugins
|
|
189
|
-
} = context;
|
|
190
|
-
const getCreatedBy = () => {
|
|
191
|
-
const identity = getIdentity();
|
|
192
|
-
return {
|
|
193
|
-
id: identity.id,
|
|
194
|
-
displayName: identity.displayName,
|
|
195
|
-
type: identity.type
|
|
196
|
-
};
|
|
197
|
-
};
|
|
198
32
|
|
|
199
33
|
/**
|
|
200
34
|
* Create
|
|
@@ -217,6 +51,13 @@ const createContentEntryCrud = params => {
|
|
|
217
51
|
const onEntryAfterUpdate = (0, _pubsub.createTopic)("cms.onEntryAfterUpdate");
|
|
218
52
|
const onEntryUpdateError = (0, _pubsub.createTopic)("cms.onEntryUpdateError");
|
|
219
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Move
|
|
56
|
+
*/
|
|
57
|
+
const onEntryBeforeMove = (0, _pubsub.createTopic)("cms.onEntryBeforeMove");
|
|
58
|
+
const onEntryAfterMove = (0, _pubsub.createTopic)("cms.onEntryAfterMove");
|
|
59
|
+
const onEntryMoveError = (0, _pubsub.createTopic)("cms.onEntryMoveError");
|
|
60
|
+
|
|
220
61
|
/**
|
|
221
62
|
* Publish
|
|
222
63
|
*/
|
|
@@ -245,12 +86,25 @@ const createContentEntryCrud = params => {
|
|
|
245
86
|
const onEntryAfterDelete = (0, _pubsub.createTopic)("cms.onEntryAfterDelete");
|
|
246
87
|
const onEntryDeleteError = (0, _pubsub.createTopic)("cms.onEntryDeleteError");
|
|
247
88
|
|
|
89
|
+
/**
|
|
90
|
+
* Restore from bin
|
|
91
|
+
*/
|
|
92
|
+
const onEntryBeforeRestoreFromBin = (0, _pubsub.createTopic)("cms.onEntryBeforeRestoreFromBin");
|
|
93
|
+
const onEntryAfterRestoreFromBin = (0, _pubsub.createTopic)("cms.onEntryAfterRestoreFromBin");
|
|
94
|
+
const onEntryRestoreFromBinError = (0, _pubsub.createTopic)("cms.onEntryRestoreFromBinError");
|
|
95
|
+
|
|
248
96
|
/**
|
|
249
97
|
* Delete revision
|
|
250
98
|
*/
|
|
251
99
|
const onEntryRevisionBeforeDelete = (0, _pubsub.createTopic)("cms.onEntryRevisionBeforeDelete");
|
|
252
100
|
const onEntryRevisionAfterDelete = (0, _pubsub.createTopic)("cms.onEntryRevisionAfterDelete");
|
|
253
101
|
const onEntryRevisionDeleteError = (0, _pubsub.createTopic)("cms.onEntryRevisionDeleteError");
|
|
102
|
+
/**
|
|
103
|
+
* Delete multiple entries
|
|
104
|
+
*/
|
|
105
|
+
const onEntryBeforeDeleteMultiple = (0, _pubsub.createTopic)("cms.onEntryBeforeDeleteMultiple");
|
|
106
|
+
const onEntryAfterDeleteMultiple = (0, _pubsub.createTopic)("cms.onEntryAfterDeleteMultiple");
|
|
107
|
+
const onEntryDeleteMultipleError = (0, _pubsub.createTopic)("cms.onEntryDeleteMultipleError");
|
|
254
108
|
|
|
255
109
|
/**
|
|
256
110
|
* Get entry
|
|
@@ -277,279 +131,195 @@ const createContentEntryCrud = params => {
|
|
|
277
131
|
context,
|
|
278
132
|
onEntryAfterDelete
|
|
279
133
|
});
|
|
280
|
-
const
|
|
281
|
-
|
|
282
|
-
};
|
|
134
|
+
const transformEntryFromStorageCallable = (0, _entryStorage.createTransformEntryCallable)({
|
|
135
|
+
context
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* List entries
|
|
139
|
+
*/
|
|
140
|
+
const {
|
|
141
|
+
listEntriesUseCase,
|
|
142
|
+
listLatestUseCase,
|
|
143
|
+
listDeletedUseCase,
|
|
144
|
+
listPublishedUseCase,
|
|
145
|
+
getEntryUseCase
|
|
146
|
+
} = (0, _useCases.listEntriesUseCases)({
|
|
147
|
+
transform: transformEntryFromStorageCallable,
|
|
148
|
+
operation: storageOperations.entries.list,
|
|
149
|
+
accessControl,
|
|
150
|
+
topics: {
|
|
151
|
+
onEntryBeforeList
|
|
152
|
+
},
|
|
153
|
+
context,
|
|
154
|
+
getIdentity: getSecurityIdentity
|
|
155
|
+
});
|
|
283
156
|
|
|
284
157
|
/**
|
|
285
|
-
*
|
|
158
|
+
* Get entries by ids
|
|
286
159
|
*/
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
entry,
|
|
296
|
-
model
|
|
297
|
-
});
|
|
298
|
-
await storageOperations.entries.delete(model, {
|
|
299
|
-
entry
|
|
300
|
-
});
|
|
301
|
-
await onEntryAfterDelete.publish({
|
|
302
|
-
entry,
|
|
303
|
-
model
|
|
304
|
-
});
|
|
305
|
-
} catch (ex) {
|
|
306
|
-
await onEntryDeleteError.publish({
|
|
307
|
-
entry,
|
|
308
|
-
model,
|
|
309
|
-
error: ex
|
|
310
|
-
});
|
|
311
|
-
throw new _error.default(ex.message || "Could not delete entry.", ex.code || "DELETE_ERROR", {
|
|
312
|
-
entry
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
});
|
|
316
|
-
};
|
|
160
|
+
const {
|
|
161
|
+
getEntriesByIdsUseCase
|
|
162
|
+
} = (0, _useCases.getEntriesByIdsUseCases)({
|
|
163
|
+
transform: transformEntryFromStorageCallable,
|
|
164
|
+
operation: storageOperations.entries.getByIds,
|
|
165
|
+
accessControl
|
|
166
|
+
});
|
|
167
|
+
|
|
317
168
|
/**
|
|
318
|
-
*
|
|
169
|
+
* Get latest entries by ids
|
|
319
170
|
*/
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
171
|
+
const {
|
|
172
|
+
getLatestEntriesByIdsUseCase
|
|
173
|
+
} = (0, _useCases.getLatestEntriesByIdsUseCases)({
|
|
174
|
+
transform: transformEntryFromStorageCallable,
|
|
175
|
+
operation: storageOperations.entries.getLatestByIds,
|
|
176
|
+
accessControl
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Get published entries by ids
|
|
181
|
+
*/
|
|
182
|
+
const {
|
|
183
|
+
getPublishedEntriesByIdsUseCase
|
|
184
|
+
} = (0, _useCases.getPublishedEntriesByIdsUseCases)({
|
|
185
|
+
transform: transformEntryFromStorageCallable,
|
|
186
|
+
operation: storageOperations.entries.getPublishedByIds,
|
|
187
|
+
accessControl
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Get revisions by entryId
|
|
192
|
+
*/
|
|
193
|
+
const {
|
|
194
|
+
getRevisionsByEntryIdUseCase
|
|
195
|
+
} = (0, _useCases.getRevisionsByEntryIdUseCases)({
|
|
196
|
+
transform: transformEntryFromStorageCallable,
|
|
197
|
+
operation: storageOperations.entries.getRevisions,
|
|
198
|
+
accessControl
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Get revision by id
|
|
203
|
+
*/
|
|
204
|
+
const {
|
|
205
|
+
getRevisionByIdUseCase
|
|
206
|
+
} = (0, _useCases.getRevisionByIdUseCases)({
|
|
207
|
+
transform: transformEntryFromStorageCallable,
|
|
208
|
+
operation: storageOperations.entries.getRevisionById
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Get latest revision by entryId
|
|
213
|
+
*/
|
|
214
|
+
const {
|
|
215
|
+
getLatestRevisionByEntryIdUseCase,
|
|
216
|
+
getLatestRevisionByEntryIdWithDeletedUseCase,
|
|
217
|
+
getLatestRevisionByEntryIdDeletedUseCase
|
|
218
|
+
} = (0, _useCases.getLatestRevisionByEntryIdUseCases)({
|
|
219
|
+
transform: transformEntryFromStorageCallable,
|
|
220
|
+
operation: storageOperations.entries.getLatestRevisionByEntryId
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Get previous revision by entryId
|
|
225
|
+
*/
|
|
226
|
+
const {
|
|
227
|
+
getPreviousRevisionByEntryIdUseCase
|
|
228
|
+
} = (0, _useCases.getPreviousRevisionByEntryIdUseCases)({
|
|
229
|
+
transform: transformEntryFromStorageCallable,
|
|
230
|
+
operation: storageOperations.entries.getPreviousRevision
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Get published revision by entryId
|
|
235
|
+
*/
|
|
236
|
+
const {
|
|
237
|
+
getPublishedRevisionByEntryIdUseCase
|
|
238
|
+
} = (0, _useCases.getPublishedRevisionByEntryIdUseCases)({
|
|
239
|
+
transform: transformEntryFromStorageCallable,
|
|
240
|
+
operation: storageOperations.entries.getPublishedRevisionByEntryId
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Delete entry
|
|
245
|
+
*/
|
|
246
|
+
const {
|
|
247
|
+
deleteEntryUseCase,
|
|
248
|
+
moveEntryToBinUseCase,
|
|
249
|
+
deleteEntryOperation
|
|
250
|
+
} = (0, _useCases.deleteEntryUseCases)({
|
|
251
|
+
deleteOperation: storageOperations.entries.delete,
|
|
252
|
+
moveToBinOperation: storageOperations.entries.moveToBin,
|
|
253
|
+
getEntry: getLatestRevisionByEntryIdUseCase,
|
|
254
|
+
getEntryWithDeleted: getLatestRevisionByEntryIdWithDeletedUseCase,
|
|
255
|
+
getIdentity: getSecurityIdentity,
|
|
256
|
+
topics: {
|
|
257
|
+
onEntryBeforeDelete,
|
|
258
|
+
onEntryAfterDelete,
|
|
259
|
+
onEntryDeleteError
|
|
260
|
+
},
|
|
261
|
+
accessControl,
|
|
262
|
+
context
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Restore entry from bin
|
|
267
|
+
*/
|
|
268
|
+
const {
|
|
269
|
+
restoreEntryFromBinUseCase
|
|
270
|
+
} = (0, _useCases.restoreEntryFromBinUseCases)({
|
|
271
|
+
transform: transformEntryFromStorageCallable,
|
|
272
|
+
getEntry: getLatestRevisionByEntryIdDeletedUseCase,
|
|
273
|
+
getIdentity: getSecurityIdentity,
|
|
274
|
+
restoreOperation: storageOperations.entries.restoreFromBin,
|
|
275
|
+
topics: {
|
|
276
|
+
onEntryBeforeRestoreFromBin,
|
|
277
|
+
onEntryAfterRestoreFromBin,
|
|
278
|
+
onEntryRestoreFromBinError
|
|
279
|
+
},
|
|
280
|
+
accessControl,
|
|
281
|
+
context
|
|
282
|
+
});
|
|
283
|
+
const getEntryById = async (model, id) => {
|
|
337
284
|
const where = {
|
|
338
285
|
id
|
|
339
286
|
};
|
|
340
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
341
|
-
model: initialModel,
|
|
342
|
-
plugins
|
|
343
|
-
});
|
|
344
287
|
await onEntryBeforeGet.publish({
|
|
345
288
|
where,
|
|
346
289
|
model
|
|
347
290
|
});
|
|
348
|
-
const [entry] = await
|
|
291
|
+
const [entry] = await getEntriesByIdsUseCase.execute(model, {
|
|
292
|
+
ids: [id]
|
|
293
|
+
});
|
|
349
294
|
if (!entry) {
|
|
350
295
|
throw new _handlerGraphql.NotFoundError(`Entry by ID "${id}" not found.`);
|
|
351
296
|
}
|
|
297
|
+
// TODO figure out without casting
|
|
352
298
|
return entry;
|
|
353
299
|
};
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
});
|
|
358
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
359
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
360
|
-
model: initialModel,
|
|
361
|
-
plugins
|
|
362
|
-
});
|
|
363
|
-
const entries = await storageOperations.entries.getPublishedByIds(model, {
|
|
364
|
-
ids
|
|
365
|
-
});
|
|
366
|
-
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
367
|
-
};
|
|
368
|
-
const getLatestEntriesByIds = async (initialModel, ids) => {
|
|
369
|
-
const permission = await checkEntryPermissions({
|
|
370
|
-
rwd: "r"
|
|
371
|
-
});
|
|
372
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
373
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
374
|
-
model: initialModel,
|
|
375
|
-
plugins
|
|
376
|
-
});
|
|
377
|
-
const entries = await storageOperations.entries.getLatestByIds(model, {
|
|
378
|
-
ids
|
|
379
|
-
});
|
|
380
|
-
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
381
|
-
};
|
|
382
|
-
const getEntry = async (initialModel, params) => {
|
|
383
|
-
await checkEntryPermissions({
|
|
384
|
-
rwd: "r"
|
|
385
|
-
});
|
|
386
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
387
|
-
model: initialModel,
|
|
388
|
-
plugins
|
|
389
|
-
});
|
|
390
|
-
const {
|
|
391
|
-
where,
|
|
392
|
-
sort
|
|
393
|
-
} = params;
|
|
394
|
-
await onEntryBeforeGet.publish({
|
|
395
|
-
where,
|
|
396
|
-
model
|
|
397
|
-
});
|
|
398
|
-
const [items] = await listEntries(model, {
|
|
399
|
-
where,
|
|
400
|
-
sort,
|
|
401
|
-
limit: 1
|
|
402
|
-
});
|
|
403
|
-
const item = items.shift();
|
|
404
|
-
if (!item) {
|
|
405
|
-
throw new _handlerGraphql.NotFoundError(`Entry not found!`);
|
|
406
|
-
}
|
|
407
|
-
return item;
|
|
408
|
-
};
|
|
409
|
-
const getEntryRevisions = async (initialModel, entryId) => {
|
|
410
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
411
|
-
model: initialModel,
|
|
412
|
-
plugins
|
|
413
|
-
});
|
|
414
|
-
return storageOperations.entries.getRevisions(model, {
|
|
415
|
-
id: entryId
|
|
416
|
-
});
|
|
417
|
-
};
|
|
418
|
-
const listEntries = async (initialModel, params) => {
|
|
419
|
-
const permission = await checkEntryPermissions({
|
|
420
|
-
rwd: "r"
|
|
421
|
-
});
|
|
422
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
423
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
424
|
-
model: initialModel,
|
|
425
|
-
plugins
|
|
426
|
-
});
|
|
427
|
-
const {
|
|
428
|
-
where: initialWhere,
|
|
429
|
-
limit: initialLimit
|
|
430
|
-
} = params;
|
|
431
|
-
const limit = initialLimit && initialLimit > 0 ? initialLimit : 50;
|
|
432
|
-
/**
|
|
433
|
-
* We always assign tenant and locale because we do not allow one model to have content through multiple tenants.
|
|
434
|
-
*/
|
|
435
|
-
const where = (0, _objectSpread2.default)({}, initialWhere);
|
|
436
|
-
/**
|
|
437
|
-
* Possibly only get records which are owned by current user.
|
|
438
|
-
* Or if searching for the owner set that value - in the case that user can see other entries than their own.
|
|
439
|
-
*/
|
|
440
|
-
const ownedBy = permission.own ? getIdentity().id : where.ownedBy;
|
|
441
|
-
if (ownedBy !== undefined) {
|
|
442
|
-
where.ownedBy = ownedBy;
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Where must contain either latest or published keys.
|
|
446
|
-
* We cannot list entries without one of those
|
|
447
|
-
*/
|
|
448
|
-
if (where.latest && where.published) {
|
|
449
|
-
throw new _error.default("Cannot list entries that are both published and latest.", "LIST_ENTRIES_ERROR", {
|
|
450
|
-
where
|
|
451
|
-
});
|
|
452
|
-
} else if (!where.latest && !where.published) {
|
|
453
|
-
throw new _error.default("Cannot list entries if we do not have latest or published defined.", "LIST_ENTRIES_ERROR", {
|
|
454
|
-
where
|
|
455
|
-
});
|
|
456
|
-
}
|
|
457
|
-
const fields = (0, _searchableFields.getSearchableFields)({
|
|
458
|
-
fields: model.fields,
|
|
459
|
-
plugins: context.plugins,
|
|
460
|
-
input: params.fields || []
|
|
461
|
-
});
|
|
462
|
-
try {
|
|
463
|
-
await onEntryBeforeList.publish({
|
|
464
|
-
where,
|
|
465
|
-
model
|
|
466
|
-
});
|
|
467
|
-
const {
|
|
468
|
-
hasMoreItems,
|
|
469
|
-
totalCount,
|
|
470
|
-
cursor,
|
|
471
|
-
items
|
|
472
|
-
} = await storageOperations.entries.list(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
473
|
-
limit,
|
|
474
|
-
where,
|
|
475
|
-
fields
|
|
476
|
-
}));
|
|
477
|
-
const meta = {
|
|
478
|
-
hasMoreItems,
|
|
479
|
-
totalCount,
|
|
480
|
-
/**
|
|
481
|
-
* Cursor should be null if there are no more items to load.
|
|
482
|
-
* Just make sure of that, disregarding what is returned from the storageOperations.entries.list method.
|
|
483
|
-
*/
|
|
484
|
-
cursor: hasMoreItems ? cursor : null
|
|
485
|
-
};
|
|
486
|
-
return [items, meta];
|
|
487
|
-
} catch (ex) {
|
|
488
|
-
throw new _error.default("Error while fetching entries from storage.", "LIST_ENTRIES_ERROR", {
|
|
489
|
-
params,
|
|
490
|
-
error: {
|
|
491
|
-
message: ex.message,
|
|
492
|
-
code: ex.code,
|
|
493
|
-
data: ex.data
|
|
494
|
-
},
|
|
495
|
-
model,
|
|
496
|
-
fields
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
const createEntry = async (initialModel, inputData) => {
|
|
501
|
-
await checkEntryPermissions({
|
|
300
|
+
const createEntry = async (model, rawInput, options) => {
|
|
301
|
+
await accessControl.ensureCanAccessEntry({
|
|
302
|
+
model,
|
|
502
303
|
rwd: "w"
|
|
503
304
|
});
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
});
|
|
509
|
-
|
|
510
|
-
/**
|
|
511
|
-
* Make sure we only work with fields that are defined in the model.
|
|
512
|
-
*/
|
|
513
|
-
const initialInput = mapAndCleanCreateInputData(model, inputData);
|
|
514
|
-
await (0, _entryDataValidation.validateModelEntryData)({
|
|
305
|
+
const {
|
|
306
|
+
entry,
|
|
307
|
+
input
|
|
308
|
+
} = await (0, _entryDataFactories.createEntryData)({
|
|
515
309
|
context,
|
|
516
310
|
model,
|
|
517
|
-
|
|
311
|
+
options,
|
|
312
|
+
rawInput,
|
|
313
|
+
getLocale,
|
|
314
|
+
getTenant,
|
|
315
|
+
getIdentity: getSecurityIdentity,
|
|
316
|
+
accessControl
|
|
518
317
|
});
|
|
519
|
-
|
|
520
|
-
context,
|
|
318
|
+
await accessControl.ensureCanAccessEntry({
|
|
521
319
|
model,
|
|
522
|
-
|
|
523
|
-
|
|
320
|
+
entry,
|
|
321
|
+
rwd: "w"
|
|
524
322
|
});
|
|
525
|
-
const locale = getLocale();
|
|
526
|
-
const owner = getCreatedBy();
|
|
527
|
-
const {
|
|
528
|
-
id,
|
|
529
|
-
entryId,
|
|
530
|
-
version
|
|
531
|
-
} = createEntryId(inputData);
|
|
532
|
-
/**
|
|
533
|
-
* There is a possibility that user sends an ID in the input, so we will use that one.
|
|
534
|
-
* There is no check if the ID is unique or not, that is up to the user.
|
|
535
|
-
*/
|
|
536
|
-
const entry = {
|
|
537
|
-
webinyVersion: context.WEBINY_VERSION,
|
|
538
|
-
tenant: getTenant().id,
|
|
539
|
-
entryId,
|
|
540
|
-
id,
|
|
541
|
-
modelId: model.modelId,
|
|
542
|
-
locale: locale.code,
|
|
543
|
-
createdOn: new Date().toISOString(),
|
|
544
|
-
savedOn: new Date().toISOString(),
|
|
545
|
-
createdBy: owner,
|
|
546
|
-
ownedBy: owner,
|
|
547
|
-
modifiedBy: null,
|
|
548
|
-
version,
|
|
549
|
-
locked: false,
|
|
550
|
-
status: STATUS_DRAFT,
|
|
551
|
-
values: input
|
|
552
|
-
};
|
|
553
323
|
let storageEntry = null;
|
|
554
324
|
try {
|
|
555
325
|
await onEntryBeforeCreate.publish({
|
|
@@ -568,7 +338,7 @@ const createContentEntryCrud = params => {
|
|
|
568
338
|
model,
|
|
569
339
|
input
|
|
570
340
|
});
|
|
571
|
-
return
|
|
341
|
+
return entry;
|
|
572
342
|
} catch (ex) {
|
|
573
343
|
await onEntryCreateError.publish({
|
|
574
344
|
error: ex,
|
|
@@ -584,20 +354,11 @@ const createContentEntryCrud = params => {
|
|
|
584
354
|
});
|
|
585
355
|
}
|
|
586
356
|
};
|
|
587
|
-
const createEntryRevisionFrom = async (
|
|
588
|
-
|
|
357
|
+
const createEntryRevisionFrom = async (model, sourceId, rawInput, options) => {
|
|
358
|
+
await accessControl.ensureCanAccessEntry({
|
|
359
|
+
model,
|
|
589
360
|
rwd: "w"
|
|
590
361
|
});
|
|
591
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
592
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
593
|
-
model: initialModel,
|
|
594
|
-
plugins
|
|
595
|
-
});
|
|
596
|
-
|
|
597
|
-
/**
|
|
598
|
-
* Make sure we only work with fields that are defined in the model.
|
|
599
|
-
*/
|
|
600
|
-
const input = mapAndCleanUpdatedInputData(model, inputData);
|
|
601
362
|
|
|
602
363
|
/**
|
|
603
364
|
* Entries are identified by a common parent ID + Revision number.
|
|
@@ -605,55 +366,43 @@ const createContentEntryCrud = params => {
|
|
|
605
366
|
const {
|
|
606
367
|
id: uniqueId
|
|
607
368
|
} = (0, _utils.parseIdentifier)(sourceId);
|
|
608
|
-
const originalStorageEntry = await
|
|
369
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
609
370
|
id: sourceId
|
|
610
371
|
});
|
|
611
|
-
const latestStorageEntry = await
|
|
372
|
+
const latestStorageEntry = await getLatestRevisionByEntryIdUseCase.execute(model, {
|
|
612
373
|
id: uniqueId
|
|
613
374
|
});
|
|
614
375
|
if (!originalStorageEntry) {
|
|
615
376
|
throw new _handlerGraphql.NotFoundError(`Entry "${sourceId}" of model "${model.modelId}" was not found.`);
|
|
616
377
|
}
|
|
378
|
+
if (!latestStorageEntry) {
|
|
379
|
+
throw new _handlerGraphql.NotFoundError(`Latest entry "${uniqueId}" of model "${model.modelId}" was not found.`);
|
|
380
|
+
}
|
|
617
381
|
|
|
618
382
|
/**
|
|
619
383
|
* We need to convert data from DB to its original form before using it further.
|
|
620
384
|
*/
|
|
621
385
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
622
|
-
const
|
|
623
|
-
|
|
624
|
-
|
|
386
|
+
const {
|
|
387
|
+
entry,
|
|
388
|
+
input
|
|
389
|
+
} = await (0, _entryDataFactories.createEntryRevisionFromData)({
|
|
390
|
+
sourceId,
|
|
625
391
|
model,
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
});
|
|
629
|
-
const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
|
|
392
|
+
rawInput,
|
|
393
|
+
options,
|
|
630
394
|
context,
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
395
|
+
getIdentity: getSecurityIdentity,
|
|
396
|
+
getTenant,
|
|
397
|
+
getLocale,
|
|
398
|
+
originalEntry,
|
|
399
|
+
latestStorageEntry,
|
|
400
|
+
accessControl
|
|
634
401
|
});
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
id,
|
|
640
|
-
version: nextVersion
|
|
641
|
-
} = increaseEntryIdVersion(latestId);
|
|
642
|
-
const entry = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry), {}, {
|
|
643
|
-
id,
|
|
644
|
-
version: nextVersion,
|
|
645
|
-
savedOn: new Date().toISOString(),
|
|
646
|
-
createdOn: new Date().toISOString(),
|
|
647
|
-
createdBy: {
|
|
648
|
-
id: identity.id,
|
|
649
|
-
displayName: identity.displayName,
|
|
650
|
-
type: identity.type
|
|
651
|
-
},
|
|
652
|
-
modifiedBy: null,
|
|
653
|
-
locked: false,
|
|
654
|
-
publishedOn: undefined,
|
|
655
|
-
status: STATUS_DRAFT,
|
|
656
|
-
values
|
|
402
|
+
await accessControl.ensureCanAccessEntry({
|
|
403
|
+
model,
|
|
404
|
+
entry,
|
|
405
|
+
rwd: "w"
|
|
657
406
|
});
|
|
658
407
|
let storageEntry = null;
|
|
659
408
|
try {
|
|
@@ -675,7 +424,7 @@ const createContentEntryCrud = params => {
|
|
|
675
424
|
original: originalEntry,
|
|
676
425
|
storageEntry: result
|
|
677
426
|
});
|
|
678
|
-
return
|
|
427
|
+
return entry;
|
|
679
428
|
} catch (ex) {
|
|
680
429
|
await onEntryCreateRevisionError.publish({
|
|
681
430
|
entry,
|
|
@@ -693,25 +442,16 @@ const createContentEntryCrud = params => {
|
|
|
693
442
|
});
|
|
694
443
|
}
|
|
695
444
|
};
|
|
696
|
-
const updateEntry = async (
|
|
697
|
-
|
|
445
|
+
const updateEntry = async (model, id, rawInput, metaInput, options) => {
|
|
446
|
+
await accessControl.ensureCanAccessEntry({
|
|
447
|
+
model,
|
|
698
448
|
rwd: "w"
|
|
699
449
|
});
|
|
700
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
701
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
702
|
-
model: initialModel,
|
|
703
|
-
plugins
|
|
704
|
-
});
|
|
705
|
-
|
|
706
|
-
/**
|
|
707
|
-
* Make sure we only work with fields that are defined in the model.
|
|
708
|
-
*/
|
|
709
|
-
const input = mapAndCleanUpdatedInputData(model, inputData);
|
|
710
450
|
|
|
711
451
|
/**
|
|
712
452
|
* The entry we are going to update.
|
|
713
453
|
*/
|
|
714
|
-
const originalStorageEntry = await
|
|
454
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
715
455
|
id
|
|
716
456
|
});
|
|
717
457
|
if (!originalStorageEntry) {
|
|
@@ -721,33 +461,24 @@ const createContentEntryCrud = params => {
|
|
|
721
461
|
throw new _error.default(`Cannot update entry because it's locked.`, "CONTENT_ENTRY_UPDATE_ERROR");
|
|
722
462
|
}
|
|
723
463
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
724
|
-
|
|
725
|
-
|
|
464
|
+
const {
|
|
465
|
+
entry,
|
|
466
|
+
input
|
|
467
|
+
} = await (0, _entryDataFactories.createUpdateEntryData)({
|
|
726
468
|
model,
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
});
|
|
730
|
-
(0, _ownership.checkOwnership)(context, permission, originalEntry);
|
|
731
|
-
const initialValues = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry.values), input);
|
|
732
|
-
const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
|
|
469
|
+
rawInput,
|
|
470
|
+
options,
|
|
733
471
|
context,
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
472
|
+
getIdentity: getSecurityIdentity,
|
|
473
|
+
getTenant,
|
|
474
|
+
getLocale,
|
|
475
|
+
originalEntry,
|
|
476
|
+
metaInput
|
|
737
477
|
});
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
/**
|
|
743
|
-
* We always send the full entry to the hooks and storage operations update.
|
|
744
|
-
*/
|
|
745
|
-
const entry = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry), {}, {
|
|
746
|
-
savedOn: new Date().toISOString(),
|
|
747
|
-
modifiedBy: getCreatedBy(),
|
|
748
|
-
values,
|
|
749
|
-
meta,
|
|
750
|
-
status: transformEntryStatus(originalEntry.status)
|
|
478
|
+
await accessControl.ensureCanAccessEntry({
|
|
479
|
+
model,
|
|
480
|
+
entry,
|
|
481
|
+
rwd: "w"
|
|
751
482
|
});
|
|
752
483
|
let storageEntry = null;
|
|
753
484
|
try {
|
|
@@ -769,7 +500,7 @@ const createContentEntryCrud = params => {
|
|
|
769
500
|
input,
|
|
770
501
|
original: originalEntry
|
|
771
502
|
});
|
|
772
|
-
return
|
|
503
|
+
return entry;
|
|
773
504
|
} catch (ex) {
|
|
774
505
|
await onEntryUpdateError.publish({
|
|
775
506
|
entry,
|
|
@@ -786,44 +517,122 @@ const createContentEntryCrud = params => {
|
|
|
786
517
|
});
|
|
787
518
|
}
|
|
788
519
|
};
|
|
789
|
-
const
|
|
790
|
-
await
|
|
520
|
+
const validateEntry = async (model, id, inputData) => {
|
|
521
|
+
await accessControl.ensureCanAccessEntry({
|
|
522
|
+
model,
|
|
791
523
|
rwd: "w"
|
|
792
524
|
});
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
525
|
+
const input = (0, _entryDataFactories.mapAndCleanUpdatedInputData)(model, inputData || {});
|
|
526
|
+
let originalEntry;
|
|
527
|
+
if (id) {
|
|
528
|
+
/**
|
|
529
|
+
* The entry we are going to update.
|
|
530
|
+
*/
|
|
531
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
532
|
+
id
|
|
533
|
+
});
|
|
534
|
+
if (!originalStorageEntry) {
|
|
535
|
+
throw new _handlerGraphql.NotFoundError(`Entry "${id}" of model "${model.modelId}" was not found.`);
|
|
536
|
+
}
|
|
537
|
+
originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
538
|
+
}
|
|
539
|
+
await accessControl.ensureCanAccessEntry({
|
|
540
|
+
model,
|
|
541
|
+
entry: originalEntry,
|
|
542
|
+
rwd: "w"
|
|
543
|
+
});
|
|
544
|
+
const result = await (0, _entryDataValidation.validateModelEntryData)({
|
|
545
|
+
context,
|
|
546
|
+
model,
|
|
547
|
+
data: input,
|
|
548
|
+
entry: originalEntry
|
|
797
549
|
});
|
|
550
|
+
return result.length > 0 ? result : [];
|
|
551
|
+
};
|
|
552
|
+
const moveEntry = async (model, id, folderId) => {
|
|
553
|
+
await accessControl.ensureCanAccessEntry({
|
|
554
|
+
model,
|
|
555
|
+
rwd: "w"
|
|
556
|
+
});
|
|
557
|
+
|
|
798
558
|
/**
|
|
799
|
-
*
|
|
559
|
+
* The entry we are going to move to another folder.
|
|
800
560
|
*/
|
|
801
|
-
const originalStorageEntry = await
|
|
561
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
802
562
|
id
|
|
803
563
|
});
|
|
804
564
|
if (!originalStorageEntry) {
|
|
805
|
-
throw new _handlerGraphql.NotFoundError(`Entry "${id}" was not found
|
|
565
|
+
throw new _handlerGraphql.NotFoundError(`Entry "${id}" of model "${model.modelId}" was not found.`);
|
|
806
566
|
}
|
|
807
|
-
const
|
|
567
|
+
const entry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
568
|
+
await accessControl.ensureCanAccessEntry({
|
|
569
|
+
model,
|
|
570
|
+
entry,
|
|
571
|
+
rwd: "w"
|
|
572
|
+
});
|
|
573
|
+
|
|
808
574
|
/**
|
|
809
|
-
*
|
|
575
|
+
* No need to continue if the entry is already in the requested folder.
|
|
810
576
|
*/
|
|
811
|
-
if (
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
577
|
+
if (entry.location?.folderId === folderId) {
|
|
578
|
+
return entry;
|
|
579
|
+
}
|
|
580
|
+
try {
|
|
581
|
+
await onEntryBeforeMove.publish({
|
|
582
|
+
entry,
|
|
583
|
+
model,
|
|
584
|
+
folderId
|
|
585
|
+
});
|
|
586
|
+
await storageOperations.entries.move(model, id, folderId);
|
|
587
|
+
await onEntryAfterMove.publish({
|
|
588
|
+
entry,
|
|
589
|
+
model,
|
|
590
|
+
folderId
|
|
591
|
+
});
|
|
592
|
+
return entry;
|
|
593
|
+
} catch (ex) {
|
|
594
|
+
await onEntryMoveError.publish({
|
|
595
|
+
entry,
|
|
596
|
+
model,
|
|
597
|
+
folderId,
|
|
598
|
+
error: ex
|
|
599
|
+
});
|
|
600
|
+
throw _error.default.from(ex, {
|
|
601
|
+
message: `Could not move entry "${id}" of model "${model.modelId}".`,
|
|
602
|
+
code: "MOVE_ENTRY_ERROR"
|
|
815
603
|
});
|
|
816
604
|
}
|
|
817
|
-
|
|
818
|
-
|
|
605
|
+
};
|
|
606
|
+
const republishEntry = async (model, id) => {
|
|
607
|
+
await accessControl.ensureCanAccessEntry({
|
|
819
608
|
model,
|
|
820
|
-
|
|
821
|
-
|
|
609
|
+
rwd: "w",
|
|
610
|
+
pw: "p"
|
|
822
611
|
});
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Fetch the entry from the storage.
|
|
615
|
+
*/
|
|
616
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
617
|
+
id
|
|
618
|
+
});
|
|
619
|
+
if (!originalStorageEntry) {
|
|
620
|
+
throw new _handlerGraphql.NotFoundError(`Entry "${id}" was not found!`);
|
|
621
|
+
}
|
|
622
|
+
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
623
|
+
await accessControl.ensureCanAccessEntry({
|
|
624
|
+
model,
|
|
625
|
+
entry: originalEntry,
|
|
626
|
+
rwd: "w",
|
|
627
|
+
pw: "p"
|
|
628
|
+
});
|
|
629
|
+
const {
|
|
630
|
+
entry
|
|
631
|
+
} = await (0, _entryDataFactories.createRepublishEntryData)({
|
|
632
|
+
context,
|
|
633
|
+
model,
|
|
634
|
+
originalEntry,
|
|
635
|
+
getIdentity: getSecurityIdentity
|
|
827
636
|
});
|
|
828
637
|
const storageEntry = await (0, _entryStorage.entryToStorageTransform)(context, model, entry);
|
|
829
638
|
/**
|
|
@@ -854,9 +663,9 @@ const createContentEntryCrud = params => {
|
|
|
854
663
|
await onEntryAfterRepublish.publish({
|
|
855
664
|
entry,
|
|
856
665
|
model,
|
|
857
|
-
storageEntry
|
|
666
|
+
storageEntry: result
|
|
858
667
|
});
|
|
859
|
-
return
|
|
668
|
+
return entry;
|
|
860
669
|
} catch (ex) {
|
|
861
670
|
await onEntryRepublishError.publish({
|
|
862
671
|
entry,
|
|
@@ -868,53 +677,70 @@ const createContentEntryCrud = params => {
|
|
|
868
677
|
});
|
|
869
678
|
}
|
|
870
679
|
};
|
|
871
|
-
const deleteEntryRevision = async (
|
|
872
|
-
|
|
680
|
+
const deleteEntryRevision = async (model, revisionId) => {
|
|
681
|
+
await accessControl.ensureCanAccessEntry({
|
|
682
|
+
model,
|
|
873
683
|
rwd: "d"
|
|
874
684
|
});
|
|
875
|
-
await (0, _access.checkModelAccess)(context, initialModel);
|
|
876
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
877
|
-
model: initialModel,
|
|
878
|
-
plugins
|
|
879
|
-
});
|
|
880
685
|
const {
|
|
881
686
|
id: entryId,
|
|
882
687
|
version
|
|
883
688
|
} = (0, _utils.parseIdentifier)(revisionId);
|
|
884
|
-
const storageEntryToDelete = await
|
|
689
|
+
const storageEntryToDelete = await getRevisionByIdUseCase.execute(model, {
|
|
885
690
|
id: revisionId
|
|
886
691
|
});
|
|
887
|
-
const latestStorageEntry = await
|
|
692
|
+
const latestStorageEntry = await getLatestRevisionByEntryIdUseCase.execute(model, {
|
|
888
693
|
id: entryId
|
|
889
694
|
});
|
|
890
|
-
const
|
|
695
|
+
const storagePreviousEntry = await getPreviousRevisionByEntryIdUseCase.execute(model, {
|
|
891
696
|
entryId,
|
|
892
697
|
version: version
|
|
893
698
|
});
|
|
894
699
|
if (!storageEntryToDelete) {
|
|
895
700
|
throw new _handlerGraphql.NotFoundError(`Entry "${revisionId}" was not found!`);
|
|
896
701
|
}
|
|
897
|
-
(0, _ownership.checkOwnership)(context, permission, storageEntryToDelete);
|
|
898
702
|
const latestEntryRevisionId = latestStorageEntry ? latestStorageEntry.id : null;
|
|
899
703
|
const entryToDelete = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntryToDelete);
|
|
704
|
+
await accessControl.ensureCanAccessEntry({
|
|
705
|
+
model,
|
|
706
|
+
entry: entryToDelete,
|
|
707
|
+
rwd: "d"
|
|
708
|
+
});
|
|
709
|
+
|
|
900
710
|
/**
|
|
901
|
-
* If targeted record is the latest entry record and there is no previous one, we need
|
|
902
|
-
*
|
|
711
|
+
* If targeted record is the latest entry record and there is no previous one, we need
|
|
712
|
+
* to run full delete with hooks. In this case, `deleteRevision` hooks are not fired.
|
|
903
713
|
*/
|
|
904
|
-
if (entryToDelete.id === latestEntryRevisionId && !
|
|
905
|
-
return await
|
|
906
|
-
model,
|
|
714
|
+
if (entryToDelete.id === latestEntryRevisionId && !storagePreviousEntry) {
|
|
715
|
+
return await deleteEntryOperation.execute(model, {
|
|
907
716
|
entry: entryToDelete
|
|
908
717
|
});
|
|
909
718
|
}
|
|
910
719
|
/**
|
|
911
|
-
* If targeted record is latest entry revision, set the previous one as the new latest
|
|
720
|
+
* If targeted record is the latest entry revision, set the previous one as the new latest.
|
|
912
721
|
*/
|
|
913
722
|
let entryToSetAsLatest = null;
|
|
914
723
|
let storageEntryToSetAsLatest = null;
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
724
|
+
let updatedEntryToSetAsLatest = null;
|
|
725
|
+
let storageUpdatedEntryToSetAsLatest = null;
|
|
726
|
+
if (entryToDelete.id === latestEntryRevisionId && storagePreviousEntry) {
|
|
727
|
+
entryToSetAsLatest = await (0, _entryStorage.entryFromStorageTransform)(context, model, storagePreviousEntry);
|
|
728
|
+
storageEntryToSetAsLatest = storagePreviousEntry;
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Since we're setting a different revision as the latest, we need to update entry-level meta
|
|
732
|
+
* fields. The values are taken from the latest revision we're about to delete. The update of the
|
|
733
|
+
* new latest revision is performed within storage operations.
|
|
734
|
+
*/
|
|
735
|
+
const pickedEntryLevelMetaFields = (0, _constants.pickEntryMetaFields)(entryToDelete, _constants.isEntryLevelEntryMetaField);
|
|
736
|
+
updatedEntryToSetAsLatest = {
|
|
737
|
+
...entryToSetAsLatest,
|
|
738
|
+
...pickedEntryLevelMetaFields
|
|
739
|
+
};
|
|
740
|
+
storageUpdatedEntryToSetAsLatest = {
|
|
741
|
+
...storageEntryToSetAsLatest,
|
|
742
|
+
...pickedEntryLevelMetaFields
|
|
743
|
+
};
|
|
918
744
|
}
|
|
919
745
|
try {
|
|
920
746
|
await onEntryRevisionBeforeDelete.publish({
|
|
@@ -924,8 +750,8 @@ const createContentEntryCrud = params => {
|
|
|
924
750
|
await storageOperations.entries.deleteRevision(model, {
|
|
925
751
|
entry: entryToDelete,
|
|
926
752
|
storageEntry: storageEntryToDelete,
|
|
927
|
-
latestEntry:
|
|
928
|
-
latestStorageEntry:
|
|
753
|
+
latestEntry: updatedEntryToSetAsLatest,
|
|
754
|
+
latestStorageEntry: storageUpdatedEntryToSetAsLatest
|
|
929
755
|
});
|
|
930
756
|
await onEntryRevisionAfterDelete.publish({
|
|
931
757
|
entry: entryToDelete,
|
|
@@ -941,60 +767,135 @@ const createContentEntryCrud = params => {
|
|
|
941
767
|
error: ex,
|
|
942
768
|
entry: entryToDelete,
|
|
943
769
|
storageEntry: storageEntryToDelete,
|
|
944
|
-
latestEntry:
|
|
945
|
-
latestStorageEntry:
|
|
770
|
+
latestEntry: updatedEntryToSetAsLatest,
|
|
771
|
+
latestStorageEntry: storageUpdatedEntryToSetAsLatest
|
|
946
772
|
});
|
|
947
773
|
}
|
|
948
774
|
};
|
|
949
|
-
const
|
|
950
|
-
const
|
|
775
|
+
const deleteMultipleEntries = async (model, params) => {
|
|
776
|
+
const {
|
|
777
|
+
entries: input
|
|
778
|
+
} = params;
|
|
779
|
+
const maxDeletableEntries = 50;
|
|
780
|
+
const entryIdList = new Set();
|
|
781
|
+
for (const id of input) {
|
|
782
|
+
const {
|
|
783
|
+
id: entryId
|
|
784
|
+
} = (0, _utils.parseIdentifier)(id);
|
|
785
|
+
entryIdList.add(entryId);
|
|
786
|
+
}
|
|
787
|
+
const ids = Array.from(entryIdList);
|
|
788
|
+
if (ids.length > maxDeletableEntries) {
|
|
789
|
+
throw new _error.default("Cannot delete more than 50 entries at once.", "DELETE_ENTRIES_MAX", {
|
|
790
|
+
entries: ids
|
|
791
|
+
});
|
|
792
|
+
}
|
|
793
|
+
await accessControl.ensureCanAccessEntry({
|
|
794
|
+
model,
|
|
951
795
|
rwd: "d"
|
|
952
796
|
});
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
797
|
+
const {
|
|
798
|
+
items: entries
|
|
799
|
+
} = await storageOperations.entries.list(model, {
|
|
800
|
+
where: {
|
|
801
|
+
latest: true,
|
|
802
|
+
entryId_in: ids
|
|
803
|
+
},
|
|
804
|
+
limit: maxDeletableEntries + 1
|
|
960
805
|
});
|
|
961
|
-
|
|
962
|
-
|
|
806
|
+
/**
|
|
807
|
+
* We do not want to allow deleting entries that user does not own or cannot access.
|
|
808
|
+
*/
|
|
809
|
+
const items = (await (0, _filterAsync.filterAsync)(entries, async entry => {
|
|
810
|
+
return accessControl.canAccessEntry({
|
|
811
|
+
model,
|
|
812
|
+
entry: entry
|
|
813
|
+
});
|
|
814
|
+
})).map(entry => entry.id);
|
|
815
|
+
try {
|
|
816
|
+
await onEntryBeforeDeleteMultiple.publish({
|
|
817
|
+
entries,
|
|
818
|
+
ids,
|
|
819
|
+
model
|
|
820
|
+
});
|
|
821
|
+
await storageOperations.entries.deleteMultipleEntries(model, {
|
|
822
|
+
entries: items
|
|
823
|
+
});
|
|
824
|
+
await onEntryAfterDeleteMultiple.publish({
|
|
825
|
+
entries,
|
|
826
|
+
ids,
|
|
827
|
+
model
|
|
828
|
+
});
|
|
829
|
+
return items.map(id => {
|
|
830
|
+
return {
|
|
831
|
+
id
|
|
832
|
+
};
|
|
833
|
+
});
|
|
834
|
+
} catch (ex) {
|
|
835
|
+
await onEntryDeleteMultipleError.publish({
|
|
836
|
+
entries,
|
|
837
|
+
ids,
|
|
838
|
+
model,
|
|
839
|
+
error: ex
|
|
840
|
+
});
|
|
841
|
+
throw new _error.default(ex.message, ex.code || "DELETE_ENTRIES_MULTIPLE_ERROR", {
|
|
842
|
+
error: ex,
|
|
843
|
+
entries
|
|
844
|
+
});
|
|
963
845
|
}
|
|
964
|
-
(0, _ownership.checkOwnership)(context, permission, storageEntry);
|
|
965
|
-
const entry = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntry);
|
|
966
|
-
return await deleteEntryHelper({
|
|
967
|
-
model,
|
|
968
|
-
entry
|
|
969
|
-
});
|
|
970
846
|
};
|
|
971
|
-
const
|
|
972
|
-
const
|
|
847
|
+
const deleteEntry = async (model, id, options = {}) => {
|
|
848
|
+
const {
|
|
849
|
+
permanently = true
|
|
850
|
+
} = options;
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* If the 'permanently' flag is set to false, the entry must be moved to the bin; otherwise, deleted.
|
|
854
|
+
*/
|
|
855
|
+
if (!permanently) {
|
|
856
|
+
return await moveEntryToBinUseCase.execute(model, id, options);
|
|
857
|
+
}
|
|
858
|
+
return await deleteEntryUseCase.execute(model, id, options);
|
|
859
|
+
};
|
|
860
|
+
const publishEntry = async (model, id) => {
|
|
861
|
+
await accessControl.ensureCanAccessEntry({
|
|
862
|
+
model,
|
|
973
863
|
pw: "p"
|
|
974
864
|
});
|
|
975
|
-
await
|
|
976
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
977
|
-
model: initialModel,
|
|
978
|
-
plugins
|
|
979
|
-
});
|
|
980
|
-
const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
|
|
865
|
+
const originalStorageEntry = await getRevisionByIdUseCase.execute(model, {
|
|
981
866
|
id
|
|
982
867
|
});
|
|
983
868
|
if (!originalStorageEntry) {
|
|
984
869
|
throw new _handlerGraphql.NotFoundError(`Entry "${id}" in the model "${model.modelId}" was not found.`);
|
|
985
870
|
}
|
|
986
|
-
(0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
|
|
987
871
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
872
|
+
await accessControl.ensureCanAccessEntry({
|
|
873
|
+
model,
|
|
874
|
+
entry: originalEntry,
|
|
875
|
+
pw: "p"
|
|
876
|
+
});
|
|
877
|
+
|
|
878
|
+
// We need the latest entry to get the latest entry-level meta fields.
|
|
879
|
+
const latestStorageEntry = await getLatestRevisionByEntryIdUseCase.execute(model, {
|
|
880
|
+
id: originalEntry.entryId
|
|
881
|
+
});
|
|
882
|
+
if (!latestStorageEntry) {
|
|
883
|
+
throw new _handlerGraphql.NotFoundError(`Entry "${id}" in the model "${model.modelId}" was not found.`);
|
|
884
|
+
}
|
|
885
|
+
const latestEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, latestStorageEntry);
|
|
886
|
+
const {
|
|
887
|
+
entry
|
|
888
|
+
} = await (0, _entryDataFactories.createPublishEntryData)({
|
|
889
|
+
context,
|
|
890
|
+
model,
|
|
891
|
+
originalEntry,
|
|
892
|
+
latestEntry,
|
|
893
|
+
getIdentity: getSecurityIdentity
|
|
994
894
|
});
|
|
995
895
|
let storageEntry = null;
|
|
996
896
|
try {
|
|
997
897
|
await onEntryBeforePublish.publish({
|
|
898
|
+
original: originalEntry,
|
|
998
899
|
entry,
|
|
999
900
|
model
|
|
1000
901
|
});
|
|
@@ -1004,13 +905,15 @@ const createContentEntryCrud = params => {
|
|
|
1004
905
|
storageEntry
|
|
1005
906
|
});
|
|
1006
907
|
await onEntryAfterPublish.publish({
|
|
908
|
+
original: originalEntry,
|
|
1007
909
|
entry,
|
|
1008
910
|
storageEntry: result,
|
|
1009
911
|
model
|
|
1010
912
|
});
|
|
1011
|
-
return
|
|
913
|
+
return entry;
|
|
1012
914
|
} catch (ex) {
|
|
1013
915
|
await onEntryPublishError.publish({
|
|
916
|
+
original: originalEntry,
|
|
1014
917
|
entry,
|
|
1015
918
|
model,
|
|
1016
919
|
error: ex
|
|
@@ -1024,18 +927,15 @@ const createContentEntryCrud = params => {
|
|
|
1024
927
|
});
|
|
1025
928
|
}
|
|
1026
929
|
};
|
|
1027
|
-
const unpublishEntry = async (
|
|
1028
|
-
|
|
930
|
+
const unpublishEntry = async (model, id) => {
|
|
931
|
+
await accessControl.ensureCanAccessEntry({
|
|
932
|
+
model,
|
|
1029
933
|
pw: "u"
|
|
1030
934
|
});
|
|
1031
|
-
const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
|
|
1032
|
-
model: initialModel,
|
|
1033
|
-
plugins
|
|
1034
|
-
});
|
|
1035
935
|
const {
|
|
1036
936
|
id: entryId
|
|
1037
937
|
} = (0, _utils.parseIdentifier)(id);
|
|
1038
|
-
const originalStorageEntry = await
|
|
938
|
+
const originalStorageEntry = await getPublishedRevisionByEntryIdUseCase.execute(model, {
|
|
1039
939
|
id: entryId
|
|
1040
940
|
});
|
|
1041
941
|
if (!originalStorageEntry) {
|
|
@@ -1046,10 +946,19 @@ const createContentEntryCrud = params => {
|
|
|
1046
946
|
entry: originalStorageEntry
|
|
1047
947
|
});
|
|
1048
948
|
}
|
|
1049
|
-
(0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
|
|
1050
949
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
1051
|
-
|
|
1052
|
-
|
|
950
|
+
await accessControl.ensureCanAccessEntry({
|
|
951
|
+
model,
|
|
952
|
+
entry: originalEntry,
|
|
953
|
+
pw: "u"
|
|
954
|
+
});
|
|
955
|
+
const {
|
|
956
|
+
entry
|
|
957
|
+
} = await (0, _entryDataFactories.createUnpublishEntryData)({
|
|
958
|
+
context,
|
|
959
|
+
model,
|
|
960
|
+
originalEntry,
|
|
961
|
+
getIdentity: getSecurityIdentity
|
|
1053
962
|
});
|
|
1054
963
|
let storageEntry = null;
|
|
1055
964
|
try {
|
|
@@ -1067,7 +976,7 @@ const createContentEntryCrud = params => {
|
|
|
1067
976
|
storageEntry: result,
|
|
1068
977
|
model
|
|
1069
978
|
});
|
|
1070
|
-
return
|
|
979
|
+
return entry;
|
|
1071
980
|
} catch (ex) {
|
|
1072
981
|
await onEntryUnpublishError.publish({
|
|
1073
982
|
entry,
|
|
@@ -1082,73 +991,109 @@ const createContentEntryCrud = params => {
|
|
|
1082
991
|
});
|
|
1083
992
|
}
|
|
1084
993
|
};
|
|
1085
|
-
|
|
994
|
+
const getUniqueFieldValues = async (model, params) => {
|
|
995
|
+
await accessControl.ensureCanAccessEntry({
|
|
996
|
+
model
|
|
997
|
+
});
|
|
998
|
+
const {
|
|
999
|
+
where: initialWhere,
|
|
1000
|
+
fieldId
|
|
1001
|
+
} = params;
|
|
1002
|
+
const where = {
|
|
1003
|
+
...initialWhere
|
|
1004
|
+
};
|
|
1086
1005
|
/**
|
|
1087
|
-
*
|
|
1006
|
+
* Possibly only get records which are owned by current user.
|
|
1007
|
+
* Or if searching for the owner set that value - in the case that user can see other entries than their own.
|
|
1088
1008
|
*/
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
onBeforeEntryDelete: onEntryBeforeDelete,
|
|
1096
|
-
onAfterEntryDelete: onEntryAfterDelete,
|
|
1097
|
-
onBeforeEntryDeleteRevision: onEntryRevisionBeforeDelete,
|
|
1098
|
-
onAfterEntryDeleteRevision: onEntryRevisionAfterDelete,
|
|
1099
|
-
onBeforeEntryPublish: onEntryBeforePublish,
|
|
1100
|
-
onAfterEntryPublish: onEntryAfterPublish,
|
|
1101
|
-
onBeforeEntryUnpublish: onEntryBeforeUnpublish,
|
|
1102
|
-
onAfterEntryUnpublish: onEntryAfterUnpublish,
|
|
1103
|
-
onBeforeEntryGet: onEntryBeforeGet,
|
|
1104
|
-
onBeforeEntryList: onEntryBeforeList,
|
|
1009
|
+
if (await accessControl.canAccessOnlyOwnedEntries({
|
|
1010
|
+
model
|
|
1011
|
+
})) {
|
|
1012
|
+
where.createdBy = getSecurityIdentity().id;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1105
1015
|
/**
|
|
1106
|
-
*
|
|
1107
|
-
*
|
|
1108
|
-
|
|
1016
|
+
* Where must contain either latest or published keys.
|
|
1017
|
+
* We cannot list entries without one of those
|
|
1018
|
+
*/
|
|
1019
|
+
if (where.latest && where.published) {
|
|
1020
|
+
throw new _error.default("Cannot list entries that are both published and latest.", "LIST_ENTRIES_ERROR", {
|
|
1021
|
+
where
|
|
1022
|
+
});
|
|
1023
|
+
} else if (!where.latest && !where.published) {
|
|
1024
|
+
throw new _error.default("Cannot list entries if we do not have latest or published defined.", "LIST_ENTRIES_ERROR", {
|
|
1025
|
+
where
|
|
1026
|
+
});
|
|
1027
|
+
}
|
|
1028
|
+
/**
|
|
1029
|
+
* We need to verify that the field in question is searchable.
|
|
1109
1030
|
*/
|
|
1031
|
+
const fields = (0, _searchableFields.getSearchableFields)({
|
|
1032
|
+
fields: model.fields,
|
|
1033
|
+
plugins: context.plugins,
|
|
1034
|
+
input: []
|
|
1035
|
+
});
|
|
1036
|
+
if (!fields.includes(fieldId)) {
|
|
1037
|
+
throw new _error.default("Cannot list unique entry field values if the field is not searchable.", "LIST_UNIQUE_ENTRY_VALUES_ERROR", {
|
|
1038
|
+
fieldId
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
try {
|
|
1042
|
+
return await storageOperations.entries.getUniqueFieldValues(model, {
|
|
1043
|
+
where,
|
|
1044
|
+
fieldId
|
|
1045
|
+
});
|
|
1046
|
+
} catch (ex) {
|
|
1047
|
+
throw new _error.default("Error while fetching unique entry values from storage.", "LIST_UNIQUE_ENTRY_VALUES_ERROR", {
|
|
1048
|
+
error: {
|
|
1049
|
+
message: ex.message,
|
|
1050
|
+
code: ex.code,
|
|
1051
|
+
data: ex.data
|
|
1052
|
+
},
|
|
1053
|
+
model,
|
|
1054
|
+
where,
|
|
1055
|
+
fieldId
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
};
|
|
1059
|
+
const getEntryTraverser = async modelId => {
|
|
1060
|
+
const modelAstConverter = context.cms.getModelToAstConverter();
|
|
1061
|
+
const model = await context.cms.getModel(modelId);
|
|
1062
|
+
if (!model) {
|
|
1063
|
+
throw new Error(`Missing "${modelId}" model!`);
|
|
1064
|
+
}
|
|
1065
|
+
const modelAst = modelAstConverter.toAst(model);
|
|
1066
|
+
return new _ContentEntryTraverser.ContentEntryTraverser(modelAst);
|
|
1067
|
+
};
|
|
1068
|
+
return {
|
|
1069
|
+
getEntryTraverser,
|
|
1110
1070
|
onEntryBeforeCreate,
|
|
1111
1071
|
onEntryAfterCreate,
|
|
1112
1072
|
onEntryCreateError,
|
|
1113
|
-
/**
|
|
1114
|
-
* Create revision
|
|
1115
|
-
*/
|
|
1116
1073
|
onEntryRevisionBeforeCreate: onEntryBeforeCreateRevision,
|
|
1117
1074
|
onEntryRevisionAfterCreate,
|
|
1118
1075
|
onEntryRevisionCreateError: onEntryCreateRevisionError,
|
|
1119
|
-
/**
|
|
1120
|
-
* Update
|
|
1121
|
-
*/
|
|
1122
1076
|
onEntryBeforeUpdate,
|
|
1123
1077
|
onEntryAfterUpdate,
|
|
1124
1078
|
onEntryUpdateError,
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1079
|
+
onEntryBeforeMove,
|
|
1080
|
+
onEntryAfterMove,
|
|
1081
|
+
onEntryMoveError,
|
|
1128
1082
|
onEntryBeforeDelete,
|
|
1129
1083
|
onEntryAfterDelete,
|
|
1130
1084
|
onEntryDeleteError,
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1085
|
+
onEntryBeforeRestoreFromBin,
|
|
1086
|
+
onEntryAfterRestoreFromBin,
|
|
1087
|
+
onEntryRestoreFromBinError,
|
|
1134
1088
|
onEntryRevisionBeforeDelete,
|
|
1135
1089
|
onEntryRevisionAfterDelete,
|
|
1136
1090
|
onEntryRevisionDeleteError,
|
|
1137
|
-
/**
|
|
1138
|
-
* Publish
|
|
1139
|
-
*/
|
|
1140
1091
|
onEntryBeforePublish,
|
|
1141
1092
|
onEntryAfterPublish,
|
|
1142
1093
|
onEntryPublishError,
|
|
1143
|
-
/**
|
|
1144
|
-
* Republish
|
|
1145
|
-
*/
|
|
1146
1094
|
onEntryBeforeRepublish,
|
|
1147
1095
|
onEntryAfterRepublish,
|
|
1148
1096
|
onEntryRepublishError,
|
|
1149
|
-
/**
|
|
1150
|
-
* Unpublish
|
|
1151
|
-
*/
|
|
1152
1097
|
onEntryBeforeUnpublish,
|
|
1153
1098
|
onEntryAfterUnpublish,
|
|
1154
1099
|
onEntryUnpublishError,
|
|
@@ -1157,7 +1102,13 @@ const createContentEntryCrud = params => {
|
|
|
1157
1102
|
/**
|
|
1158
1103
|
* Get entries by exact revision IDs from the database.
|
|
1159
1104
|
*/
|
|
1160
|
-
getEntriesByIds,
|
|
1105
|
+
async getEntriesByIds(model, ids) {
|
|
1106
|
+
return context.benchmark.measure("headlessCms.crud.entries.getEntriesByIds", async () => {
|
|
1107
|
+
return getEntriesByIdsUseCase.execute(model, {
|
|
1108
|
+
ids
|
|
1109
|
+
});
|
|
1110
|
+
});
|
|
1111
|
+
},
|
|
1161
1112
|
/**
|
|
1162
1113
|
* Get a single entry by revision ID from the database.
|
|
1163
1114
|
*/
|
|
@@ -1171,7 +1122,9 @@ const createContentEntryCrud = params => {
|
|
|
1171
1122
|
*/
|
|
1172
1123
|
async getPublishedEntriesByIds(model, ids) {
|
|
1173
1124
|
return context.benchmark.measure("headlessCms.crud.entries.getPublishedEntriesByIds", async () => {
|
|
1174
|
-
return
|
|
1125
|
+
return getPublishedEntriesByIdsUseCase.execute(model, {
|
|
1126
|
+
ids
|
|
1127
|
+
});
|
|
1175
1128
|
});
|
|
1176
1129
|
},
|
|
1177
1130
|
/**
|
|
@@ -1179,22 +1132,24 @@ const createContentEntryCrud = params => {
|
|
|
1179
1132
|
*/
|
|
1180
1133
|
async getLatestEntriesByIds(model, ids) {
|
|
1181
1134
|
return context.benchmark.measure("headlessCms.crud.entries.getLatestEntriesByIds", async () => {
|
|
1182
|
-
return
|
|
1135
|
+
return await getLatestEntriesByIdsUseCase.execute(model, {
|
|
1136
|
+
ids
|
|
1137
|
+
});
|
|
1183
1138
|
});
|
|
1184
1139
|
},
|
|
1185
1140
|
async getEntryRevisions(model, entryId) {
|
|
1186
1141
|
return context.benchmark.measure("headlessCms.crud.entries.getEntryRevisions", async () => {
|
|
1187
|
-
return
|
|
1142
|
+
return getRevisionsByEntryIdUseCase.execute(model, {
|
|
1143
|
+
id: entryId
|
|
1144
|
+
});
|
|
1188
1145
|
});
|
|
1189
1146
|
},
|
|
1190
1147
|
/**
|
|
1191
|
-
* TODO determine if this method is required at all.
|
|
1192
|
-
*
|
|
1193
1148
|
* @internal
|
|
1194
1149
|
*/
|
|
1195
1150
|
async getEntry(model, params) {
|
|
1196
1151
|
return context.benchmark.measure("headlessCms.crud.entries.getEntry", async () => {
|
|
1197
|
-
return
|
|
1152
|
+
return await getEntryUseCase.execute(model, params);
|
|
1198
1153
|
});
|
|
1199
1154
|
},
|
|
1200
1155
|
/**
|
|
@@ -1204,42 +1159,47 @@ const createContentEntryCrud = params => {
|
|
|
1204
1159
|
*/
|
|
1205
1160
|
async listEntries(model, params) {
|
|
1206
1161
|
return context.benchmark.measure("headlessCms.crud.entries.listEntries", async () => {
|
|
1207
|
-
return
|
|
1162
|
+
return await listEntriesUseCase.execute(model, params);
|
|
1208
1163
|
});
|
|
1209
1164
|
},
|
|
1210
1165
|
async listLatestEntries(model, params) {
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
})
|
|
1166
|
+
return context.benchmark.measure("headlessCms.crud.entries.listLatestEntries", async () => {
|
|
1167
|
+
return await listLatestUseCase.execute(model, params);
|
|
1168
|
+
});
|
|
1169
|
+
},
|
|
1170
|
+
async listDeletedEntries(model, params) {
|
|
1171
|
+
return context.benchmark.measure("headlessCms.crud.entries.listDeletedEntries", async () => {
|
|
1172
|
+
return await listDeletedUseCase.execute(model, params);
|
|
1173
|
+
});
|
|
1219
1174
|
},
|
|
1220
1175
|
async listPublishedEntries(model, params) {
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
}, params || {}), {}, {
|
|
1225
|
-
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where), {}, {
|
|
1226
|
-
published: true
|
|
1227
|
-
})
|
|
1228
|
-
}));
|
|
1176
|
+
return context.benchmark.measure("headlessCms.crud.entries.listPublishedEntries", async () => {
|
|
1177
|
+
return await listPublishedUseCase.execute(model, params);
|
|
1178
|
+
});
|
|
1229
1179
|
},
|
|
1230
|
-
async createEntry(model, input) {
|
|
1180
|
+
async createEntry(model, input, options) {
|
|
1231
1181
|
return context.benchmark.measure("headlessCms.crud.entries.createEntry", async () => {
|
|
1232
|
-
return createEntry(model, input);
|
|
1182
|
+
return createEntry(model, input, options);
|
|
1233
1183
|
});
|
|
1234
1184
|
},
|
|
1235
|
-
async createEntryRevisionFrom(model, sourceId, input) {
|
|
1185
|
+
async createEntryRevisionFrom(model, sourceId, input, options) {
|
|
1236
1186
|
return context.benchmark.measure("headlessCms.crud.entries.createEntryRevisionFrom", async () => {
|
|
1237
|
-
return createEntryRevisionFrom(model, sourceId, input);
|
|
1187
|
+
return createEntryRevisionFrom(model, sourceId, input, options);
|
|
1238
1188
|
});
|
|
1239
1189
|
},
|
|
1240
|
-
async updateEntry(model, id, input, meta) {
|
|
1190
|
+
async updateEntry(model, id, input, meta, options) {
|
|
1241
1191
|
return context.benchmark.measure("headlessCms.crud.entries.updateEntry", async () => {
|
|
1242
|
-
return updateEntry(model, id, input, meta);
|
|
1192
|
+
return updateEntry(model, id, input, meta, options);
|
|
1193
|
+
});
|
|
1194
|
+
},
|
|
1195
|
+
async validateEntry(model, id, input) {
|
|
1196
|
+
return context.benchmark.measure("headlessCms.crud.entries.validateEntry", async () => {
|
|
1197
|
+
return validateEntry(model, id, input);
|
|
1198
|
+
});
|
|
1199
|
+
},
|
|
1200
|
+
async moveEntry(model, id, folderId) {
|
|
1201
|
+
return context.benchmark.measure("headlessCms.crud.entries.moveEntry", async () => {
|
|
1202
|
+
return moveEntry(model, id, folderId);
|
|
1243
1203
|
});
|
|
1244
1204
|
},
|
|
1245
1205
|
/**
|
|
@@ -1256,9 +1216,19 @@ const createContentEntryCrud = params => {
|
|
|
1256
1216
|
return deleteEntryRevision(model, id);
|
|
1257
1217
|
});
|
|
1258
1218
|
},
|
|
1259
|
-
async deleteEntry(model, entryId) {
|
|
1219
|
+
async deleteEntry(model, entryId, options) {
|
|
1260
1220
|
return context.benchmark.measure("headlessCms.crud.entries.deleteEntry", async () => {
|
|
1261
|
-
return deleteEntry(model, entryId);
|
|
1221
|
+
return deleteEntry(model, entryId, options);
|
|
1222
|
+
});
|
|
1223
|
+
},
|
|
1224
|
+
async restoreEntryFromBin(model, entryId) {
|
|
1225
|
+
return context.benchmark.measure("headlessCms.crud.entries.restoreEntryFromBin", async () => {
|
|
1226
|
+
return await restoreEntryFromBinUseCase.execute(model, entryId);
|
|
1227
|
+
});
|
|
1228
|
+
},
|
|
1229
|
+
async deleteMultipleEntries(model, ids) {
|
|
1230
|
+
return context.benchmark.measure("headlessCms.crud.entries.deleteMultipleEntries", async () => {
|
|
1231
|
+
return deleteMultipleEntries(model, ids);
|
|
1262
1232
|
});
|
|
1263
1233
|
},
|
|
1264
1234
|
async publishEntry(model, id) {
|
|
@@ -1270,7 +1240,14 @@ const createContentEntryCrud = params => {
|
|
|
1270
1240
|
return context.benchmark.measure("headlessCms.crud.entries.unpublishEntry", async () => {
|
|
1271
1241
|
return unpublishEntry(model, id);
|
|
1272
1242
|
});
|
|
1243
|
+
},
|
|
1244
|
+
async getUniqueFieldValues(model, params) {
|
|
1245
|
+
return context.benchmark.measure("headlessCms.crud.entries.getUniqueFieldValues", async () => {
|
|
1246
|
+
return getUniqueFieldValues(model, params);
|
|
1247
|
+
});
|
|
1273
1248
|
}
|
|
1274
1249
|
};
|
|
1275
1250
|
};
|
|
1276
|
-
exports.createContentEntryCrud = createContentEntryCrud;
|
|
1251
|
+
exports.createContentEntryCrud = createContentEntryCrud;
|
|
1252
|
+
|
|
1253
|
+
//# sourceMappingURL=contentEntry.crud.js.map
|