@webiny/api-headless-cms 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e
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 +43 -0
- package/constants.js +65 -3
- package/constants.js.map +1 -1
- package/context.d.ts +1 -1
- package/context.js +102 -68
- 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 +135 -112
- 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 -11
- package/crud/contentEntry.crud.js +508 -732
- 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 -16
- 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 +8 -7
- 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 +546 -204
- package/crud/contentModel/validation.js +76 -16
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.d.ts +6 -6
- package/crud/contentModel.crud.js +189 -195
- 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 +10 -7
- package/crud/contentModelGroup/validation.js +5 -2
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.d.ts +6 -6
- package/crud/contentModelGroup.crud.js +117 -127
- 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 +1 -1
- package/graphql/checkEndpointAccess.js +3 -1
- package/graphql/checkEndpointAccess.js.map +1 -1
- 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 +1 -1
- package/graphql/createRequestBody.js +3 -1
- package/graphql/createRequestBody.js.map +1 -1
- package/graphql/formatErrorPayload.js +3 -1
- package/graphql/formatErrorPayload.js.map +1 -1
- 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 +4 -5
- package/graphql/getSchema.js +29 -50
- package/graphql/getSchema.js.map +1 -1
- package/graphql/graphQLHandlerFactory.d.ts +2 -2
- package/graphql/graphQLHandlerFactory.js +3 -1
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.d.ts +2 -2
- package/graphql/handleRequest.js +11 -6
- package/graphql/handleRequest.js.map +1 -1
- 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 +72 -3
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.d.ts +3 -3
- package/graphql/schema/contentEntries.js +52 -20
- 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 +14 -14
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
- package/graphql/schema/createFieldTypePluginRecords.js +3 -1
- package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
- package/graphql/schema/createManageResolvers.d.ts +1 -2
- package/graphql/schema/createManageResolvers.js +34 -56
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +2 -2
- package/graphql/schema/createManageSDL.js +49 -22
- 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 +14 -8
- 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 +2 -2
- package/graphql/schema/resolvers/manage/resolveDelete.js +5 -2
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +4 -2
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
- 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 +2 -2
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
- 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 +2 -2
- package/graphql/schema/resolvers/manage/resolveMove.js +7 -10
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
- 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 +35 -12
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.d.ts +1 -1
- package/graphql/system.js +5 -2
- 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 +100 -23
- 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 +3 -1
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.d.ts +2 -2
- package/graphqlFields/object.js +38 -44
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.d.ts +1 -1
- package/graphqlFields/ref.js +29 -17
- 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 +3 -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 +13 -6
- package/index.js +82 -7
- 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 +38 -38
- 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 +35 -13
- package/plugins/CmsModelPlugin.js +150 -39
- 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 +1 -1
- package/plugins/StorageOperationsCmsModelPlugin.js +5 -6
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
- 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 +1 -0
- package/plugins/index.js +14 -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.d.ts → types/types.d.ts} +484 -1364
- package/{types.js → types/types.js} +25 -137
- 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 +3 -3
- package/utils/converters/valueKeyStorageConverter.js +11 -4
- 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 +6 -1
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.js +3 -1
- 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 +1 -1
- package/utils/getBaseFieldType.js +3 -1
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.d.ts +1 -1
- package/utils/getEntryDescription.js +3 -1
- package/utils/getEntryDescription.js.map +1 -1
- package/utils/getEntryImage.d.ts +1 -1
- package/utils/getEntryImage.js +3 -1
- package/utils/getEntryImage.js.map +1 -1
- package/utils/getEntryTitle.d.ts +1 -1
- 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 +1 -1
- package/utils/renderFields.js +5 -1
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +1 -1
- package/utils/renderGetFilterFields.js +5 -4
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +1 -1
- package/utils/renderInputFields.js +3 -1
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +1 -1
- package/utils/renderListFilterFields.js +12 -4
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +2 -2
- package/utils/renderSortEnum.js +5 -2
- 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/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 -12
- package/crud/settings.crud.js +0 -62
- 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.js.map +0 -1
- package/utils/permissions/EntriesPermissions.d.ts +0 -4
- package/utils/permissions/EntriesPermissions.js +0 -9
- package/utils/permissions/EntriesPermissions.js.map +0 -1
- package/utils/permissions/ModelGroupsPermissions.d.ts +0 -11
- package/utils/permissions/ModelGroupsPermissions.js +0 -48
- package/utils/permissions/ModelGroupsPermissions.js.map +0 -1
- package/utils/permissions/ModelsPermissions.d.ts +0 -20
- package/utils/permissions/ModelsPermissions.js +0 -91
- package/utils/permissions/ModelsPermissions.js.map +0 -1
- package/utils/permissions/SettingsPermissions.d.ts +0 -4
- package/utils/permissions/SettingsPermissions.js +0 -9
- package/utils/permissions/SettingsPermissions.js.map +0 -1
- package/validators/dynamicZone.d.ts +0 -2
- package/validators/dynamicZone.js +0 -20
- package/validators/dynamicZone.js.map +0 -1
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.createModelGroupsCrud = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _dataloader = _interopRequireDefault(require("dataloader"));
|
|
10
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
11
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
12
10
|
var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
|
|
@@ -17,84 +15,98 @@ var _beforeDelete = require("./contentModelGroup/beforeDelete");
|
|
|
17
15
|
var _validation = require("./contentModelGroup/validation");
|
|
18
16
|
var _utils = require("@webiny/utils");
|
|
19
17
|
var _filterAsync = require("../utils/filterAsync");
|
|
18
|
+
var _utils2 = require("../utils");
|
|
19
|
+
var _listGroupsFromDatabase = require("./contentModelGroup/listGroupsFromDatabase");
|
|
20
20
|
const createModelGroupsCrud = params => {
|
|
21
21
|
const {
|
|
22
22
|
getTenant,
|
|
23
23
|
getIdentity,
|
|
24
24
|
getLocale,
|
|
25
25
|
storageOperations,
|
|
26
|
-
|
|
26
|
+
accessControl,
|
|
27
27
|
context
|
|
28
28
|
} = params;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
locale: group.locale || locale
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
const groups = await storageOperations.groups.list({
|
|
40
|
-
where: {
|
|
41
|
-
tenant: getTenant().id,
|
|
42
|
-
locale: getLocale().code
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return [groups.concat(pluginsGroups)];
|
|
46
|
-
})
|
|
29
|
+
const filterGroup = async group => {
|
|
30
|
+
if (!group) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return accessControl.canAccessGroup({
|
|
34
|
+
group
|
|
35
|
+
});
|
|
47
36
|
};
|
|
37
|
+
const listDatabaseGroupsCache = (0, _utils2.createMemoryCache)();
|
|
38
|
+
const listFilteredDatabaseGroupsCache = (0, _utils2.createMemoryCache)();
|
|
39
|
+
const listPluginGroupsCache = (0, _utils2.createMemoryCache)();
|
|
48
40
|
const clearGroupsCache = () => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
listPluginGroupsCache.clear();
|
|
42
|
+
listDatabaseGroupsCache.clear();
|
|
43
|
+
listFilteredDatabaseGroupsCache.clear();
|
|
44
|
+
};
|
|
45
|
+
const fetchPluginGroups = (tenant, locale) => {
|
|
46
|
+
const pluginGroups = context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type);
|
|
47
|
+
const cacheKey = (0, _utils2.createCacheKey)({
|
|
48
|
+
tenant,
|
|
49
|
+
locale,
|
|
50
|
+
identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined,
|
|
51
|
+
groups: pluginGroups.map(({
|
|
52
|
+
contentModelGroup: group
|
|
53
|
+
}) => {
|
|
54
|
+
return `${group.id}#${group.slug}#${group.savedOn || "unknown"}`;
|
|
55
|
+
}).join("/")
|
|
56
|
+
});
|
|
57
|
+
return listPluginGroupsCache.getOrSet(cacheKey, async () => {
|
|
58
|
+
const groups = pluginGroups
|
|
59
|
+
/**
|
|
60
|
+
* We need to filter out groups that are not for this tenant or locale.
|
|
61
|
+
* If it does not have tenant or locale define, it is for every locale and tenant
|
|
62
|
+
*/.filter(plugin => {
|
|
63
|
+
const {
|
|
64
|
+
tenant: t,
|
|
65
|
+
locale: l
|
|
66
|
+
} = plugin.contentModelGroup;
|
|
67
|
+
if (t && t !== tenant) {
|
|
68
|
+
return false;
|
|
69
|
+
} else if (l && l !== locale) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}).map(plugin => {
|
|
74
|
+
return {
|
|
75
|
+
...plugin.contentModelGroup,
|
|
76
|
+
tenant,
|
|
77
|
+
locale,
|
|
78
|
+
webinyVersion: context.WEBINY_VERSION
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
return (0, _filterAsync.filterAsync)(groups, filterGroup);
|
|
82
|
+
});
|
|
52
83
|
};
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const locale = getLocale().code;
|
|
56
|
-
return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type)
|
|
84
|
+
const fetchGroups = async (tenant, locale) => {
|
|
85
|
+
const pluginGroups = await fetchPluginGroups(tenant, locale);
|
|
57
86
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
71
|
-
}).map(plugin => {
|
|
72
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
|
|
87
|
+
* Maybe we can cache based on permissions, not the identity id?
|
|
88
|
+
*
|
|
89
|
+
* TODO: @adrian please check if possible.
|
|
90
|
+
*/
|
|
91
|
+
const cacheKey = (0, _utils2.createCacheKey)({
|
|
92
|
+
tenant,
|
|
93
|
+
locale
|
|
94
|
+
});
|
|
95
|
+
const databaseGroups = await listDatabaseGroupsCache.getOrSet(cacheKey, async () => {
|
|
96
|
+
return await (0, _listGroupsFromDatabase.listGroupsFromDatabase)({
|
|
97
|
+
storageOperations,
|
|
73
98
|
tenant,
|
|
74
|
-
locale
|
|
75
|
-
webinyVersion: context.WEBINY_VERSION
|
|
99
|
+
locale
|
|
76
100
|
});
|
|
77
101
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
return
|
|
86
|
-
};
|
|
87
|
-
const listGroupsViaDataLoader = async params => {
|
|
88
|
-
const {
|
|
89
|
-
where
|
|
90
|
-
} = params || {};
|
|
91
|
-
try {
|
|
92
|
-
return await dataLoaders.listGroups.load("listGroups");
|
|
93
|
-
} catch (ex) {
|
|
94
|
-
throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
95
|
-
where
|
|
96
|
-
}));
|
|
97
|
-
}
|
|
102
|
+
const filteredCacheKey = (0, _utils2.createCacheKey)({
|
|
103
|
+
dbCacheKey: cacheKey.get(),
|
|
104
|
+
identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined
|
|
105
|
+
});
|
|
106
|
+
const groups = await listFilteredDatabaseGroupsCache.getOrSet(filteredCacheKey, async () => {
|
|
107
|
+
return (0, _filterAsync.filterAsync)(databaseGroups, filterGroup);
|
|
108
|
+
});
|
|
109
|
+
return groups.concat(pluginGroups);
|
|
98
110
|
};
|
|
99
111
|
|
|
100
112
|
/**
|
|
@@ -137,16 +149,16 @@ const createModelGroupsCrud = params => {
|
|
|
137
149
|
* CRUD Methods
|
|
138
150
|
*/
|
|
139
151
|
const getGroup = async id => {
|
|
140
|
-
await
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const group = await getGroupViaDataLoader(id);
|
|
144
|
-
await modelGroupsPermissions.ensure({
|
|
145
|
-
owns: group.createdBy
|
|
152
|
+
await accessControl.ensureCanAccessGroup();
|
|
153
|
+
const groups = await context.security.withoutAuthorization(async () => {
|
|
154
|
+
return fetchGroups(getTenant().id, getLocale().code);
|
|
146
155
|
});
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
const group = groups.find(group => group.id === id);
|
|
157
|
+
if (!group) {
|
|
158
|
+
throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
|
|
159
|
+
}
|
|
160
|
+
await accessControl.ensureCanAccessGroup({
|
|
161
|
+
group
|
|
150
162
|
});
|
|
151
163
|
return group;
|
|
152
164
|
};
|
|
@@ -158,32 +170,11 @@ const createModelGroupsCrud = params => {
|
|
|
158
170
|
tenant,
|
|
159
171
|
locale
|
|
160
172
|
} = where || {};
|
|
161
|
-
await
|
|
162
|
-
|
|
163
|
-
});
|
|
164
|
-
const response = await listGroupsViaDataLoader((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
|
|
165
|
-
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
|
|
166
|
-
tenant: tenant || getTenant().id,
|
|
167
|
-
locale: locale || getLocale().code
|
|
168
|
-
})
|
|
169
|
-
}));
|
|
170
|
-
return (0, _filterAsync.filterAsync)(response, async group => {
|
|
171
|
-
const ownsGroup = await modelGroupsPermissions.ensure({
|
|
172
|
-
owns: group.createdBy
|
|
173
|
-
}, {
|
|
174
|
-
throw: false
|
|
175
|
-
});
|
|
176
|
-
if (!ownsGroup) {
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
return await modelGroupsPermissions.canAccessGroup({
|
|
180
|
-
group,
|
|
181
|
-
locale: getLocale().code
|
|
182
|
-
});
|
|
183
|
-
});
|
|
173
|
+
await accessControl.ensureCanAccessGroup();
|
|
174
|
+
return fetchGroups(tenant || getTenant().id, locale || getLocale().code);
|
|
184
175
|
};
|
|
185
176
|
const createGroup = async input => {
|
|
186
|
-
await
|
|
177
|
+
await accessControl.ensureCanAccessGroup({
|
|
187
178
|
rwd: "w"
|
|
188
179
|
});
|
|
189
180
|
const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
|
|
@@ -192,8 +183,9 @@ const createModelGroupsCrud = params => {
|
|
|
192
183
|
}
|
|
193
184
|
const data = result.data;
|
|
194
185
|
const identity = getIdentity();
|
|
195
|
-
const id = (0, _utils.mdbid)();
|
|
196
|
-
const group =
|
|
186
|
+
const id = data.id || (0, _utils.mdbid)();
|
|
187
|
+
const group = {
|
|
188
|
+
...data,
|
|
197
189
|
id,
|
|
198
190
|
tenant: getTenant().id,
|
|
199
191
|
locale: getLocale().code,
|
|
@@ -205,6 +197,10 @@ const createModelGroupsCrud = params => {
|
|
|
205
197
|
type: identity.type
|
|
206
198
|
},
|
|
207
199
|
webinyVersion: context.WEBINY_VERSION
|
|
200
|
+
};
|
|
201
|
+
await accessControl.ensureCanAccessGroup({
|
|
202
|
+
group,
|
|
203
|
+
rwd: "w"
|
|
208
204
|
});
|
|
209
205
|
try {
|
|
210
206
|
await onGroupBeforeCreate.publish({
|
|
@@ -224,19 +220,20 @@ const createModelGroupsCrud = params => {
|
|
|
224
220
|
group,
|
|
225
221
|
error: ex
|
|
226
222
|
});
|
|
227
|
-
throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE",
|
|
223
|
+
throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE", {
|
|
224
|
+
...(ex.data || {}),
|
|
228
225
|
group,
|
|
229
226
|
input
|
|
230
|
-
})
|
|
227
|
+
});
|
|
231
228
|
}
|
|
232
229
|
};
|
|
233
230
|
const updateGroup = async (id, input) => {
|
|
234
|
-
await
|
|
231
|
+
await accessControl.ensureCanAccessGroup({
|
|
235
232
|
rwd: "w"
|
|
236
233
|
});
|
|
237
|
-
const original = await
|
|
238
|
-
await
|
|
239
|
-
|
|
234
|
+
const original = await getGroup(id);
|
|
235
|
+
await accessControl.ensureCanAccessGroup({
|
|
236
|
+
group: original
|
|
240
237
|
});
|
|
241
238
|
const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
|
|
242
239
|
if (!result.success) {
|
|
@@ -250,11 +247,13 @@ const createModelGroupsCrud = params => {
|
|
|
250
247
|
if (Object.keys(data).length === 0) {
|
|
251
248
|
return original;
|
|
252
249
|
}
|
|
253
|
-
const group =
|
|
250
|
+
const group = {
|
|
251
|
+
...original,
|
|
252
|
+
...data,
|
|
254
253
|
locale: getLocale().code,
|
|
255
254
|
tenant: getTenant().id,
|
|
256
255
|
savedOn: new Date().toISOString()
|
|
257
|
-
}
|
|
256
|
+
};
|
|
258
257
|
try {
|
|
259
258
|
await onGroupBeforeUpdate.publish({
|
|
260
259
|
original,
|
|
@@ -285,12 +284,12 @@ const createModelGroupsCrud = params => {
|
|
|
285
284
|
}
|
|
286
285
|
};
|
|
287
286
|
const deleteGroup = async id => {
|
|
288
|
-
await
|
|
287
|
+
await accessControl.ensureCanAccessGroup({
|
|
289
288
|
rwd: "d"
|
|
290
289
|
});
|
|
291
|
-
const group = await
|
|
292
|
-
await
|
|
293
|
-
|
|
290
|
+
const group = await getGroup(id);
|
|
291
|
+
await accessControl.ensureCanAccessGroup({
|
|
292
|
+
group
|
|
294
293
|
});
|
|
295
294
|
try {
|
|
296
295
|
await onGroupBeforeDelete.publish({
|
|
@@ -308,25 +307,14 @@ const createModelGroupsCrud = params => {
|
|
|
308
307
|
group,
|
|
309
308
|
error: ex
|
|
310
309
|
});
|
|
311
|
-
throw new _error.default(ex.message, ex.code || "DELETE_ERROR",
|
|
310
|
+
throw new _error.default(ex.message, ex.code || "DELETE_ERROR", {
|
|
311
|
+
...(ex.data || {}),
|
|
312
312
|
id
|
|
313
|
-
})
|
|
313
|
+
});
|
|
314
314
|
}
|
|
315
315
|
return true;
|
|
316
316
|
};
|
|
317
317
|
return {
|
|
318
|
-
/**
|
|
319
|
-
* Deprecated - will be removed in 5.36.0
|
|
320
|
-
*/
|
|
321
|
-
onBeforeGroupCreate: onGroupBeforeCreate,
|
|
322
|
-
onAfterGroupCreate: onGroupAfterCreate,
|
|
323
|
-
onBeforeGroupUpdate: onGroupBeforeUpdate,
|
|
324
|
-
onAfterGroupUpdate: onGroupAfterUpdate,
|
|
325
|
-
onBeforeGroupDelete: onGroupBeforeDelete,
|
|
326
|
-
onAfterGroupDelete: onGroupAfterDelete,
|
|
327
|
-
/**
|
|
328
|
-
* Released in 5.34.0
|
|
329
|
-
*/
|
|
330
318
|
onGroupBeforeCreate,
|
|
331
319
|
onGroupAfterCreate,
|
|
332
320
|
onGroupCreateError,
|
|
@@ -364,4 +352,6 @@ const createModelGroupsCrud = params => {
|
|
|
364
352
|
}
|
|
365
353
|
};
|
|
366
354
|
};
|
|
367
|
-
exports.createModelGroupsCrud = createModelGroupsCrud;
|
|
355
|
+
exports.createModelGroupsCrud = createModelGroupsCrud;
|
|
356
|
+
|
|
357
|
+
//# sourceMappingURL=contentModelGroup.crud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","modelGroupsPermissions","context","dataLoaders","listGroups","DataLoader","tenant","id","locale","code","pluginsGroups","getGroupsAsPlugins","map","group","groups","list","where","concat","clearGroupsCache","loader","Object","values","clearAll","plugins","byType","CmsGroupPlugin","type","filter","plugin","t","l","contentModelGroup","webinyVersion","WEBINY_VERSION","getGroupViaDataLoader","load","find","g","NotFoundError","listGroupsViaDataLoader","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupCreateError","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupUpdateError","onGroupBeforeDelete","onGroupAfterDelete","onGroupDeleteError","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","getGroup","ensure","rwd","owns","createdBy","ensureCanAccessGroup","response","filterAsync","ownsGroup","throw","canAccessGroup","createGroup","input","result","createGroupCreateValidation","safeParseAsync","success","createZodError","error","identity","mdbid","createdOn","Date","toISOString","savedOn","displayName","publish","create","updateGroup","original","createGroupUpdateValidation","keys","length","updatedGroup","update","deleteGroup","delete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","benchmark","measure"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroup,\n CmsContext,\n HeadlessCmsStorageOperations,\n OnGroupBeforeCreateTopicParams,\n OnGroupAfterCreateTopicParams,\n OnGroupBeforeUpdateTopicParams,\n OnGroupAfterUpdateTopicParams,\n OnGroupBeforeDeleteTopicParams,\n OnGroupAfterDeleteTopicParams,\n OnGroupCreateErrorTopicParams,\n OnGroupUpdateErrorTopicParams,\n OnGroupDeleteErrorTopicParams\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignBeforeGroupUpdate } from \"./contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"./contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"./contentModelGroup/beforeDelete\";\nimport {\n createGroupCreateValidation,\n createGroupUpdateValidation\n} from \"~/crud/contentModelGroup/validation\";\nimport { createZodError, mdbid } from \"@webiny/utils\";\nimport { ModelGroupsPermissions } from \"~/utils/permissions/ModelGroupsPermissions\";\nimport { filterAsync } from \"~/utils/filterAsync\";\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n modelGroupsPermissions: ModelGroupsPermissions;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const {\n getTenant,\n getIdentity,\n getLocale,\n storageOperations,\n modelGroupsPermissions,\n context\n } = params;\n\n const dataLoaders = {\n listGroups: new DataLoader(async () => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n const pluginsGroups = getGroupsAsPlugins().map(group => {\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n });\n\n const groups = await storageOperations.groups.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n\n return [groups.concat(pluginsGroups)];\n })\n };\n\n const clearGroupsCache = (): void => {\n for (const loader of Object.values(dataLoaders)) {\n loader.clearAll();\n }\n };\n\n const getGroupsAsPlugins = (): CmsGroup[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n /**\n * We need to filter out groups that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const getGroupViaDataLoader = async (id: string) => {\n const groups = await dataLoaders.listGroups.load(\"listGroups\");\n\n const group = groups.find(g => g.id === id);\n\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return group;\n };\n\n const listGroupsViaDataLoader = async (params: CmsGroupListParams) => {\n const { where } = params || {};\n\n try {\n return await dataLoaders.listGroups.load(\"listGroups\");\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"LIST_ERROR\", {\n ...(ex.data || {}),\n where\n });\n }\n };\n\n /**\n * Create\n */\n const onGroupBeforeCreate =\n createTopic<OnGroupBeforeCreateTopicParams>(\"cms.onGroupBeforeCreate\");\n const onGroupAfterCreate = createTopic<OnGroupAfterCreateTopicParams>(\"cms.onGroupAfterCreate\");\n const onGroupCreateError = createTopic<OnGroupCreateErrorTopicParams>(\"cms.onGroupCreateError\");\n /**\n * Update\n */\n const onGroupBeforeUpdate =\n createTopic<OnGroupBeforeUpdateTopicParams>(\"cms.onGroupBeforeUpdate\");\n const onGroupAfterUpdate = createTopic<OnGroupAfterUpdateTopicParams>(\"cms.onGroupAfterUpdate\");\n const onGroupUpdateError = createTopic<OnGroupUpdateErrorTopicParams>(\"cms.onGroupUpdateError\");\n /**\n * Delete\n */\n const onGroupBeforeDelete =\n createTopic<OnGroupBeforeDeleteTopicParams>(\"cms.onGroupBeforeDelete\");\n const onGroupAfterDelete = createTopic<OnGroupAfterDeleteTopicParams>(\"cms.onGroupAfterDelete\");\n const onGroupDeleteError = createTopic<OnGroupDeleteErrorTopicParams>(\"cms.onGroupDeleteError\");\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onGroupBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onGroupBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onGroupBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n /**\n * CRUD Methods\n */\n const getGroup: CmsGroupContext[\"getGroup\"] = async id => {\n await modelGroupsPermissions.ensure({ rwd: \"r\" });\n\n const group = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: group.createdBy });\n await modelGroupsPermissions.ensureCanAccessGroup({ group, locale: getLocale().code });\n\n return group;\n };\n const listGroups: CmsGroupContext[\"listGroups\"] = async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n\n await modelGroupsPermissions.ensure({ rwd: \"r\" });\n\n const response = await listGroupsViaDataLoader({\n ...(params || {}),\n where: {\n ...(where || {}),\n tenant: tenant || getTenant().id,\n locale: locale || getLocale().code\n }\n });\n\n return filterAsync(response, async group => {\n const ownsGroup = await modelGroupsPermissions.ensure(\n { owns: group.createdBy },\n { throw: false }\n );\n\n if (!ownsGroup) {\n return false;\n }\n\n return await modelGroupsPermissions.canAccessGroup({\n group,\n locale: getLocale().code\n });\n });\n };\n const createGroup: CmsGroupContext[\"createGroup\"] = async input => {\n await modelGroupsPermissions.ensure({ rwd: \"w\" });\n\n const result = await createGroupCreateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n const identity = getIdentity();\n\n const id = mdbid();\n const group: CmsGroup = {\n ...data,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n try {\n await onGroupBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onGroupAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n await onGroupCreateError.publish({\n input,\n group,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n };\n const updateGroup: CmsGroupContext[\"updateGroup\"] = async (id, input) => {\n await modelGroupsPermissions.ensure({ rwd: \"w\" });\n\n const original = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: original.createdBy });\n\n const result = await createGroupUpdateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(data).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...data,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onGroupBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onGroupAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n await onGroupUpdateError.publish({\n input,\n original,\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n };\n const deleteGroup: CmsGroupContext[\"deleteGroup\"] = async id => {\n await modelGroupsPermissions.ensure({ rwd: \"d\" });\n\n const group = await getGroupViaDataLoader(id);\n\n await modelGroupsPermissions.ensure({ owns: group.createdBy });\n\n try {\n await onGroupBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onGroupAfterDelete.publish({\n group\n });\n } catch (ex) {\n await onGroupDeleteError.publish({\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n };\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeGroupCreate: onGroupBeforeCreate,\n onAfterGroupCreate: onGroupAfterCreate,\n onBeforeGroupUpdate: onGroupBeforeUpdate,\n onAfterGroupUpdate: onGroupAfterUpdate,\n onBeforeGroupDelete: onGroupBeforeDelete,\n onAfterGroupDelete: onGroupAfterDelete,\n /**\n * Released in 5.34.0\n */\n onGroupBeforeCreate,\n onGroupAfterCreate,\n onGroupCreateError,\n onGroupBeforeUpdate,\n onGroupAfterUpdate,\n onGroupUpdateError,\n onGroupBeforeDelete,\n onGroupAfterDelete,\n onGroupDeleteError,\n clearGroupsCache,\n getGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.getGroup\", async () => {\n return getGroup(id);\n });\n },\n listGroups: async params => {\n return context.benchmark.measure(\"headlessCms.crud.groups.listGroups\", async () => {\n return listGroups(params);\n });\n },\n createGroup: async input => {\n return context.benchmark.measure(\"headlessCms.crud.groups.createGroup\", async () => {\n return createGroup(input);\n });\n },\n updateGroup: async (id, input) => {\n return context.benchmark.measure(\"headlessCms.crud.groups.updateGroup\", async () => {\n return updateGroup(id, input);\n });\n },\n deleteGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.deleteGroup\", async () => {\n return deleteGroup(id);\n });\n }\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_handlerGraphql","_CmsGroupPlugin","_pubsub","_beforeUpdate","_beforeCreate","_beforeDelete","_validation","_utils","_filterAsync","_utils2","_listGroupsFromDatabase","createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","accessControl","context","filterGroup","group","canAccessGroup","listDatabaseGroupsCache","createMemoryCache","listFilteredDatabaseGroupsCache","listPluginGroupsCache","clearGroupsCache","clear","fetchPluginGroups","tenant","locale","pluginGroups","plugins","byType","CmsGroupPlugin","type","cacheKey","createCacheKey","identity","security","isAuthorizationEnabled","id","undefined","groups","map","contentModelGroup","slug","savedOn","join","getOrSet","filter","plugin","t","l","webinyVersion","WEBINY_VERSION","filterAsync","fetchGroups","databaseGroups","listGroupsFromDatabase","filteredCacheKey","dbCacheKey","get","concat","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupCreateError","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupUpdateError","onGroupBeforeDelete","onGroupAfterDelete","onGroupDeleteError","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","getGroup","ensureCanAccessGroup","withoutAuthorization","code","find","NotFoundError","listGroups","where","createGroup","input","rwd","result","createGroupCreateValidation","safeParseAsync","success","createZodError","error","data","mdbid","createdOn","Date","toISOString","createdBy","displayName","publish","create","ex","WebinyError","message","updateGroup","original","createGroupUpdateValidation","Object","keys","length","updatedGroup","update","deleteGroup","delete","benchmark","measure","exports"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport type {\n CmsContext,\n CmsGroup,\n CmsGroupContext,\n HeadlessCmsStorageOperations,\n OnGroupAfterCreateTopicParams,\n OnGroupAfterDeleteTopicParams,\n OnGroupAfterUpdateTopicParams,\n OnGroupBeforeCreateTopicParams,\n OnGroupBeforeDeleteTopicParams,\n OnGroupBeforeUpdateTopicParams,\n OnGroupCreateErrorTopicParams,\n OnGroupDeleteErrorTopicParams,\n OnGroupUpdateErrorTopicParams\n} from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignBeforeGroupUpdate } from \"./contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"./contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"./contentModelGroup/beforeDelete\";\nimport {\n createGroupCreateValidation,\n createGroupUpdateValidation\n} from \"~/crud/contentModelGroup/validation\";\nimport { createZodError, mdbid } from \"@webiny/utils\";\nimport { filterAsync } from \"~/utils/filterAsync\";\nimport { createCacheKey, createMemoryCache } from \"~/utils\";\nimport { listGroupsFromDatabase } from \"~/crud/contentModelGroup/listGroupsFromDatabase\";\nimport type { AccessControl } from \"./AccessControl/AccessControl\";\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n accessControl: AccessControl;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, accessControl, context } = params;\n\n const filterGroup = async (group?: CmsGroup) => {\n if (!group) {\n return false;\n }\n\n return accessControl.canAccessGroup({ group });\n };\n\n const listDatabaseGroupsCache = createMemoryCache<Promise<CmsGroup[]>>();\n const listFilteredDatabaseGroupsCache = createMemoryCache<Promise<CmsGroup[]>>();\n const listPluginGroupsCache = createMemoryCache<Promise<CmsGroup[]>>();\n const clearGroupsCache = (): void => {\n listPluginGroupsCache.clear();\n listDatabaseGroupsCache.clear();\n listFilteredDatabaseGroupsCache.clear();\n };\n\n const fetchPluginGroups = (tenant: string, locale: string): Promise<CmsGroup[]> => {\n const pluginGroups = context.plugins.byType<CmsGroupPlugin>(CmsGroupPlugin.type);\n\n const cacheKey = createCacheKey({\n tenant,\n locale,\n identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined,\n groups: pluginGroups\n .map(({ contentModelGroup: group }) => {\n return `${group.id}#${group.slug}#${group.savedOn || \"unknown\"}`;\n })\n .join(\"/\")\n });\n\n return listPluginGroupsCache.getOrSet(cacheKey, async (): Promise<CmsGroup[]> => {\n const groups = pluginGroups\n /**\n * We need to filter out groups that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n });\n return filterAsync(groups, filterGroup);\n });\n };\n\n const fetchGroups = async (tenant: string, locale: string) => {\n const pluginGroups = await fetchPluginGroups(tenant, locale);\n /**\n * Maybe we can cache based on permissions, not the identity id?\n *\n * TODO: @adrian please check if possible.\n */\n const cacheKey = createCacheKey({\n tenant,\n locale\n });\n const databaseGroups = await listDatabaseGroupsCache.getOrSet(cacheKey, async () => {\n return await listGroupsFromDatabase({\n storageOperations,\n tenant,\n locale\n });\n });\n const filteredCacheKey = createCacheKey({\n dbCacheKey: cacheKey.get(),\n identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined\n });\n\n const groups = await listFilteredDatabaseGroupsCache.getOrSet(\n filteredCacheKey,\n async () => {\n return filterAsync(databaseGroups, filterGroup);\n }\n );\n\n return groups.concat(pluginGroups);\n };\n\n /**\n * Create\n */\n const onGroupBeforeCreate =\n createTopic<OnGroupBeforeCreateTopicParams>(\"cms.onGroupBeforeCreate\");\n const onGroupAfterCreate = createTopic<OnGroupAfterCreateTopicParams>(\"cms.onGroupAfterCreate\");\n const onGroupCreateError = createTopic<OnGroupCreateErrorTopicParams>(\"cms.onGroupCreateError\");\n /**\n * Update\n */\n const onGroupBeforeUpdate =\n createTopic<OnGroupBeforeUpdateTopicParams>(\"cms.onGroupBeforeUpdate\");\n const onGroupAfterUpdate = createTopic<OnGroupAfterUpdateTopicParams>(\"cms.onGroupAfterUpdate\");\n const onGroupUpdateError = createTopic<OnGroupUpdateErrorTopicParams>(\"cms.onGroupUpdateError\");\n /**\n * Delete\n */\n const onGroupBeforeDelete =\n createTopic<OnGroupBeforeDeleteTopicParams>(\"cms.onGroupBeforeDelete\");\n const onGroupAfterDelete = createTopic<OnGroupAfterDeleteTopicParams>(\"cms.onGroupAfterDelete\");\n const onGroupDeleteError = createTopic<OnGroupDeleteErrorTopicParams>(\"cms.onGroupDeleteError\");\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onGroupBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onGroupBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onGroupBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n /**\n * CRUD Methods\n */\n const getGroup: CmsGroupContext[\"getGroup\"] = async id => {\n await accessControl.ensureCanAccessGroup();\n\n const groups = await context.security.withoutAuthorization(async () => {\n return fetchGroups(getTenant().id, getLocale().code);\n });\n const group = groups.find(group => group.id === id);\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n\n await accessControl.ensureCanAccessGroup({ group });\n\n return group;\n };\n\n const listGroups: CmsGroupContext[\"listGroups\"] = async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n\n await accessControl.ensureCanAccessGroup();\n\n return fetchGroups(tenant || getTenant().id, locale || getLocale().code);\n };\n\n const createGroup: CmsGroupContext[\"createGroup\"] = async input => {\n await accessControl.ensureCanAccessGroup({ rwd: \"w\" });\n\n const result = await createGroupCreateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n const identity = getIdentity();\n\n const id = data.id || mdbid();\n const group: CmsGroup = {\n ...data,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n\n await accessControl.ensureCanAccessGroup({ group, rwd: \"w\" });\n\n try {\n await onGroupBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onGroupAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n await onGroupCreateError.publish({\n input,\n group,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n };\n const updateGroup: CmsGroupContext[\"updateGroup\"] = async (id, input) => {\n await accessControl.ensureCanAccessGroup({ rwd: \"w\" });\n\n const original = await getGroup(id);\n\n await accessControl.ensureCanAccessGroup({ group: original });\n\n const result = await createGroupUpdateValidation().safeParseAsync(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n const data = result.data;\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(data).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...data,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onGroupBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onGroupAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n await onGroupUpdateError.publish({\n input,\n original,\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n };\n const deleteGroup: CmsGroupContext[\"deleteGroup\"] = async id => {\n await accessControl.ensureCanAccessGroup({ rwd: \"d\" });\n\n const group = await getGroup(id);\n\n await accessControl.ensureCanAccessGroup({ group });\n\n try {\n await onGroupBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onGroupAfterDelete.publish({\n group\n });\n } catch (ex) {\n await onGroupDeleteError.publish({\n group,\n error: ex\n });\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n };\n\n return {\n onGroupBeforeCreate,\n onGroupAfterCreate,\n onGroupCreateError,\n onGroupBeforeUpdate,\n onGroupAfterUpdate,\n onGroupUpdateError,\n onGroupBeforeDelete,\n onGroupAfterDelete,\n onGroupDeleteError,\n clearGroupsCache,\n getGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.getGroup\", async () => {\n return getGroup(id);\n });\n },\n listGroups: async params => {\n return context.benchmark.measure(\"headlessCms.crud.groups.listGroups\", async () => {\n return listGroups(params);\n });\n },\n createGroup: async input => {\n return context.benchmark.measure(\"headlessCms.crud.groups.createGroup\", async () => {\n return createGroup(input);\n });\n },\n updateGroup: async (id, input) => {\n return context.benchmark.measure(\"headlessCms.crud.groups.updateGroup\", async () => {\n return updateGroup(id, input);\n });\n },\n deleteGroup: async id => {\n return context.benchmark.measure(\"headlessCms.crud.groups.deleteGroup\", async () => {\n return deleteGroup(id);\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/crud/system.crud.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../types";
|
|
2
|
-
import { Tenant } from "@webiny/api-tenancy/types";
|
|
3
|
-
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
4
|
-
import { I18NLocale } from "@webiny/api-i18n/types";
|
|
1
|
+
import type { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../types";
|
|
2
|
+
import type { Tenant } from "@webiny/api-tenancy/types";
|
|
3
|
+
import type { SecurityIdentity } from "@webiny/api-security/types";
|
|
4
|
+
import type { I18NLocale } from "@webiny/api-i18n/types";
|
|
5
5
|
interface CreateSystemCrudParams {
|
|
6
6
|
getTenant: () => Tenant;
|
|
7
7
|
getLocale: () => I18NLocale;
|
package/crud/system.crud.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.createSystemCrud = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
8
|
var _apiSecurity = require("@webiny/api-security");
|
|
10
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
11
10
|
var _pubsub = require("@webiny/pubsub");
|
|
@@ -33,16 +32,17 @@ const createSystemCrud = params => {
|
|
|
33
32
|
const system = await storageOperations.system.get({
|
|
34
33
|
tenant: getTenant().id
|
|
35
34
|
});
|
|
36
|
-
return
|
|
35
|
+
return system?.version || null;
|
|
37
36
|
};
|
|
38
37
|
const setVersion = async version => {
|
|
39
38
|
const original = await storageOperations.system.get({
|
|
40
39
|
tenant: getTenant().id
|
|
41
40
|
});
|
|
42
|
-
const system =
|
|
41
|
+
const system = {
|
|
42
|
+
...(original || {}),
|
|
43
43
|
version,
|
|
44
44
|
tenant: getTenant().id
|
|
45
|
-
}
|
|
45
|
+
};
|
|
46
46
|
if (!original) {
|
|
47
47
|
await storageOperations.system.create({
|
|
48
48
|
system
|
|
@@ -55,12 +55,7 @@ const createSystemCrud = params => {
|
|
|
55
55
|
};
|
|
56
56
|
return {
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
|
-
onBeforeSystemInstall: onSystemBeforeInstall,
|
|
61
|
-
onAfterSystemInstall: onSystemAfterInstall,
|
|
62
|
-
/**
|
|
63
|
-
* Released in 5.34.0
|
|
58
|
+
* Lifecycle Events.
|
|
64
59
|
*/
|
|
65
60
|
onSystemBeforeInstall,
|
|
66
61
|
onSystemAfterInstall,
|
|
@@ -112,6 +107,16 @@ const createSystemCrud = params => {
|
|
|
112
107
|
tenant: getTenant().id,
|
|
113
108
|
locale: getLocale().code
|
|
114
109
|
});
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* TODO: Implement this event in a better way, because this is easy to overlook and forget to update
|
|
113
|
+
* when new apps are added and have their own installers.
|
|
114
|
+
*
|
|
115
|
+
* Headless CMS is the last app that has an installer. Once its installation is finished,
|
|
116
|
+
* we need to notify the system that tenant is now ready to use, because many external plugins
|
|
117
|
+
* insert initial tenant data into various apps, copy data from other tenants, etc.
|
|
118
|
+
*/
|
|
119
|
+
await context.tenancy.onTenantAfterInstall.publish({});
|
|
115
120
|
} catch (ex) {
|
|
116
121
|
await onSystemInstallError.publish({
|
|
117
122
|
error: ex,
|
|
@@ -123,4 +128,6 @@ const createSystemCrud = params => {
|
|
|
123
128
|
}
|
|
124
129
|
};
|
|
125
130
|
};
|
|
126
|
-
exports.createSystemCrud = createSystemCrud;
|
|
131
|
+
exports.createSystemCrud = createSystemCrud;
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=system.crud.js.map
|
package/crud/system.crud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initialContentModelGroup","name","slug","description","icon","createSystemCrud","params","getTenant","getLocale","storageOperations","context","getIdentity","onSystemBeforeInstall","createTopic","onSystemAfterInstall","onSystemInstallError","getVersion","system","get","tenant","id","version","setVersion","original","create","update","
|
|
1
|
+
{"version":3,"names":["_apiSecurity","require","_error","_interopRequireDefault","_pubsub","initialContentModelGroup","name","slug","description","icon","createSystemCrud","params","getTenant","getLocale","storageOperations","context","getIdentity","onSystemBeforeInstall","createTopic","onSystemAfterInstall","onSystemInstallError","getVersion","system","get","tenant","id","version","setVersion","original","create","update","getSystemVersion","setSystemVersion","installSystem","identity","NotAuthorizedError","publish","locale","code","cms","createGroup","ex","WebinyError","message","group","WEBINY_VERSION","tenancy","onTenantAfterInstall","error","data","exports"],"sources":["system.crud.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport WebinyError from \"@webiny/error\";\nimport type {\n OnSystemAfterInstallTopicParams,\n OnSystemBeforeInstallTopicParams,\n CmsContext,\n CmsSystem,\n CmsSystemContext,\n HeadlessCmsStorageOperations,\n OnSystemInstallErrorTopicParams\n} from \"~/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\n\nconst initialContentModelGroup = {\n name: \"Ungrouped\",\n slug: \"ungrouped\",\n description: \"A generic content model group\",\n icon: \"fas/star\"\n};\n\ninterface CreateSystemCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createSystemCrud = (params: CreateSystemCrudParams): CmsSystemContext => {\n const { getTenant, getLocale, storageOperations, context, getIdentity } = params;\n\n const onSystemBeforeInstall = createTopic<OnSystemBeforeInstallTopicParams>(\n \"cms.onSystemBeforeInstall\"\n );\n const onSystemAfterInstall = createTopic<OnSystemAfterInstallTopicParams>(\n \"cms.onSystemAfterInstall\"\n );\n\n const onSystemInstallError = createTopic<OnSystemInstallErrorTopicParams>(\n \"cms.onSystemInstallError\"\n );\n\n const getVersion = async () => {\n if (!getTenant()) {\n return null;\n }\n\n const system = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n return system?.version || null;\n };\n\n const setVersion = async (version: string) => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n const system: CmsSystem = {\n ...(original || {}),\n version,\n tenant: getTenant().id\n };\n if (!original) {\n await storageOperations.system.create({\n system\n });\n return;\n }\n await storageOperations.system.update({\n system\n });\n };\n\n return {\n /**\n * Lifecycle Events.\n */\n onSystemBeforeInstall,\n onSystemAfterInstall,\n onSystemInstallError,\n getSystemVersion: getVersion,\n setSystemVersion: setVersion,\n installSystem: async (): Promise<void> => {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const version = await getVersion();\n if (version) {\n return;\n }\n try {\n /**\n * First trigger before install event.\n */\n await onSystemBeforeInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n /**\n * Add default content model group.\n */\n try {\n await context.cms.createGroup(initialContentModelGroup);\n } catch (ex) {\n throw new WebinyError(\n ex.message,\n \"CMS_INSTALLATION_CONTENT_MODEL_GROUP_ERROR\",\n {\n group: initialContentModelGroup\n }\n );\n }\n\n const system: CmsSystem = {\n version: context.WEBINY_VERSION,\n tenant: getTenant().id\n };\n /**\n * We need to create the system data.\n */\n await storageOperations.system.create({\n system\n });\n /**\n * And trigger after install event.\n */\n await onSystemAfterInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n /**\n * TODO: Implement this event in a better way, because this is easy to overlook and forget to update\n * when new apps are added and have their own installers.\n *\n * Headless CMS is the last app that has an installer. Once its installation is finished,\n * we need to notify the system that tenant is now ready to use, because many external plugins\n * insert initial tenant data into various apps, copy data from other tenants, etc.\n */\n await context.tenancy.onTenantAfterInstall.publish({});\n } catch (ex) {\n await onSystemInstallError.publish({\n error: ex,\n tenant: getTenant().id,\n locale: getLocale().code\n });\n throw new WebinyError(ex.message, ex.code, ex.data);\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|