@webiny/api-headless-cms 0.0.0-unstable.e3f4727c56 → 0.0.0-unstable.eb196ccd2f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.d.ts +44 -0
- package/constants.js +70 -0
- package/constants.js.map +1 -0
- package/context.d.ts +1 -1
- package/context.js +122 -52
- 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 +20 -10
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.d.ts +7 -1
- package/crud/contentEntry/referenceFieldsMapping.js +143 -91
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +2 -2
- package/crud/contentEntry/searchableFields.js +5 -4
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +10 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js +58 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +7 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js +17 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js +45 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js +22 -0
- package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +10 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js +33 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +7 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js +17 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js +45 -0
- package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +6 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js +21 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +9 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +54 -0
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +28 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.js +42 -0
- package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +15 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +22 -0
- package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +21 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js +28 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +20 -0
- package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +22 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +9 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +22 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js +21 -0
- package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +11 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +9 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +21 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +13 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +18 -0
- package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.js +29 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +11 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js +38 -0
- package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.js +62 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +14 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js +25 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js +24 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js +22 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +8 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +27 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +8 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js +26 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +7 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js +36 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +11 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js +41 -0
- package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -0
- package/crud/contentEntry/useCases/ListEntries/index.d.ts +26 -0
- package/crud/contentEntry/useCases/ListEntries/index.js +61 -0
- package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +10 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js +37 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +19 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js +42 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js +22 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +9 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +53 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +25 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +24 -0
- package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -0
- package/crud/contentEntry/useCases/index.d.ts +11 -0
- package/crud/contentEntry/useCases/index.js +128 -0
- package/crud/contentEntry/useCases/index.js.map +1 -0
- package/crud/contentEntry.crud.d.ts +9 -7
- package/crud/contentEntry.crud.js +1057 -998
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +2 -2
- package/crud/contentModel/beforeCreate.js +50 -85
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.d.ts +3 -5
- package/crud/contentModel/beforeDelete.js +52 -20
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +2 -2
- package/crud/contentModel/beforeUpdate.js +31 -6
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
- package/crud/contentModel/compatibility/modelApiName.js +26 -0
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
- 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 +5 -0
- package/crud/contentModel/defaultFields.js +60 -0
- package/crud/contentModel/defaultFields.js.map +1 -0
- 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 -0
- package/crud/contentModel/fields/descriptionField.js +30 -0
- package/crud/contentModel/fields/descriptionField.js.map +1 -0
- 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 -0
- package/crud/contentModel/fields/imageField.js +25 -0
- package/crud/contentModel/fields/imageField.js.map +1 -0
- package/crud/contentModel/fields/titleField.d.ts +6 -0
- package/crud/contentModel/fields/titleField.js +31 -0
- package/crud/contentModel/fields/titleField.js.map +1 -0
- 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 +6 -0
- package/crud/contentModel/validate/endingAllowed.js +28 -0
- package/crud/contentModel/validate/endingAllowed.js.map +1 -0
- package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js +25 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
- package/crud/contentModel/validate/modelId.d.ts +11 -0
- package/crud/contentModel/validate/modelId.js +38 -0
- package/crud/contentModel/validate/modelId.js.map +1 -0
- package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
- package/crud/contentModel/validate/pluralApiName.js +26 -0
- package/crud/contentModel/validate/pluralApiName.js.map +1 -0
- package/crud/contentModel/validate/singularApiName.d.ts +7 -0
- package/crud/contentModel/validate/singularApiName.js +26 -0
- package/crud/contentModel/validate/singularApiName.js.map +1 -0
- package/crud/contentModel/validateModel.d.ts +2 -1
- package/crud/contentModel/validateModel.js +3 -1
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +2 -1
- package/crud/contentModel/validateModelFields.js +27 -64
- 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 +583 -167
- package/crud/contentModel/validation.js +130 -22
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.d.ts +6 -4
- package/crud/contentModel.crud.js +480 -415
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
- package/crud/contentModelGroup/beforeCreate.js +15 -1
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
- package/crud/contentModelGroup/beforeDelete.js +3 -1
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
- package/crud/contentModelGroup/beforeUpdate.js +3 -1
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +9 -6
- package/crud/contentModelGroup/validation.js +5 -2
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.d.ts +6 -4
- package/crud/contentModelGroup.crud.js +261 -228
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/system.crud.d.ts +4 -4
- package/crud/system.crud.js +18 -11
- package/crud/system.crud.js.map +1 -1
- package/export/crud/exporting.d.ts +3 -0
- package/export/crud/exporting.js +49 -0
- package/export/crud/exporting.js.map +1 -0
- package/export/crud/importing.d.ts +3 -0
- package/export/crud/importing.js +79 -0
- package/export/crud/importing.js.map +1 -0
- package/export/crud/imports/importData.d.ts +14 -0
- package/export/crud/imports/importData.js +52 -0
- package/export/crud/imports/importData.js.map +1 -0
- package/export/crud/imports/importGroups.d.ts +8 -0
- package/export/crud/imports/importGroups.js +104 -0
- package/export/crud/imports/importGroups.js.map +1 -0
- package/export/crud/imports/importModels.d.ts +8 -0
- package/export/crud/imports/importModels.js +136 -0
- package/export/crud/imports/importModels.js.map +1 -0
- package/export/crud/imports/validateGroups.d.ts +8 -0
- package/export/crud/imports/validateGroups.js +112 -0
- package/export/crud/imports/validateGroups.js.map +1 -0
- package/export/crud/imports/validateInput.d.ts +19 -0
- package/export/crud/imports/validateInput.js +55 -0
- package/export/crud/imports/validateInput.js.map +1 -0
- package/export/crud/imports/validateModels.d.ts +12 -0
- package/export/crud/imports/validateModels.js +203 -0
- package/export/crud/imports/validateModels.js.map +1 -0
- package/export/crud/index.d.ts +4 -0
- package/export/crud/index.js +15 -0
- package/export/crud/index.js.map +1 -0
- package/export/crud/sanitize.d.ts +4 -0
- package/export/crud/sanitize.js +36 -0
- package/export/crud/sanitize.js.map +1 -0
- package/export/graphql/index.d.ts +3 -0
- package/export/graphql/index.js +188 -0
- package/export/graphql/index.js.map +1 -0
- package/export/index.d.ts +2 -0
- package/export/index.js +29 -0
- package/export/index.js.map +1 -0
- package/export/types.d.ts +113 -0
- package/export/types.js +21 -0
- package/export/types.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +5 -3
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +28 -73
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +49 -40
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.d.ts +3 -0
- package/fieldConverters/index.js +7 -1
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.d.ts +3 -3
- package/graphql/buildSchemaPlugins.js +7 -1
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.d.ts +2 -0
- package/graphql/checkEndpointAccess.js +20 -0
- package/graphql/checkEndpointAccess.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +2 -3
- package/graphql/createExecutableSchema.js +17 -8
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/createRequestBody.d.ts +2 -0
- package/graphql/createRequestBody.js +16 -0
- package/graphql/createRequestBody.js.map +1 -0
- package/graphql/formatErrorPayload.d.ts +1 -0
- package/graphql/formatErrorPayload.js +27 -0
- package/graphql/formatErrorPayload.js.map +1 -0
- package/graphql/generateSchema.d.ts +2 -2
- package/graphql/generateSchema.js +9 -2
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema/generateCacheId.d.ts +10 -0
- package/graphql/getSchema/generateCacheId.js +17 -0
- package/graphql/getSchema/generateCacheId.js.map +1 -0
- package/graphql/getSchema/generateCacheKey.d.ts +10 -0
- package/graphql/getSchema/generateCacheKey.js +34 -0
- package/graphql/getSchema/generateCacheKey.js.map +1 -0
- package/graphql/getSchema.d.ts +16 -0
- package/graphql/getSchema.js +81 -0
- package/graphql/getSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.d.ts +2 -2
- package/graphql/graphQLHandlerFactory.js +9 -146
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.d.ts +11 -0
- package/graphql/handleRequest.js +86 -0
- package/graphql/handleRequest.js.map +1 -0
- package/graphql/index.d.ts +4 -3
- package/graphql/index.js +4 -2
- package/graphql/index.js.map +1 -1
- package/graphql/scalars/RevisionId.d.ts +2 -0
- package/graphql/scalars/RevisionId.js +26 -0
- package/graphql/scalars/RevisionId.js.map +1 -0
- package/graphql/scalars/RevisionIdScalarPlugin.d.ts +2 -0
- package/graphql/scalars/RevisionIdScalarPlugin.js +18 -0
- package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -0
- package/graphql/schema/baseContentSchema.d.ts +3 -3
- package/graphql/schema/baseContentSchema.js +10 -21
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -3
- package/graphql/schema/baseSchema.js +103 -3
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.d.ts +3 -3
- package/graphql/schema/contentEntries.js +135 -61
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.d.ts +3 -3
- package/graphql/schema/contentModelGroups.js +13 -10
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.d.ts +4 -5
- package/graphql/schema/contentModels.js +54 -19
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +2 -2
- package/graphql/schema/createFieldResolvers.js +18 -24
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
- package/graphql/schema/createFieldTypePluginRecords.js +15 -0
- package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
- package/graphql/schema/createManageResolvers.d.ts +1 -2
- package/graphql/schema/createManageResolvers.js +63 -55
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +3 -2
- package/graphql/schema/createManageSDL.js +125 -69
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.d.ts +1 -2
- package/graphql/schema/createPreviewResolvers.js +14 -20
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.d.ts +1 -2
- package/graphql/schema/createReadResolvers.js +15 -21
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +3 -2
- package/graphql/schema/createReadSDL.js +50 -38
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/createSingularResolvers.d.ts +12 -0
- package/graphql/schema/createSingularResolvers.js +56 -0
- package/graphql/schema/createSingularResolvers.js.map +1 -0
- package/graphql/schema/createSingularSDL.d.ts +12 -0
- package/graphql/schema/createSingularSDL.js +95 -0
- package/graphql/schema/createSingularSDL.js.map +1 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveDelete.js +17 -4
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveList.js +3 -1
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +4 -0
- package/graphql/schema/resolvers/manage/resolveListDeleted.js +20 -0
- package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolvePublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +20 -0
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +2 -2
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +3 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/preview/resolveList.js +3 -1
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.d.ts +2 -2
- package/graphql/schema/resolvers/read/resolveGet.js +6 -5
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.d.ts +2 -2
- package/graphql/schema/resolvers/read/resolveList.js +3 -1
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.d.ts +7 -0
- package/graphql/schema/resolvers/singular/resolveGet.js +21 -0
- package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +8 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.js +21 -0
- package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -0
- package/graphql/schema/schemaPlugins.d.ts +3 -3
- package/graphql/schema/schemaPlugins.js +39 -25
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.d.ts +3 -6
- package/graphql/system.js +6 -13
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.d.ts +1 -1
- package/graphqlFields/boolean.js +3 -1
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.d.ts +1 -1
- package/graphqlFields/datetime.js +5 -5
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +142 -30
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/index.d.ts +0 -1
- package/graphqlFields/dynamicZone/index.js +2 -7
- package/graphqlFields/dynamicZone/index.js.map +1 -1
- package/graphqlFields/file.d.ts +1 -1
- package/graphqlFields/file.js +3 -1
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.d.ts +1 -2
- package/graphqlFields/helpers.js +6 -18
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.d.ts +1 -1
- package/graphqlFields/index.js +6 -2
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/json.d.ts +2 -0
- package/graphqlFields/json.js +49 -0
- package/graphqlFields/json.js.map +1 -0
- package/graphqlFields/longText.d.ts +1 -1
- package/graphqlFields/longText.js +14 -3
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.d.ts +1 -1
- package/graphqlFields/number.js +4 -1
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.d.ts +2 -2
- package/graphqlFields/object.js +47 -34
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.d.ts +1 -1
- package/graphqlFields/ref.js +69 -29
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
- package/graphqlFields/richText/richTextResolver.d.ts +7 -0
- package/graphqlFields/richText/richTextResolver.js +24 -0
- package/graphqlFields/richText/richTextResolver.js.map +1 -0
- package/graphqlFields/richText.d.ts +1 -1
- package/graphqlFields/richText.js +11 -3
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/searchableJson.d.ts +2 -0
- package/graphqlFields/searchableJson.js +60 -0
- package/graphqlFields/searchableJson.js.map +1 -0
- package/graphqlFields/text.d.ts +1 -1
- package/graphqlFields/text.js +5 -1
- package/graphqlFields/text.js.map +1 -1
- package/htmlRenderer/LexicalRenderer.d.ts +5 -0
- package/htmlRenderer/LexicalRenderer.js +28 -0
- package/htmlRenderer/LexicalRenderer.js.map +1 -0
- package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
- package/index.d.ts +15 -6
- package/index.js +106 -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 +40 -44
- package/parameters/context.js +4 -2
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +7 -6
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +3 -1
- package/parameters/index.js.map +1 -1
- package/parameters/manual.d.ts +2 -1
- package/parameters/manual.js +9 -4
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +4 -3
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +9 -0
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +17 -0
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.d.ts +1 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.js +18 -0
- package/plugins/CmsGraphQLSchemaPlugin/index.js.map +1 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
- package/plugins/CmsGroupPlugin.d.ts +15 -4
- package/plugins/CmsGroupPlugin.js +25 -7
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.d.ts +5 -2
- package/plugins/CmsModelFieldConverterPlugin.js +9 -4
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +47 -7
- package/plugins/CmsModelPlugin.js +169 -32
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.d.ts +3 -3
- package/plugins/CmsParametersPlugin.js +7 -4
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
- package/plugins/CmsRichTextRendererPlugin.js +28 -0
- package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
- package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
- package/plugins/StorageTransformPlugin.d.ts +7 -3
- package/plugins/StorageTransformPlugin.js +12 -5
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +25 -1
- package/plugins/index.js.map +1 -1
- package/storage/date.d.ts +3 -0
- package/storage/date.js +119 -0
- package/storage/date.js.map +1 -0
- package/storage/default.js +3 -1
- package/storage/default.js.map +1 -1
- package/storage/dynamicZone.d.ts +2 -0
- package/storage/dynamicZone.js +157 -0
- package/storage/dynamicZone.js.map +1 -0
- package/storage/index.d.ts +1 -0
- package/storage/index.js +21 -0
- package/storage/index.js.map +1 -0
- package/storage/json.d.ts +2 -0
- package/storage/json.js +56 -0
- package/storage/json.js.map +1 -0
- package/storage/object.js +24 -20
- package/storage/object.js.map +1 -1
- package/types/context.d.ts +146 -0
- package/types/context.js +7 -0
- package/types/context.js.map +1 -0
- package/types/fields/dynamicZoneField.d.ts +23 -0
- package/types/fields/dynamicZoneField.js +7 -0
- package/types/fields/dynamicZoneField.js.map +1 -0
- package/types/fields/objectField.d.ts +13 -0
- package/types/fields/objectField.js +7 -0
- package/types/fields/objectField.js.map +1 -0
- package/types/identity.d.ts +19 -0
- package/types/identity.js +7 -0
- package/types/identity.js.map +1 -0
- package/types/index.d.ts +10 -0
- package/types/index.js +117 -0
- package/types/index.js.map +1 -0
- package/types/model.d.ts +199 -0
- package/types/model.js +7 -0
- package/types/model.js.map +1 -0
- package/types/modelAst.d.ts +39 -0
- package/types/modelAst.js +7 -0
- package/types/modelAst.js.map +1 -0
- package/types/modelField.d.ts +330 -0
- package/types/modelField.js +7 -0
- package/types/modelField.js.map +1 -0
- package/types/modelGroup.d.ts +77 -0
- package/types/modelGroup.js +7 -0
- package/types/modelGroup.js.map +1 -0
- package/types/plugins.d.ts +365 -0
- package/types/plugins.js +7 -0
- package/types/plugins.js.map +1 -0
- package/types/types.d.ts +1897 -0
- package/{types.js → types/types.js} +33 -134
- package/types/types.js.map +1 -0
- package/utils/RichTextRenderer.d.ts +10 -0
- package/utils/RichTextRenderer.js +33 -0
- package/utils/RichTextRenderer.js.map +1 -0
- package/utils/caching/Cache.d.ts +5 -0
- package/utils/caching/Cache.js +48 -0
- package/utils/caching/Cache.js.map +1 -0
- package/utils/caching/CacheKey.d.ts +3 -0
- package/utils/caching/CacheKey.js +28 -0
- package/utils/caching/CacheKey.js.map +1 -0
- package/utils/caching/index.d.ts +2 -0
- package/utils/caching/index.js +29 -0
- package/utils/caching/index.js.map +1 -0
- package/utils/caching/types.d.ts +13 -0
- package/utils/caching/types.js +14 -0
- package/utils/caching/types.js.map +1 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +13 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.js +97 -0
- package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +6 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +23 -0
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +7 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +22 -0
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -0
- package/utils/contentModelAst/CmsModelToAstConverter.d.ts +11 -0
- package/utils/contentModelAst/CmsModelToAstConverter.js +28 -0
- package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -0
- package/utils/contentModelAst/index.d.ts +3 -0
- package/utils/contentModelAst/index.js +40 -0
- package/utils/contentModelAst/index.js.map +1 -0
- package/utils/converters/Converter.d.ts +3 -3
- package/utils/converters/Converter.js +4 -5
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.d.ts +2 -2
- package/utils/converters/ConverterCollection.js +13 -7
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +4 -8
- package/utils/converters/valueKeyStorageConverter.js +34 -21
- 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 +2 -1
- package/utils/createTypeFromFields.js +14 -7
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.d.ts +0 -2
- package/utils/createTypeName.js +3 -9
- package/utils/createTypeName.js.map +1 -1
- package/utils/date.d.ts +10 -0
- package/utils/date.js +36 -0
- package/utils/date.js.map +1 -0
- package/utils/entryStorage.d.ts +16 -4
- package/utils/entryStorage.js +41 -5
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +9 -8
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.d.ts +2 -4
- package/utils/getBaseFieldType.js +3 -1
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.d.ts +2 -0
- package/utils/getEntryDescription.js +19 -0
- package/utils/getEntryDescription.js.map +1 -0
- package/utils/getEntryImage.d.ts +2 -0
- package/utils/getEntryImage.js +19 -0
- package/utils/getEntryImage.js.map +1 -0
- package/utils/getEntryTitle.d.ts +2 -2
- package/utils/getEntryTitle.js +3 -1
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +14 -3
- package/utils/getSchemaFromFieldPlugins.js +25 -6
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/identity.d.ts +2 -0
- package/utils/identity.js +20 -0
- package/utils/identity.js.map +1 -0
- package/utils/incrementEntryIdVersion.d.ts +5 -0
- package/utils/incrementEntryIdVersion.js +31 -0
- package/utils/incrementEntryIdVersion.js.map +1 -0
- 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 +5 -3
- package/utils/renderFields.js +15 -3
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +2 -2
- package/utils/renderGetFilterFields.js +9 -21
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +5 -3
- package/utils/renderInputFields.js +20 -6
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +3 -1
- package/utils/renderListFilterFields.js +25 -22
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +4 -3
- package/utils/renderSortEnum.js +10 -3
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +3 -1
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.d.ts +1 -1
- package/validators/dateGte.js +3 -1
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.d.ts +1 -1
- package/validators/dateLte.js +3 -1
- package/validators/dateLte.js.map +1 -1
- package/validators/gte.d.ts +1 -1
- package/validators/gte.js +4 -3
- package/validators/gte.js.map +1 -1
- package/validators/in.d.ts +1 -1
- package/validators/in.js +4 -3
- package/validators/in.js.map +1 -1
- package/validators/index.js +4 -3
- package/validators/index.js.map +1 -1
- package/validators/lte.d.ts +1 -1
- package/validators/lte.js +4 -3
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.d.ts +1 -1
- package/validators/maxLength.js +4 -3
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.d.ts +1 -1
- package/validators/minLength.js +4 -3
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.d.ts +1 -1
- package/validators/pattern.js +5 -3
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.d.ts +1 -1
- package/validators/patternPlugins/email.js +4 -2
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.d.ts +1 -1
- package/validators/patternPlugins/index.js +3 -1
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.d.ts +1 -1
- package/validators/patternPlugins/lowerCase.js +3 -1
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +3 -1
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.d.ts +1 -1
- package/validators/patternPlugins/upperCase.js +3 -1
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +3 -1
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.d.ts +1 -1
- package/validators/patternPlugins/url.js +3 -1
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.d.ts +1 -1
- package/validators/required.js +3 -1
- package/validators/required.js.map +1 -1
- package/validators/timeGte.d.ts +1 -1
- package/validators/timeGte.js +4 -3
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.d.ts +1 -1
- package/validators/timeLte.js +4 -3
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.d.ts +1 -1
- package/validators/unique.js +4 -2
- package/validators/unique.js.map +1 -1
- package/crud/contentModel/afterCreate.d.ts +0 -8
- package/crud/contentModel/afterCreate.js +0 -16
- package/crud/contentModel/afterCreate.js.map +0 -1
- package/crud/contentModel/afterCreateFrom.d.ts +0 -8
- package/crud/contentModel/afterCreateFrom.js +0 -16
- package/crud/contentModel/afterCreateFrom.js.map +0 -1
- package/crud/contentModel/afterDelete.d.ts +0 -8
- package/crud/contentModel/afterDelete.js +0 -16
- package/crud/contentModel/afterDelete.js.map +0 -1
- package/crud/contentModel/afterUpdate.d.ts +0 -8
- package/crud/contentModel/afterUpdate.js +0 -16
- package/crud/contentModel/afterUpdate.js.map +0 -1
- package/crud/contentModel/createFieldModels.d.ts +0 -2
- package/crud/contentModel/createFieldModels.js +0 -26
- package/crud/contentModel/createFieldModels.js.map +0 -1
- package/crud/contentModel/fieldIdValidation.d.ts +0 -1
- package/crud/contentModel/fieldIdValidation.js +0 -25
- package/crud/contentModel/fieldIdValidation.js.map +0 -1
- package/crud/contentModel/idValidation.d.ts +0 -1
- package/crud/contentModel/idValidation.js +0 -22
- package/crud/contentModel/idValidation.js.map +0 -1
- package/crud/contentModel/models.d.ts +0 -4
- package/crud/contentModel/models.js +0 -192
- package/crud/contentModel/models.js.map +0 -1
- package/crud/contentModel/systemFields.d.ts +0 -1
- package/crud/contentModel/systemFields.js +0 -8
- package/crud/contentModel/systemFields.js.map +0 -1
- package/crud/contentModel/validateLayout.d.ts +0 -2
- package/crud/contentModel/validateLayout.js +0 -28
- package/crud/contentModel/validateLayout.js.map +0 -1
- package/crud/settings.crud.d.ts +0 -10
- package/crud/settings.crud.js +0 -71
- package/crud/settings.crud.js.map +0 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
- package/graphql/schema/resolvers/commonFieldResolvers.js +0 -12
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -63
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
- package/plugins/CmsGraphQLSchemaPlugin.d.ts +0 -5
- package/plugins/CmsGraphQLSchemaPlugin.js +0 -12
- package/plugins/CmsGraphQLSchemaPlugin.js.map +0 -1
- package/types.d.ts +0 -2634
- package/types.js.map +0 -1
- package/upgrades/5.33.0/index.d.ts +0 -3
- package/upgrades/5.33.0/index.js +0 -182
- package/upgrades/5.33.0/index.js.map +0 -1
- package/upgrades/index.d.ts +0 -1
- package/upgrades/index.js +0 -12
- package/upgrades/index.js.map +0 -1
- package/utils/access.d.ts +0 -8
- package/utils/access.js +0 -76
- package/utils/access.js.map +0 -1
- package/utils/ownership.d.ts +0 -8
- package/utils/ownership.js +0 -33
- package/utils/ownership.js.map +0 -1
- package/utils/permissions.d.ts +0 -7
- package/utils/permissions.js +0 -91
- package/utils/permissions.js.map +0 -1
- package/utils/pluralizedTypeName.d.ts +0 -1
- package/utils/pluralizedTypeName.js +0 -20
- package/utils/pluralizedTypeName.js.map +0 -1
- package/validators/dynamicZone.d.ts +0 -2
- package/validators/dynamicZone.js +0 -20
- package/validators/dynamicZone.js.map +0 -1
|
@@ -23,9 +23,16 @@ const generateSchema = async params => {
|
|
|
23
23
|
throw ex;
|
|
24
24
|
}
|
|
25
25
|
context.plugins.register(generatedSchemaPlugins);
|
|
26
|
-
const schemaPlugins = context.plugins.byType(_plugins.CmsGraphQLSchemaPlugin.type)
|
|
26
|
+
const schemaPlugins = context.plugins.byType(_plugins.CmsGraphQLSchemaPlugin.type).filter(pl => {
|
|
27
|
+
if (typeof pl.isApplicable === "function") {
|
|
28
|
+
return pl.isApplicable(context);
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
});
|
|
27
32
|
return (0, _createExecutableSchema.createExecutableSchema)({
|
|
28
33
|
plugins: schemaPlugins
|
|
29
34
|
});
|
|
30
35
|
};
|
|
31
|
-
exports.generateSchema = generateSchema;
|
|
36
|
+
exports.generateSchema = generateSchema;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=generateSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateSchema","params","context","models","generatedSchemaPlugins","buildSchemaPlugins","ex","console","log","plugins","register","schemaPlugins","byType","CmsGraphQLSchemaPlugin","type","createExecutableSchema"],"sources":["generateSchema.ts"],"sourcesContent":["import { CmsContext, CmsModel } from \"~/types\";\nimport { buildSchemaPlugins } from \"
|
|
1
|
+
{"version":3,"names":["_buildSchemaPlugins","require","_createExecutableSchema","_plugins","generateSchema","params","context","models","generatedSchemaPlugins","buildSchemaPlugins","ex","console","log","plugins","register","schemaPlugins","byType","CmsGraphQLSchemaPlugin","type","filter","pl","isApplicable","createExecutableSchema","exports"],"sources":["generateSchema.ts"],"sourcesContent":["import type { CmsContext, CmsModel } from \"~/types\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins\";\nimport { createExecutableSchema } from \"./createExecutableSchema\";\nimport type { GraphQLSchema } from \"graphql/type\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchema = async (params: GenerateSchemaParams): Promise<GraphQLSchema> => {\n const { context, models } = params;\n\n let generatedSchemaPlugins: ICmsGraphQLSchemaPlugin[] = [];\n try {\n generatedSchemaPlugins = await buildSchemaPlugins({ context, models });\n } catch (ex) {\n console.log(`Error while building schema plugins.`);\n throw ex;\n }\n\n context.plugins.register(generatedSchemaPlugins);\n\n const schemaPlugins = context.plugins\n .byType<ICmsGraphQLSchemaPlugin>(CmsGraphQLSchemaPlugin.type)\n .filter(pl => {\n if (typeof pl.isApplicable === \"function\") {\n return pl.isApplicable(context);\n }\n return true;\n });\n\n return createExecutableSchema({\n plugins: schemaPlugins\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AAMO,MAAMG,cAAc,GAAG,MAAOC,MAA4B,IAA6B;EAC1F,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAElC,IAAIG,sBAAiD,GAAG,EAAE;EAC1D,IAAI;IACAA,sBAAsB,GAAG,MAAM,IAAAC,sCAAkB,EAAC;MAAEH,OAAO;MAAEC;IAAO,CAAC,CAAC;EAC1E,CAAC,CAAC,OAAOG,EAAE,EAAE;IACTC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,MAAMF,EAAE;EACZ;EAEAJ,OAAO,CAACO,OAAO,CAACC,QAAQ,CAACN,sBAAsB,CAAC;EAEhD,MAAMO,aAAa,GAAGT,OAAO,CAACO,OAAO,CAChCG,MAAM,CAA0BC,+BAAsB,CAACC,IAAI,CAAC,CAC5DC,MAAM,CAACC,EAAE,IAAI;IACV,IAAI,OAAOA,EAAE,CAACC,YAAY,KAAK,UAAU,EAAE;MACvC,OAAOD,EAAE,CAACC,YAAY,CAACf,OAAO,CAAC;IACnC;IACA,OAAO,IAAI;EACf,CAAC,CAAC;EAEN,OAAO,IAAAgB,8CAAsB,EAAC;IAC1BT,OAAO,EAAEE;EACb,CAAC,CAAC;AACN,CAAC;AAACQ,OAAA,CAAAnB,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ApiEndpoint } from "../../types";
|
|
2
|
+
import type { Tenant } from "@webiny/api-tenancy/types";
|
|
3
|
+
import type { I18NLocale } from "@webiny/api-i18n/types";
|
|
4
|
+
interface GenerateCacheIdParams {
|
|
5
|
+
type: ApiEndpoint;
|
|
6
|
+
getTenant: () => Tenant;
|
|
7
|
+
getLocale: () => I18NLocale;
|
|
8
|
+
}
|
|
9
|
+
export declare const generateCacheId: (params: GenerateCacheIdParams) => string;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateCacheId = void 0;
|
|
7
|
+
const generateCacheId = params => {
|
|
8
|
+
const {
|
|
9
|
+
getTenant,
|
|
10
|
+
type,
|
|
11
|
+
getLocale
|
|
12
|
+
} = params;
|
|
13
|
+
return [`tenant:${getTenant().id}`, `endpoint:${type}`, `locale:${getLocale().code}`].join("#");
|
|
14
|
+
};
|
|
15
|
+
exports.generateCacheId = generateCacheId;
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=generateCacheId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["generateCacheId","params","getTenant","type","getLocale","id","code","join","exports"],"sources":["generateCacheId.ts"],"sourcesContent":["import type { ApiEndpoint } from \"~/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\n\ninterface GenerateCacheIdParams {\n type: ApiEndpoint;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n}\n\nexport const generateCacheId = (params: GenerateCacheIdParams): string => {\n const { getTenant, type, getLocale } = params;\n return [`tenant:${getTenant().id}`, `endpoint:${type}`, `locale:${getLocale().code}`].join(\"#\");\n};\n"],"mappings":";;;;;;AAUO,MAAMA,eAAe,GAAIC,MAA6B,IAAa;EACtE,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAC7C,OAAO,CAAC,UAAUC,SAAS,CAAC,CAAC,CAACG,EAAE,EAAE,EAAE,YAAYF,IAAI,EAAE,EAAE,UAAUC,SAAS,CAAC,CAAC,CAACE,IAAI,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACnG,CAAC;AAACC,OAAA,CAAAR,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CmsModel } from "../../types";
|
|
2
|
+
interface GenerateCacheKeyParams {
|
|
3
|
+
models: Pick<CmsModel, "modelId" | "singularApiName" | "pluralApiName" | "savedOn">[];
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Method generates cache key based on last model change time.
|
|
7
|
+
* Or sets "unknown" - possible when no models in database.
|
|
8
|
+
*/
|
|
9
|
+
export declare const generateCacheKey: (params: GenerateCacheKeyParams) => Promise<string>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.generateCacheKey = void 0;
|
|
8
|
+
var _crypto = _interopRequireDefault(require("crypto"));
|
|
9
|
+
/**
|
|
10
|
+
* Method generates cache key based on last model change time.
|
|
11
|
+
* Or sets "unknown" - possible when no models in database.
|
|
12
|
+
*/
|
|
13
|
+
const generateCacheKey = async params => {
|
|
14
|
+
const {
|
|
15
|
+
models
|
|
16
|
+
} = params;
|
|
17
|
+
const keys = [];
|
|
18
|
+
for (const model of models) {
|
|
19
|
+
const savedOn = model.savedOn;
|
|
20
|
+
const value =
|
|
21
|
+
// @ts-expect-error
|
|
22
|
+
savedOn instanceof Date || savedOn?.toISOString ?
|
|
23
|
+
// @ts-expect-error
|
|
24
|
+
savedOn.toISOString() : savedOn || "unknown";
|
|
25
|
+
keys.push(model.modelId, model.singularApiName, model.pluralApiName, value);
|
|
26
|
+
}
|
|
27
|
+
const key = keys.join("#");
|
|
28
|
+
const hash = _crypto.default.createHash("sha1");
|
|
29
|
+
hash.update(key);
|
|
30
|
+
return hash.digest("hex");
|
|
31
|
+
};
|
|
32
|
+
exports.generateCacheKey = generateCacheKey;
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=generateCacheKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_crypto","_interopRequireDefault","require","generateCacheKey","params","models","keys","model","savedOn","value","Date","toISOString","push","modelId","singularApiName","pluralApiName","key","join","hash","crypto","createHash","update","digest","exports"],"sources":["generateCacheKey.ts"],"sourcesContent":["import type { CmsModel } from \"~/types\";\nimport crypto from \"crypto\";\n\ninterface GenerateCacheKeyParams {\n models: Pick<CmsModel, \"modelId\" | \"singularApiName\" | \"pluralApiName\" | \"savedOn\">[];\n}\n\n/**\n * Method generates cache key based on last model change time.\n * Or sets \"unknown\" - possible when no models in database.\n */\nexport const generateCacheKey = async (params: GenerateCacheKeyParams): Promise<string> => {\n const { models } = params;\n\n const keys: string[] = [];\n for (const model of models) {\n const savedOn = model.savedOn;\n const value =\n // @ts-expect-error\n savedOn instanceof Date || savedOn?.toISOString\n ? // @ts-expect-error\n savedOn.toISOString()\n : savedOn || \"unknown\";\n keys.push(model.modelId, model.singularApiName, model.pluralApiName, value);\n }\n const key = keys.join(\"#\");\n\n const hash = crypto.createHash(\"sha1\");\n hash.update(key);\n return hash.digest(\"hex\");\n};\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG,MAAOC,MAA8B,IAAsB;EACvF,MAAM;IAAEC;EAAO,CAAC,GAAGD,MAAM;EAEzB,MAAME,IAAc,GAAG,EAAE;EACzB,KAAK,MAAMC,KAAK,IAAIF,MAAM,EAAE;IACxB,MAAMG,OAAO,GAAGD,KAAK,CAACC,OAAO;IAC7B,MAAMC,KAAK;IACP;IACAD,OAAO,YAAYE,IAAI,IAAIF,OAAO,EAAEG,WAAW;IACzC;IACAH,OAAO,CAACG,WAAW,CAAC,CAAC,GACrBH,OAAO,IAAI,SAAS;IAC9BF,IAAI,CAACM,IAAI,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,eAAe,EAAEP,KAAK,CAACQ,aAAa,EAAEN,KAAK,CAAC;EAC/E;EACA,MAAMO,GAAG,GAAGV,IAAI,CAACW,IAAI,CAAC,GAAG,CAAC;EAE1B,MAAMC,IAAI,GAAGC,eAAM,CAACC,UAAU,CAAC,MAAM,CAAC;EACtCF,IAAI,CAACG,MAAM,CAACL,GAAG,CAAC;EAChB,OAAOE,IAAI,CAACI,MAAM,CAAC,KAAK,CAAC;AAC7B,CAAC;AAACC,OAAA,CAAApB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ApiEndpoint, CmsContext } from "../types";
|
|
2
|
+
import type { Tenant } from "@webiny/api-tenancy/types";
|
|
3
|
+
import type { I18NLocale } from "@webiny/api-i18n/types";
|
|
4
|
+
import type { GraphQLSchema } from "graphql";
|
|
5
|
+
interface GetSchemaParams {
|
|
6
|
+
context: CmsContext;
|
|
7
|
+
type: ApiEndpoint;
|
|
8
|
+
getTenant: () => Tenant;
|
|
9
|
+
getLocale: () => I18NLocale;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Gets an existing schema or rewrites existing one or creates a completely new one
|
|
13
|
+
* depending on the schemaId created from type and locale parameters
|
|
14
|
+
*/
|
|
15
|
+
export declare const getSchema: (params: GetSchemaParams) => Promise<GraphQLSchema>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getSchema = void 0;
|
|
8
|
+
var _codeFrame = require("@babel/code-frame");
|
|
9
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
10
|
+
var _generateSchema = require("./generateSchema");
|
|
11
|
+
var _generateCacheId = require("./getSchema/generateCacheId");
|
|
12
|
+
var _generateCacheKey = require("./getSchema/generateCacheKey");
|
|
13
|
+
const schemaList = new Map();
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Gets an existing schema or rewrites existing one or creates a completely new one
|
|
17
|
+
* depending on the schemaId created from type and locale parameters
|
|
18
|
+
*/
|
|
19
|
+
const getSchema = async params => {
|
|
20
|
+
const {
|
|
21
|
+
context
|
|
22
|
+
} = params;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* We need all the API models.
|
|
26
|
+
* Private models are hidden in the GraphQL, so filter them out.
|
|
27
|
+
*/
|
|
28
|
+
const models = await context.security.withoutAuthorization(async () => {
|
|
29
|
+
return await context.cms.listModels({
|
|
30
|
+
includePrivate: false,
|
|
31
|
+
includePlugins: true
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const cacheId = (0, _generateCacheId.generateCacheId)(params);
|
|
35
|
+
const cacheKey = await (0, _generateCacheKey.generateCacheKey)({
|
|
36
|
+
...params,
|
|
37
|
+
models
|
|
38
|
+
});
|
|
39
|
+
const cachedSchema = schemaList.get(cacheId);
|
|
40
|
+
if (cachedSchema?.key === cacheKey) {
|
|
41
|
+
return cachedSchema.schema;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const schema = await (0, _generateSchema.generateSchema)({
|
|
45
|
+
...params,
|
|
46
|
+
models
|
|
47
|
+
});
|
|
48
|
+
schemaList.set(cacheId, {
|
|
49
|
+
key: cacheKey,
|
|
50
|
+
schema
|
|
51
|
+
});
|
|
52
|
+
return schema;
|
|
53
|
+
} catch (err) {
|
|
54
|
+
if (!Array.isArray(err.locations)) {
|
|
55
|
+
throw new _error.default({
|
|
56
|
+
message: err.message,
|
|
57
|
+
code: err.code || "INVALID_GRAPHQL_SCHEMA_LOCATIONS",
|
|
58
|
+
data: {
|
|
59
|
+
...(err.data || {}),
|
|
60
|
+
endpoint: context.cms.type
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
const [location] = err.locations;
|
|
65
|
+
throw new _error.default({
|
|
66
|
+
code: "INVALID_GRAPHQL_SCHEMA",
|
|
67
|
+
message: err.message,
|
|
68
|
+
data: {
|
|
69
|
+
invalidSegment: (0, _codeFrame.codeFrameColumns)(err.source.body, {
|
|
70
|
+
start: {
|
|
71
|
+
line: location.line,
|
|
72
|
+
column: location.column
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.getSchema = getSchema;
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=getSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_codeFrame","require","_error","_interopRequireDefault","_generateSchema","_generateCacheId","_generateCacheKey","schemaList","Map","getSchema","params","context","models","security","withoutAuthorization","cms","listModels","includePrivate","includePlugins","cacheId","generateCacheId","cacheKey","generateCacheKey","cachedSchema","get","key","schema","generateSchema","set","err","Array","isArray","locations","WebinyError","message","code","data","endpoint","type","location","invalidSegment","codeFrameColumns","source","body","start","line","column","exports"],"sources":["getSchema.ts"],"sourcesContent":["import { codeFrameColumns } from \"@babel/code-frame\";\nimport WebinyError from \"@webiny/error\";\nimport { generateSchema } from \"./generateSchema\";\nimport type { ApiEndpoint, CmsContext } from \"~/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { generateCacheId } from \"./getSchema/generateCacheId\";\nimport { generateCacheKey } from \"./getSchema/generateCacheKey\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\n\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nexport const getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = params;\n\n /**\n * We need all the API models.\n * Private models are hidden in the GraphQL, so filter them out.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return await context.cms.listModels({\n includePrivate: false,\n includePlugins: true\n });\n });\n\n const cacheId = generateCacheId(params);\n\n const cacheKey = await generateCacheKey({ ...params, models });\n const cachedSchema = schemaList.get(cacheId);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(cacheId, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n endpoint: context.cms.type\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrameColumns(err.source.body, {\n start: {\n line: location.line,\n column: location.column\n }\n })\n }\n });\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAcA,MAAMM,UAAU,GAAG,IAAIC,GAAG,CAAsB,CAAC;;AAEjD;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAG,MAAOC,MAAuB,IAA6B;EAChF,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;;EAE1B;AACJ;AACA;AACA;EACI,MAAME,MAAM,GAAG,MAAMD,OAAO,CAACE,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IACnE,OAAO,MAAMH,OAAO,CAACI,GAAG,CAACC,UAAU,CAAC;MAChCC,cAAc,EAAE,KAAK;MACrBC,cAAc,EAAE;IACpB,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAG,IAAAC,gCAAe,EAACV,MAAM,CAAC;EAEvC,MAAMW,QAAQ,GAAG,MAAM,IAAAC,kCAAgB,EAAC;IAAE,GAAGZ,MAAM;IAAEE;EAAO,CAAC,CAAC;EAC9D,MAAMW,YAAY,GAAGhB,UAAU,CAACiB,GAAG,CAACL,OAAO,CAAC;EAC5C,IAAII,YAAY,EAAEE,GAAG,KAAKJ,QAAQ,EAAE;IAChC,OAAOE,YAAY,CAACG,MAAM;EAC9B;EAEA,IAAI;IACA,MAAMA,MAAM,GAAG,MAAM,IAAAC,8BAAc,EAAC;MAChC,GAAGjB,MAAM;MACTE;IACJ,CAAC,CAAC;IACFL,UAAU,CAACqB,GAAG,CAACT,OAAO,EAAE;MACpBM,GAAG,EAAEJ,QAAQ;MACbK;IACJ,CAAC,CAAC;IACF,OAAOA,MAAM;EACjB,CAAC,CAAC,OAAOG,GAAG,EAAE;IACV,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,SAAS,CAAC,EAAE;MAC/B,MAAM,IAAIC,cAAW,CAAC;QAClBC,OAAO,EAAEL,GAAG,CAACK,OAAO;QACpBC,IAAI,EAAEN,GAAG,CAACM,IAAI,IAAI,kCAAkC;QACpDC,IAAI,EAAE;UACF,IAAIP,GAAG,CAACO,IAAI,IAAI,CAAC,CAAC,CAAC;UACnBC,QAAQ,EAAE1B,OAAO,CAACI,GAAG,CAACuB;QAC1B;MACJ,CAAC,CAAC;IACN;IACA,MAAM,CAACC,QAAQ,CAAC,GAAGV,GAAG,CAACG,SAAS;IAEhC,MAAM,IAAIC,cAAW,CAAC;MAClBE,IAAI,EAAE,wBAAwB;MAC9BD,OAAO,EAAEL,GAAG,CAACK,OAAO;MACpBE,IAAI,EAAE;QACFI,cAAc,EAAE,IAAAC,2BAAgB,EAACZ,GAAG,CAACa,MAAM,CAACC,IAAI,EAAE;UAC9CC,KAAK,EAAE;YACHC,IAAI,EAAEN,QAAQ,CAACM,IAAI;YACnBC,MAAM,EAAEP,QAAQ,CAACO;UACrB;QACJ,CAAC;MACL;IACJ,CAAC,CAAC;EACN;AACJ,CAAC;AAACC,OAAA,CAAAtC,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Plugin } from "@webiny/plugins/types";
|
|
2
2
|
export interface GraphQLHandlerFactoryParams {
|
|
3
3
|
debug?: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare const graphQLHandlerFactory: ({ debug }: GraphQLHandlerFactoryParams) =>
|
|
5
|
+
export declare const graphQLHandlerFactory: ({ debug }: GraphQLHandlerFactoryParams) => Plugin[];
|
|
@@ -5,159 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.graphQLHandlerFactory = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _apiSecurity = require("@webiny/api-security");
|
|
10
8
|
var _debugPlugins = _interopRequireDefault(require("@webiny/handler-graphql/debugPlugins"));
|
|
11
|
-
var _processRequestBody = _interopRequireDefault(require("@webiny/handler-graphql/processRequestBody"));
|
|
12
9
|
var _handler = require("@webiny/handler");
|
|
13
|
-
var
|
|
14
|
-
var _codeFrame = _interopRequireDefault(require("code-frame"));
|
|
15
|
-
var _generateSchema = require("./generateSchema");
|
|
16
|
-
// @ts-ignore `code-frame` has no types
|
|
17
|
-
|
|
18
|
-
const createRequestBody = body => {
|
|
19
|
-
/**
|
|
20
|
-
* We are trusting that the body payload is correct.
|
|
21
|
-
* The `processRequestBody` will fail if it is not.
|
|
22
|
-
*/
|
|
23
|
-
return typeof body === "string" ? JSON.parse(body) : body;
|
|
24
|
-
};
|
|
25
|
-
const schemaList = new Map();
|
|
26
|
-
const generateCacheKey = async args => {
|
|
27
|
-
const {
|
|
28
|
-
context,
|
|
29
|
-
locale,
|
|
30
|
-
type
|
|
31
|
-
} = args;
|
|
32
|
-
const lastModelChange = await context.cms.getModelLastChange();
|
|
33
|
-
return [locale.code, type, lastModelChange.toISOString()].join("#");
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Gets an existing schema or rewrites existing one or creates a completely new one
|
|
38
|
-
* depending on the schemaId created from type and locale parameters
|
|
39
|
-
*/
|
|
40
|
-
const getSchema = async params => {
|
|
41
|
-
const {
|
|
42
|
-
context,
|
|
43
|
-
type,
|
|
44
|
-
locale
|
|
45
|
-
} = params;
|
|
46
|
-
const tenantId = context.tenancy.getCurrentTenant().id;
|
|
47
|
-
const id = `${tenantId}#${type}#${locale.code}`;
|
|
48
|
-
const cacheKey = await generateCacheKey(params);
|
|
49
|
-
const cachedSchema = schemaList.get(id);
|
|
50
|
-
if ((cachedSchema === null || cachedSchema === void 0 ? void 0 : cachedSchema.key) === cacheKey) {
|
|
51
|
-
return cachedSchema.schema;
|
|
52
|
-
}
|
|
53
|
-
// Load model data
|
|
54
|
-
context.security.disableAuthorization();
|
|
55
|
-
const models = (await context.cms.listModels()).filter(model => model.isPrivate !== true);
|
|
56
|
-
context.security.enableAuthorization();
|
|
57
|
-
try {
|
|
58
|
-
const schema = await (0, _generateSchema.generateSchema)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
59
|
-
models
|
|
60
|
-
}));
|
|
61
|
-
schemaList.set(id, {
|
|
62
|
-
key: cacheKey,
|
|
63
|
-
schema
|
|
64
|
-
});
|
|
65
|
-
return schema;
|
|
66
|
-
} catch (err) {
|
|
67
|
-
if (!Array.isArray(err.locations)) {
|
|
68
|
-
throw new _error.default({
|
|
69
|
-
message: err.message,
|
|
70
|
-
code: err.code || "INVALID_GRAPHQL_SCHEMA_LOCATIONS",
|
|
71
|
-
data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, err.data || {}), {}, {
|
|
72
|
-
locations: err.locations
|
|
73
|
-
})
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
const [location] = err.locations;
|
|
77
|
-
throw new _error.default({
|
|
78
|
-
code: "INVALID_GRAPHQL_SCHEMA",
|
|
79
|
-
message: err.message,
|
|
80
|
-
data: {
|
|
81
|
-
invalidSegment: (0, _codeFrame.default)(err.source.body, location.line, location.column, {
|
|
82
|
-
frameSize: 15
|
|
83
|
-
})
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
const checkEndpointAccess = async context => {
|
|
89
|
-
const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);
|
|
90
|
-
if (!permission) {
|
|
91
|
-
throw new _apiSecurity.NotAuthorizedError({
|
|
92
|
-
data: {
|
|
93
|
-
reason: `Not allowed to access "${context.cms.type}" endpoint.`
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
const formatErrorPayload = error => {
|
|
99
|
-
if (error instanceof _error.default) {
|
|
100
|
-
return JSON.stringify({
|
|
101
|
-
type: "CmsGraphQLWebinyError",
|
|
102
|
-
message: error.message,
|
|
103
|
-
code: error.code,
|
|
104
|
-
data: error.data
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return JSON.stringify({
|
|
108
|
-
type: "Error",
|
|
109
|
-
name: error.name,
|
|
110
|
-
message: error.message,
|
|
111
|
-
stack: error.stack
|
|
112
|
-
});
|
|
113
|
-
};
|
|
10
|
+
var _handleRequest = require("./handleRequest");
|
|
114
11
|
const cmsRoutes = new _handler.RoutePlugin(({
|
|
115
12
|
onPost,
|
|
116
13
|
onOptions,
|
|
117
14
|
context
|
|
118
15
|
}) => {
|
|
119
16
|
onPost("/cms/:type(^manage|preview|read$)/:locale", async (request, reply) => {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
error: {
|
|
126
|
-
message: ex.message || "Not authorized!",
|
|
127
|
-
code: ex.code || "SECURITY_NOT_AUTHORIZED",
|
|
128
|
-
data: ex.data || null,
|
|
129
|
-
stack: null
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
let schema;
|
|
134
|
-
try {
|
|
135
|
-
schema = await getSchema({
|
|
136
|
-
context,
|
|
137
|
-
locale: context.cms.getLocale(),
|
|
138
|
-
type: context.cms.type
|
|
139
|
-
});
|
|
140
|
-
} catch (ex) {
|
|
141
|
-
console.log(`Error while generating the schema.`);
|
|
142
|
-
console.log(formatErrorPayload(ex));
|
|
143
|
-
throw ex;
|
|
144
|
-
}
|
|
145
|
-
let body = [];
|
|
146
|
-
try {
|
|
147
|
-
body = createRequestBody(request.body);
|
|
148
|
-
} catch (ex) {
|
|
149
|
-
console.log(`Error while creating the body request.`);
|
|
150
|
-
console.log(formatErrorPayload(ex));
|
|
151
|
-
throw ex;
|
|
152
|
-
}
|
|
153
|
-
try {
|
|
154
|
-
const result = await (0, _processRequestBody.default)(body, schema, context);
|
|
155
|
-
return reply.code(200).send(result);
|
|
156
|
-
} catch (ex) {
|
|
157
|
-
console.log(`Error while processing the body request.`);
|
|
158
|
-
console.log(formatErrorPayload(ex));
|
|
159
|
-
throw ex;
|
|
160
|
-
}
|
|
17
|
+
return (0, _handleRequest.handleRequest)({
|
|
18
|
+
context,
|
|
19
|
+
request,
|
|
20
|
+
reply
|
|
21
|
+
});
|
|
161
22
|
});
|
|
162
23
|
onOptions("/cms/:type(^manage|preview|read$)/:locale", async (_, reply) => {
|
|
163
24
|
return reply.status(204).send({}).hijack();
|
|
@@ -171,4 +32,6 @@ const graphQLHandlerFactory = ({
|
|
|
171
32
|
type: "wcp-telemetry-tracker"
|
|
172
33
|
}];
|
|
173
34
|
};
|
|
174
|
-
exports.graphQLHandlerFactory = graphQLHandlerFactory;
|
|
35
|
+
exports.graphQLHandlerFactory = graphQLHandlerFactory;
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=graphQLHandlerFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRequestBody","body","JSON","parse","schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","cachedSchema","get","key","schema","security","disableAuthorization","models","listModels","filter","model","isPrivate","enableAuthorization","generateSchema","set","err","Array","isArray","locations","WebinyError","message","data","location","invalidSegment","codeFrame","source","line","column","frameSize","checkEndpointAccess","permission","getPermission","NotAuthorizedError","reason","formatErrorPayload","error","stringify","name","stack","cmsRoutes","RoutePlugin","onPost","onOptions","request","reply","ex","send","getLocale","console","log","result","processRequestBody","_","status","hijack","graphQLHandlerFactory","debug","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { ApiEndpoint, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\nimport WebinyError from \"@webiny/error\";\n// @ts-ignore `code-frame` has no types\nimport codeFrame from \"code-frame\";\nimport { generateSchema } from \"~/graphql/generateSchema\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst createRequestBody = (body: unknown): GraphQLRequestBody | GraphQLRequestBody[] => {\n /**\n * We are trusting that the body payload is correct.\n * The `processRequestBody` will fail if it is not.\n */\n return typeof body === \"string\" ? JSON.parse(body) : body;\n};\n\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n const cachedSchema = schemaList.get(id);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n // Load model data\n context.security.disableAuthorization();\n const models = (await context.cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n locations: err.locations\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrame(err.source.body, location.line, location.column, {\n frameSize: 15\n })\n }\n });\n }\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nconst formatErrorPayload = (error: Error): string => {\n if (error instanceof WebinyError) {\n return JSON.stringify({\n type: \"CmsGraphQLWebinyError\",\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return JSON.stringify({\n type: \"Error\",\n name: error.name,\n message: error.message,\n stack: error.stack\n });\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return reply.code(401).send({\n data: null,\n error: {\n message: ex.message || \"Not authorized!\",\n code: ex.code || \"SECURITY_NOT_AUTHORIZED\",\n data: ex.data || null,\n stack: null\n }\n });\n }\n\n let schema: GraphQLSchema;\n try {\n schema = await getSchema({\n context,\n locale: context.cms.getLocale(),\n type: context.cms.type as ApiEndpoint\n });\n } catch (ex) {\n console.log(`Error while generating the schema.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n\n let body: GraphQLRequestBody | GraphQLRequestBody[] = [];\n try {\n body = createRequestBody(request.body);\n } catch (ex) {\n console.log(`Error while creating the body request.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n\n try {\n const result = await processRequestBody(body, schema, context);\n return reply.code(200).send(result);\n } catch (ex) {\n console.log(`Error while processing the body request.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.status(204).send({}).hijack();\n });\n});\n\ncmsRoutes.name = \"headless-cms.graphql.route.default\";\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_debugPlugins","_interopRequireDefault","require","_handler","_handleRequest","cmsRoutes","RoutePlugin","onPost","onOptions","context","request","reply","handleRequest","_","status","send","hijack","name","graphQLHandlerFactory","debug","debugPlugins","type","exports"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport type { CmsContext } from \"~/types\";\nimport type { Plugin } from \"@webiny/plugins/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\nimport { handleRequest } from \"./handleRequest\";\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\n return handleRequest({ context, request, reply });\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.status(204).send({}).hijack();\n });\n});\n\ncmsRoutes.name = \"headless-cms.graphql.route.default\";\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): Plugin[] => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAMA,MAAMG,SAAS,GAAG,IAAIC,oBAAW,CAAa,CAAC;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAQ,CAAC,KAAK;EAC9EF,MAAM,CAAC,2CAA2C,EAAE,OAAOG,OAAO,EAAEC,KAAK,KAAK;IAC1E,OAAO,IAAAC,4BAAa,EAAC;MAAEH,OAAO;MAAEC,OAAO;MAAEC;IAAM,CAAC,CAAC;EACrD,CAAC,CAAC;EAEFH,SAAS,CAAC,2CAA2C,EAAE,OAAOK,CAAC,EAAEF,KAAK,KAAK;IACvE,OAAOA,KAAK,CAACG,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;EAC9C,CAAC,CAAC;AACN,CAAC,CAAC;AAEFX,SAAS,CAACY,IAAI,GAAG,oCAAoC;AAE9C,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAe;EACvF,OAAO,CACH,IAAIA,KAAK,GAAG,IAAAC,qBAAY,EAAC,CAAC,GAAG,EAAE,CAAC,EAChCf,SAAS,EACT;IACIgB,IAAI,EAAE;EACV,CAAC,CACJ;AACL,CAAC;AAACC,OAAA,CAAAJ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CmsContext } from "../types";
|
|
2
|
+
import type { Reply, Request } from "@webiny/handler/types";
|
|
3
|
+
export interface HandleRequestParams {
|
|
4
|
+
context: CmsContext;
|
|
5
|
+
request: Request;
|
|
6
|
+
reply: Reply;
|
|
7
|
+
}
|
|
8
|
+
export interface HandleRequest {
|
|
9
|
+
(params: HandleRequestParams): Promise<Reply>;
|
|
10
|
+
}
|
|
11
|
+
export declare const handleRequest: HandleRequest;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleRequest = void 0;
|
|
7
|
+
var _checkEndpointAccess = require("./checkEndpointAccess");
|
|
8
|
+
var _createRequestBody = require("./createRequestBody");
|
|
9
|
+
var _formatErrorPayload = require("./formatErrorPayload");
|
|
10
|
+
var _getSchema = require("./getSchema");
|
|
11
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
12
|
+
const handleRequest = async params => {
|
|
13
|
+
const {
|
|
14
|
+
context,
|
|
15
|
+
request,
|
|
16
|
+
reply
|
|
17
|
+
} = params;
|
|
18
|
+
try {
|
|
19
|
+
await (0, _checkEndpointAccess.checkEndpointAccess)(context);
|
|
20
|
+
} catch (ex) {
|
|
21
|
+
return reply.code(401).send({
|
|
22
|
+
data: null,
|
|
23
|
+
error: {
|
|
24
|
+
message: ex.message || "Not authorized!",
|
|
25
|
+
code: ex.code || "SECURITY_NOT_AUTHORIZED",
|
|
26
|
+
data: ex.data || null,
|
|
27
|
+
stack: null
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const getTenant = () => {
|
|
32
|
+
return context.tenancy.getCurrentTenant();
|
|
33
|
+
};
|
|
34
|
+
const getLocale = () => {
|
|
35
|
+
return context.cms.getLocale();
|
|
36
|
+
};
|
|
37
|
+
const schema = await context.benchmark.measure("headlessCms.graphql.getSchema", async () => {
|
|
38
|
+
try {
|
|
39
|
+
return await (0, _getSchema.getSchema)({
|
|
40
|
+
context,
|
|
41
|
+
getTenant,
|
|
42
|
+
getLocale,
|
|
43
|
+
type: context.cms.type
|
|
44
|
+
});
|
|
45
|
+
} catch (ex) {
|
|
46
|
+
console.error(`Error while generating the schema.`);
|
|
47
|
+
console.error((0, _formatErrorPayload.formatErrorPayload)(ex));
|
|
48
|
+
throw ex;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const body = await context.benchmark.measure("headlessCms.graphql.createRequestBody", async () => {
|
|
52
|
+
try {
|
|
53
|
+
return (0, _createRequestBody.createRequestBody)(request.body);
|
|
54
|
+
} catch (ex) {
|
|
55
|
+
console.error(`Error while creating the body request.`);
|
|
56
|
+
console.error((0, _formatErrorPayload.formatErrorPayload)(ex));
|
|
57
|
+
throw ex;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* We need to store the processRequestBody result in a variable and output it after the measurement.
|
|
63
|
+
* Otherwise, the measurement will not be shown in the output.
|
|
64
|
+
*/
|
|
65
|
+
let result = null;
|
|
66
|
+
await context.benchmark.measure("headlessCms.graphql.processRequestBody", async () => {
|
|
67
|
+
try {
|
|
68
|
+
result = await (0, _handlerGraphql.processRequestBody)(body, schema, context);
|
|
69
|
+
} catch (ex) {
|
|
70
|
+
console.error(`Error while processing the body request.`);
|
|
71
|
+
console.error((0, _formatErrorPayload.formatErrorPayload)(ex));
|
|
72
|
+
throw ex;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* IMPORTANT! Do not send anything if reply was already sent.
|
|
77
|
+
*/
|
|
78
|
+
if (reply.sent) {
|
|
79
|
+
console.warn("Reply already sent, cannot send the result (api-headless-cms).");
|
|
80
|
+
return reply;
|
|
81
|
+
}
|
|
82
|
+
return reply.send(result);
|
|
83
|
+
};
|
|
84
|
+
exports.handleRequest = handleRequest;
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=handleRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_checkEndpointAccess","require","_createRequestBody","_formatErrorPayload","_getSchema","_handlerGraphql","handleRequest","params","context","request","reply","checkEndpointAccess","ex","code","send","data","error","message","stack","getTenant","tenancy","getCurrentTenant","getLocale","cms","schema","benchmark","measure","getSchema","type","console","formatErrorPayload","body","createRequestBody","result","processRequestBody","sent","warn","exports"],"sources":["handleRequest.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext } from \"~/types\";\nimport { checkEndpointAccess } from \"./checkEndpointAccess\";\nimport { createRequestBody } from \"./createRequestBody\";\nimport { formatErrorPayload } from \"./formatErrorPayload\";\nimport { getSchema } from \"./getSchema\";\nimport type { Reply, Request } from \"@webiny/handler/types\";\nimport { processRequestBody } from \"@webiny/handler-graphql\";\nimport type { ExecutionResult } from \"graphql\";\n\nexport interface HandleRequestParams {\n context: CmsContext;\n request: Request;\n reply: Reply;\n}\n\nexport interface HandleRequest {\n (params: HandleRequestParams): Promise<Reply>;\n}\n\nexport const handleRequest: HandleRequest = async params => {\n const { context, request, reply } = params;\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return reply.code(401).send({\n data: null,\n error: {\n message: ex.message || \"Not authorized!\",\n code: ex.code || \"SECURITY_NOT_AUTHORIZED\",\n data: ex.data || null,\n stack: null\n }\n });\n }\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const schema = await context.benchmark.measure(\"headlessCms.graphql.getSchema\", async () => {\n try {\n return await getSchema({\n context,\n getTenant,\n getLocale,\n type: context.cms.type as ApiEndpoint\n });\n } catch (ex) {\n console.error(`Error while generating the schema.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n const body = await context.benchmark.measure(\n \"headlessCms.graphql.createRequestBody\",\n async () => {\n try {\n return createRequestBody(request.body);\n } catch (ex) {\n console.error(`Error while creating the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n }\n );\n\n /**\n * We need to store the processRequestBody result in a variable and output it after the measurement.\n * Otherwise, the measurement will not be shown in the output.\n */\n let result: ExecutionResult[] | ExecutionResult | null = null;\n\n await context.benchmark.measure(\"headlessCms.graphql.processRequestBody\", async () => {\n try {\n result = await processRequestBody(body, schema, context);\n } catch (ex) {\n console.error(`Error while processing the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n });\n /**\n * IMPORTANT! Do not send anything if reply was already sent.\n */\n if (reply.sent) {\n console.warn(\"Reply already sent, cannot send the result (api-headless-cms).\");\n return reply;\n }\n\n return reply.send(result);\n};\n"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAaO,MAAMK,aAA4B,GAAG,MAAMC,MAAM,IAAI;EACxD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAC1C,IAAI;IACA,MAAM,IAAAI,wCAAmB,EAACH,OAAO,CAAC;EACtC,CAAC,CAAC,OAAOI,EAAE,EAAE;IACT,OAAOF,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC;MACxBC,IAAI,EAAE,IAAI;MACVC,KAAK,EAAE;QACHC,OAAO,EAAEL,EAAE,CAACK,OAAO,IAAI,iBAAiB;QACxCJ,IAAI,EAAED,EAAE,CAACC,IAAI,IAAI,yBAAyB;QAC1CE,IAAI,EAAEH,EAAE,CAACG,IAAI,IAAI,IAAI;QACrBG,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEA,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACpB,OAAOX,OAAO,CAACY,OAAO,CAACC,gBAAgB,CAAC,CAAC;EAC7C,CAAC;EAED,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACpB,OAAOd,OAAO,CAACe,GAAG,CAACD,SAAS,CAAC,CAAC;EAClC,CAAC;EAED,MAAME,MAAM,GAAG,MAAMhB,OAAO,CAACiB,SAAS,CAACC,OAAO,CAAC,+BAA+B,EAAE,YAAY;IACxF,IAAI;MACA,OAAO,MAAM,IAAAC,oBAAS,EAAC;QACnBnB,OAAO;QACPW,SAAS;QACTG,SAAS;QACTM,IAAI,EAAEpB,OAAO,CAACe,GAAG,CAACK;MACtB,CAAC,CAAC;IACN,CAAC,CAAC,OAAOhB,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAC,oCAAoC,CAAC;MACnDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CAAC,CAAC;EAEF,MAAMmB,IAAI,GAAG,MAAMvB,OAAO,CAACiB,SAAS,CAACC,OAAO,CACxC,uCAAuC,EACvC,YAAY;IACR,IAAI;MACA,OAAO,IAAAM,oCAAiB,EAACvB,OAAO,CAACsB,IAAI,CAAC;IAC1C,CAAC,CAAC,OAAOnB,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAC,wCAAwC,CAAC;MACvDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CACJ,CAAC;;EAED;AACJ;AACA;AACA;EACI,IAAIqB,MAAkD,GAAG,IAAI;EAE7D,MAAMzB,OAAO,CAACiB,SAAS,CAACC,OAAO,CAAC,wCAAwC,EAAE,YAAY;IAClF,IAAI;MACAO,MAAM,GAAG,MAAM,IAAAC,kCAAkB,EAACH,IAAI,EAAEP,MAAM,EAAEhB,OAAO,CAAC;IAC5D,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAC,0CAA0C,CAAC;MACzDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CAAC,CAAC;EACF;AACJ;AACA;EACI,IAAIF,KAAK,CAACyB,IAAI,EAAE;IACZN,OAAO,CAACO,IAAI,CAAC,gEAAgE,CAAC;IAC9E,OAAO1B,KAAK;EAChB;EAEA,OAAOA,KAAK,CAACI,IAAI,CAACmB,MAAM,CAAC;AAC7B,CAAC;AAACI,OAAA,CAAA/B,aAAA,GAAAA,aAAA","ignoreList":[]}
|
package/graphql/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import type { Plugin } from "@webiny/plugins/types";
|
|
2
|
+
import type { GraphQLHandlerFactoryParams } from "./graphQLHandlerFactory";
|
|
3
|
+
export type CreateGraphQLParams = GraphQLHandlerFactoryParams;
|
|
4
|
+
export declare const createGraphQL: (params: CreateGraphQLParams) => Plugin[];
|
package/graphql/index.js
CHANGED
|
@@ -8,6 +8,8 @@ var _system = require("./system");
|
|
|
8
8
|
var _graphQLHandlerFactory = require("./graphQLHandlerFactory");
|
|
9
9
|
var _baseSchema = require("./schema/baseSchema");
|
|
10
10
|
const createGraphQL = params => {
|
|
11
|
-
return [
|
|
11
|
+
return [(0, _baseSchema.createBaseSchema)(), (0, _system.createSystemSchemaPlugin)(), ...(0, _graphQLHandlerFactory.graphQLHandlerFactory)(params)];
|
|
12
12
|
};
|
|
13
|
-
exports.createGraphQL = createGraphQL;
|
|
13
|
+
exports.createGraphQL = createGraphQL;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory
|
|
1
|
+
{"version":3,"names":["_system","require","_graphQLHandlerFactory","_baseSchema","createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory","exports"],"sources":["index.ts"],"sourcesContent":["import type { Plugin } from \"@webiny/plugins/types\";\nimport { createSystemSchemaPlugin } from \"./system\";\nimport type { GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { graphQLHandlerFactory } from \"./graphQLHandlerFactory\";\nimport { createBaseSchema } from \"~/graphql/schema/baseSchema\";\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams): Plugin[] => {\n return [createBaseSchema(), createSystemSchemaPlugin(), ...graphQLHandlerFactory(params)];\n};\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAGO,MAAMG,aAAa,GAAIC,MAA2B,IAAe;EACpE,OAAO,CAAC,IAAAC,4BAAgB,EAAC,CAAC,EAAE,IAAAC,gCAAwB,EAAC,CAAC,EAAE,GAAG,IAAAC,4CAAqB,EAACH,MAAM,CAAC,CAAC;AAC7F,CAAC;AAACI,OAAA,CAAAL,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RevisionIdScalar = void 0;
|
|
7
|
+
var _graphql = require("graphql");
|
|
8
|
+
var _utils = require("@webiny/utils");
|
|
9
|
+
const RevisionIdScalar = exports.RevisionIdScalar = new _graphql.GraphQLScalarType({
|
|
10
|
+
name: "RevisionId",
|
|
11
|
+
description: "A Headless CMS Reference field input type.",
|
|
12
|
+
parseValue: value => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return null;
|
|
15
|
+
} else if (typeof value !== "string") {
|
|
16
|
+
throw new Error("RevisionId value must be a string!");
|
|
17
|
+
}
|
|
18
|
+
const result = (0, _utils.parseIdentifier)(value);
|
|
19
|
+
if (!result.version) {
|
|
20
|
+
throw new Error(`RevisionId value must be a valid Revision ID property! Example: "abcdef#0001"`);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=RevisionId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_graphql","require","_utils","RevisionIdScalar","exports","GraphQLScalarType","name","description","parseValue","value","Error","result","parseIdentifier","version"],"sources":["RevisionId.ts"],"sourcesContent":["import { GraphQLScalarType } from \"graphql\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport const RevisionIdScalar = new GraphQLScalarType({\n name: \"RevisionId\",\n description: \"A Headless CMS Reference field input type.\",\n parseValue: value => {\n if (!value) {\n return null;\n } else if (typeof value !== \"string\") {\n throw new Error(\"RevisionId value must be a string!\");\n }\n\n const result = parseIdentifier(value);\n if (!result.version) {\n throw new Error(\n `RevisionId value must be a valid Revision ID property! Example: \"abcdef#0001\"`\n );\n }\n return value;\n }\n});\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAIE,0BAAiB,CAAC;EAClDC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,4CAA4C;EACzDC,UAAU,EAAEC,KAAK,IAAI;IACjB,IAAI,CAACA,KAAK,EAAE;MACR,OAAO,IAAI;IACf,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAClC,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;IACzD;IAEA,MAAMC,MAAM,GAAG,IAAAC,sBAAe,EAACH,KAAK,CAAC;IACrC,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;MACjB,MAAM,IAAIH,KAAK,CACX,+EACJ,CAAC;IACL;IACA,OAAOD,KAAK;EAChB;AACJ,CAAC,CAAC","ignoreList":[]}
|