payload 3.84.1 → 4.0.0-internal.d28e9fb
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/README.md +5 -5
- package/dist/admin/elements/Nav.d.ts +13 -0
- package/dist/admin/elements/Nav.d.ts.map +1 -1
- package/dist/admin/elements/Nav.js.map +1 -1
- package/dist/admin/functions/index.d.ts +1 -38
- package/dist/admin/functions/index.d.ts.map +1 -1
- package/dist/admin/functions/index.js.map +1 -1
- package/dist/admin/types.d.ts +5 -4
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/hierarchyList.d.ts +9 -0
- package/dist/admin/views/hierarchyList.d.ts.map +1 -0
- package/dist/admin/views/hierarchyList.js +3 -0
- package/dist/admin/views/hierarchyList.js.map +1 -0
- package/dist/admin/views/index.d.ts +1 -3
- package/dist/admin/views/index.d.ts.map +1 -1
- package/dist/admin/views/index.js.map +1 -1
- package/dist/admin/views/list.d.ts +43 -2
- package/dist/admin/views/list.d.ts.map +1 -1
- package/dist/admin/views/list.js.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.js +1 -0
- package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +7 -0
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateGlobals.js +20 -8
- package/dist/bin/generateImportMap/iterateGlobals.js.map +1 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +1 -3
- package/dist/bin/index.js.map +1 -1
- package/dist/collections/config/client.d.ts +4 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +13 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.js +1 -1
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +231 -184
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/types.d.ts +76 -91
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +24 -19
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +7 -2
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +7 -2
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +7 -2
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +10 -5
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +6 -4
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +6 -4
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +7 -2
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +7 -2
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +7 -2
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +5 -4
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +0 -10
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -15
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +0 -4
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +252 -266
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +120 -13
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/exports/internal.d.ts +1 -0
- package/dist/exports/internal.d.ts.map +1 -1
- package/dist/exports/internal.js +1 -0
- package/dist/exports/internal.js.map +1 -1
- package/dist/exports/shared.d.ts +5 -3
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +3 -2
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/slug/index.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/index.js +6 -4
- package/dist/fields/baseFields/slug/index.js.map +1 -1
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +3 -2
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +335 -322
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
- package/dist/fields/config/sanitizeJoinField.js +3 -0
- package/dist/fields/config/sanitizeJoinField.js.map +1 -1
- package/dist/fields/config/types.d.ts +17 -73
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +11 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/isFieldDisabled.d.ts +12 -0
- package/dist/fields/isFieldDisabled.d.ts.map +1 -0
- package/dist/fields/isFieldDisabled.js +15 -0
- package/dist/fields/isFieldDisabled.js.map +1 -0
- package/dist/fields/isFieldDisabled.spec.js +134 -0
- package/dist/fields/isFieldDisabled.spec.js.map +1 -0
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/client.d.ts +1 -1
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +2 -1
- package/dist/globals/config/client.js.map +1 -1
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +132 -122
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/globals/config/types.d.ts +4 -57
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +7 -2
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +6 -4
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +6 -4
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +7 -2
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/hierarchy/addHierarchyToCollection.d.ts +9 -0
- package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -0
- package/dist/hierarchy/addHierarchyToCollection.js +76 -0
- package/dist/hierarchy/addHierarchyToCollection.js.map +1 -0
- package/dist/hierarchy/buildParentField.d.ts +11 -0
- package/dist/hierarchy/buildParentField.d.ts.map +1 -0
- package/dist/hierarchy/buildParentField.js +42 -0
- package/dist/hierarchy/buildParentField.js.map +1 -0
- package/dist/hierarchy/constants.d.ts +15 -0
- package/dist/hierarchy/constants.d.ts.map +1 -0
- package/dist/hierarchy/constants.js +11 -0
- package/dist/hierarchy/constants.js.map +1 -0
- package/dist/hierarchy/createFolderField.d.ts +39 -0
- package/dist/hierarchy/createFolderField.d.ts.map +1 -0
- package/dist/hierarchy/createFolderField.js +54 -0
- package/dist/hierarchy/createFolderField.js.map +1 -0
- package/dist/hierarchy/createTagField.d.ts +44 -0
- package/dist/hierarchy/createTagField.d.ts.map +1 -0
- package/dist/hierarchy/createTagField.js +48 -0
- package/dist/hierarchy/createTagField.js.map +1 -0
- package/dist/hierarchy/getInitialTreeData.d.ts +27 -0
- package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -0
- package/dist/hierarchy/getInitialTreeData.js +125 -0
- package/dist/hierarchy/getInitialTreeData.js.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts +14 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.js +21 -0
- package/dist/hierarchy/hooks/collectionAfterDelete.js.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts +27 -0
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionAfterRead.js +72 -0
- package/dist/hierarchy/hooks/collectionAfterRead.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts +19 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.js +90 -0
- package/dist/hierarchy/hooks/collectionBeforeChange.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts +15 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.js +20 -0
- package/dist/hierarchy/hooks/collectionBeforeDelete.js.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts +33 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.js +66 -0
- package/dist/hierarchy/hooks/collectionBeforeOperation.js.map +1 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts +8 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js +108 -0
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js.map +1 -0
- package/dist/hierarchy/injectHierarchyButton.d.ts +14 -0
- package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -0
- package/dist/hierarchy/injectHierarchyButton.js +37 -0
- package/dist/hierarchy/injectHierarchyButton.js.map +1 -0
- package/dist/hierarchy/presets.d.ts +13 -0
- package/dist/hierarchy/presets.d.ts.map +1 -0
- package/dist/hierarchy/presets.js +52 -0
- package/dist/hierarchy/presets.js.map +1 -0
- package/dist/hierarchy/resolveHierarchyCollections.d.ts +23 -0
- package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -0
- package/dist/hierarchy/resolveHierarchyCollections.js +321 -0
- package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts +14 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.js +117 -0
- package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -0
- package/dist/hierarchy/types.d.ts +155 -0
- package/dist/hierarchy/types.d.ts.map +1 -0
- package/dist/hierarchy/types.js +6 -0
- package/dist/hierarchy/types.js.map +1 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts +77 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts.map +1 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js +77 -0
- package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js.map +1 -0
- package/dist/hierarchy/utils/computePaths.d.ts +31 -0
- package/dist/hierarchy/utils/computePaths.d.ts.map +1 -0
- package/dist/hierarchy/utils/computePaths.js +445 -0
- package/dist/hierarchy/utils/computePaths.js.map +1 -0
- package/dist/hierarchy/utils/findUseAsTitle.d.ts +14 -0
- package/dist/hierarchy/utils/findUseAsTitle.d.ts.map +1 -0
- package/dist/hierarchy/utils/findUseAsTitle.js +89 -0
- package/dist/hierarchy/utils/findUseAsTitle.js.map +1 -0
- package/dist/hierarchy/utils/getAncestors.d.ts +34 -0
- package/dist/hierarchy/utils/getAncestors.d.ts.map +1 -0
- package/dist/hierarchy/utils/getAncestors.js +94 -0
- package/dist/hierarchy/utils/getAncestors.js.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.d.ts +30 -0
- package/dist/hierarchy/utils/getLocalizedValue.d.ts.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.js +46 -0
- package/dist/hierarchy/utils/getLocalizedValue.js.map +1 -0
- package/dist/hierarchy/utils/getLocalizedValue.spec.js +250 -0
- package/dist/hierarchy/utils/getLocalizedValue.spec.js.map +1 -0
- package/dist/index.bundled.d.ts +709 -530
- package/dist/index.d.ts +28 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -8
- package/dist/index.js.map +1 -1
- package/dist/preferences/keys.d.ts +8 -4
- package/dist/preferences/keys.d.ts.map +1 -1
- package/dist/preferences/keys.js +7 -4
- package/dist/preferences/keys.js.map +1 -1
- package/dist/preferences/types.d.ts +1 -1
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/query-presets/config.d.ts.map +1 -1
- package/dist/query-presets/config.js +5 -1
- package/dist/query-presets/config.js.map +1 -1
- package/dist/queues/config/types/index.d.ts +0 -21
- package/dist/queues/config/types/index.d.ts.map +1 -1
- package/dist/queues/config/types/index.js.map +1 -1
- package/dist/queues/config/types/taskTypes.d.ts +0 -20
- package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
- package/dist/queues/config/types/taskTypes.js.map +1 -1
- package/dist/queues/errors/handleWorkflowError.d.ts.map +1 -1
- package/dist/queues/errors/handleWorkflowError.js +9 -1
- package/dist/queues/errors/handleWorkflowError.js.map +1 -1
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/localAPI.js +26 -67
- package/dist/queues/localAPI.js.map +1 -1
- package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/index.js +1 -4
- package/dist/queues/operations/handleSchedules/index.js.map +1 -1
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.js +40 -37
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +3 -22
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +0 -2
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
- package/dist/queues/utilities/updateJob.d.ts +1 -3
- package/dist/queues/utilities/updateJob.d.ts.map +1 -1
- package/dist/queues/utilities/updateJob.js +2 -18
- package/dist/queues/utilities/updateJob.js.map +1 -1
- package/dist/types/index.d.ts +44 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +35 -69
- package/dist/uploads/getBaseFields.js.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts +9 -4
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +5 -5
- package/dist/uploads/getSafeFilename.js.map +1 -1
- package/dist/utilities/appendDateTimezoneSelectFields.d.ts +13 -0
- package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -0
- package/dist/utilities/appendDateTimezoneSelectFields.js +47 -0
- package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -0
- package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
- package/dist/utilities/appendUploadSelectFields.js +3 -0
- package/dist/utilities/appendUploadSelectFields.js.map +1 -1
- package/dist/utilities/extractID.js +1 -1
- package/dist/utilities/extractID.js.map +1 -1
- package/dist/utilities/flattenAllFields.d.ts.map +1 -1
- package/dist/utilities/flattenAllFields.js +102 -93
- package/dist/utilities/flattenAllFields.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +13 -2
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/handleEndpoints.d.ts.map +1 -1
- package/dist/utilities/handleEndpoints.js +0 -1
- package/dist/utilities/handleEndpoints.js.map +1 -1
- package/dist/utilities/resolveSelect.d.ts +16 -0
- package/dist/utilities/resolveSelect.d.ts.map +1 -0
- package/dist/utilities/resolveSelect.js +19 -0
- package/dist/utilities/resolveSelect.js.map +1 -0
- package/dist/utilities/sanitizeProfiler.d.ts +38 -0
- package/dist/utilities/sanitizeProfiler.d.ts.map +1 -0
- package/dist/utilities/sanitizeProfiler.js +101 -0
- package/dist/utilities/sanitizeProfiler.js.map +1 -0
- package/dist/utilities/sanitizeSelect.d.ts +1 -2
- package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
- package/dist/utilities/sanitizeSelect.js +19 -25
- package/dist/utilities/sanitizeSelect.js.map +1 -1
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +3 -2
- package/dist/versions/baseFields.js.map +1 -1
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +0 -1
- package/dist/versions/buildCollectionFields.js.map +1 -1
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +0 -1
- package/dist/versions/buildGlobalFields.js.map +1 -1
- package/dist/versions/payloadPackageList.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.js +0 -1
- package/dist/versions/payloadPackageList.js.map +1 -1
- package/package.json +4 -4
- package/dist/admin/views/folderList.d.ts +0 -56
- package/dist/admin/views/folderList.d.ts.map +0 -1
- package/dist/admin/views/folderList.js +0 -3
- package/dist/admin/views/folderList.js.map +0 -1
- package/dist/folders/addFolderCollection.d.ts +0 -10
- package/dist/folders/addFolderCollection.d.ts.map +0 -1
- package/dist/folders/addFolderCollection.js +0 -26
- package/dist/folders/addFolderCollection.js.map +0 -1
- package/dist/folders/addFolderFieldToCollection.d.ts +0 -8
- package/dist/folders/addFolderFieldToCollection.d.ts.map +0 -1
- package/dist/folders/addFolderFieldToCollection.js +0 -20
- package/dist/folders/addFolderFieldToCollection.js.map +0 -1
- package/dist/folders/buildFolderField.d.ts +0 -8
- package/dist/folders/buildFolderField.d.ts.map +0 -1
- package/dist/folders/buildFolderField.js +0 -87
- package/dist/folders/buildFolderField.js.map +0 -1
- package/dist/folders/constants.d.ts +0 -3
- package/dist/folders/constants.d.ts.map +0 -1
- package/dist/folders/constants.js +0 -4
- package/dist/folders/constants.js.map +0 -1
- package/dist/folders/createFolderCollection.d.ts +0 -11
- package/dist/folders/createFolderCollection.d.ts.map +0 -1
- package/dist/folders/createFolderCollection.js +0 -115
- package/dist/folders/createFolderCollection.js.map +0 -1
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts +0 -8
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts.map +0 -1
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js +0 -15
- package/dist/folders/hooks/deleteSubfoldersAfterDelete.js.map +0 -1
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts +0 -8
- package/dist/folders/hooks/dissasociateAfterDelete.d.ts.map +0 -1
- package/dist/folders/hooks/dissasociateAfterDelete.js +0 -20
- package/dist/folders/hooks/dissasociateAfterDelete.js.map +0 -1
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts +0 -5
- package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts.map +0 -1
- package/dist/folders/hooks/ensureSafeCollectionsChange.js +0 -107
- package/dist/folders/hooks/ensureSafeCollectionsChange.js.map +0 -1
- package/dist/folders/hooks/reparentChildFolder.d.ts +0 -24
- package/dist/folders/hooks/reparentChildFolder.d.ts.map +0 -1
- package/dist/folders/hooks/reparentChildFolder.js +0 -72
- package/dist/folders/hooks/reparentChildFolder.js.map +0 -1
- package/dist/folders/types.d.ts +0 -118
- package/dist/folders/types.d.ts.map +0 -1
- package/dist/folders/types.js +0 -3
- package/dist/folders/types.js.map +0 -1
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts +0 -13
- package/dist/folders/utils/buildFolderWhereConstraints.d.ts.map +0 -1
- package/dist/folders/utils/buildFolderWhereConstraints.js +0 -45
- package/dist/folders/utils/buildFolderWhereConstraints.js.map +0 -1
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts +0 -12
- package/dist/folders/utils/formatFolderOrDocumentItem.d.ts.map +0 -1
- package/dist/folders/utils/formatFolderOrDocumentItem.js +0 -30
- package/dist/folders/utils/formatFolderOrDocumentItem.js.map +0 -1
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts +0 -14
- package/dist/folders/utils/getFolderBreadcrumbs.d.ts.map +0 -1
- package/dist/folders/utils/getFolderBreadcrumbs.js +0 -45
- package/dist/folders/utils/getFolderBreadcrumbs.js.map +0 -1
- package/dist/folders/utils/getFolderData.d.ts +0 -33
- package/dist/folders/utils/getFolderData.d.ts.map +0 -1
- package/dist/folders/utils/getFolderData.js +0 -88
- package/dist/folders/utils/getFolderData.js.map +0 -1
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts +0 -24
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts.map +0 -1
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js +0 -66
- package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js.map +0 -1
- package/dist/folders/utils/getOrphanedDocs.d.ts +0 -15
- package/dist/folders/utils/getOrphanedDocs.d.ts.map +0 -1
- package/dist/folders/utils/getOrphanedDocs.js +0 -40
- package/dist/folders/utils/getOrphanedDocs.js.map +0 -1
package/dist/config/sanitize.js
CHANGED
|
@@ -6,9 +6,8 @@ import { sanitizeCollection } from '../collections/config/sanitize.js';
|
|
|
6
6
|
import { migrationsCollection } from '../database/migrations/migrationsCollection.js';
|
|
7
7
|
import { DuplicateCollection, InvalidConfiguration } from '../errors/index.js';
|
|
8
8
|
import { defaultTimezones } from '../fields/baseFields/timezone/defaultTimezones.js';
|
|
9
|
-
import { addFolderCollection } from '../folders/addFolderCollection.js';
|
|
10
|
-
import { addFolderFieldToCollection } from '../folders/addFolderFieldToCollection.js';
|
|
11
9
|
import { sanitizeGlobal } from '../globals/config/sanitize.js';
|
|
10
|
+
import { resolveHierarchyCollections } from '../hierarchy/resolveHierarchyCollections.js';
|
|
12
11
|
import { baseBlockFields, formatLabels, sanitizeFields } from '../index.js';
|
|
13
12
|
import { getLockedDocumentsCollection, lockedDocumentsCollectionSlug } from '../locked-documents/config.js';
|
|
14
13
|
import { getPreferencesCollection, preferencesCollectionSlug } from '../preferences/config.js';
|
|
@@ -17,6 +16,7 @@ import { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/c
|
|
|
17
16
|
import { getJobStatsGlobal } from '../queues/config/global.js';
|
|
18
17
|
import { flattenAllFields, flattenBlock } from '../utilities/flattenAllFields.js';
|
|
19
18
|
import { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js';
|
|
19
|
+
import { endSpan, startSpan } from '../utilities/sanitizeProfiler.js';
|
|
20
20
|
import { validateTimezones } from '../utilities/validateTimezones.js';
|
|
21
21
|
import { getSchedulePublishTask } from '../versions/schedule/job.js';
|
|
22
22
|
import { addDefaultsToConfig } from './defaults.js';
|
|
@@ -85,297 +85,283 @@ const sanitizeAdminConfig = (configToSanitize)=>{
|
|
|
85
85
|
return sanitizedConfig;
|
|
86
86
|
};
|
|
87
87
|
export const sanitizeConfig = async (incomingConfig)=>{
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
config
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
config.endpoints.push(endpoint);
|
|
95
|
-
}
|
|
96
|
-
if (config.localization && config.localization.locales?.length > 0) {
|
|
97
|
-
// clone localization config so to not break everything
|
|
98
|
-
const firstLocale = config.localization.locales[0];
|
|
99
|
-
if (typeof firstLocale === 'string') {
|
|
100
|
-
config.localization.localeCodes = [
|
|
101
|
-
...config.localization.locales
|
|
102
|
-
];
|
|
103
|
-
// is string[], so convert to Locale[]
|
|
104
|
-
config.localization.locales = config.localization.locales.map((locale)=>({
|
|
105
|
-
code: locale,
|
|
106
|
-
label: locale,
|
|
107
|
-
rtl: false,
|
|
108
|
-
toString: ()=>locale
|
|
109
|
-
}));
|
|
110
|
-
} else {
|
|
111
|
-
// is Locale[], so convert to string[] for localeCodes
|
|
112
|
-
config.localization.localeCodes = config.localization.locales.map((locale)=>locale.code);
|
|
113
|
-
config.localization.locales = config.localization.locales.map((locale)=>({
|
|
114
|
-
...locale,
|
|
115
|
-
toString: ()=>locale.code
|
|
116
|
-
}));
|
|
88
|
+
const __profSpan = startSpan('sanitizeConfig');
|
|
89
|
+
try {
|
|
90
|
+
const configWithDefaults = addDefaultsToConfig(incomingConfig);
|
|
91
|
+
const config = sanitizeAdminConfig(configWithDefaults);
|
|
92
|
+
if (!config.endpoints) {
|
|
93
|
+
config.endpoints = [];
|
|
117
94
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
const i18nConfig = {
|
|
122
|
-
fallbackLanguage: 'en',
|
|
123
|
-
supportedLanguages: {
|
|
124
|
-
en
|
|
125
|
-
},
|
|
126
|
-
translations: {}
|
|
127
|
-
};
|
|
128
|
-
if (incomingConfig?.i18n) {
|
|
129
|
-
i18nConfig.supportedLanguages = incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages;
|
|
130
|
-
const supportedLangKeys = Object.keys(i18nConfig.supportedLanguages);
|
|
131
|
-
const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage;
|
|
132
|
-
i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang) ? fallbackLang : supportedLangKeys[0];
|
|
133
|
-
i18nConfig.translations = incomingConfig.i18n?.translations || i18nConfig.translations;
|
|
134
|
-
}
|
|
135
|
-
config.i18n = i18nConfig;
|
|
136
|
-
const richTextSanitizationPromises = [];
|
|
137
|
-
const schedulePublishCollections = [];
|
|
138
|
-
const queryPresetsCollections = [];
|
|
139
|
-
const schedulePublishGlobals = [];
|
|
140
|
-
const collectionSlugs = new Set();
|
|
141
|
-
const validRelationships = [
|
|
142
|
-
...config.collections?.map((c)=>c.slug) ?? [],
|
|
143
|
-
jobsCollectionSlug,
|
|
144
|
-
lockedDocumentsCollectionSlug,
|
|
145
|
-
preferencesCollectionSlug
|
|
146
|
-
];
|
|
147
|
-
if (config.folders !== false) {
|
|
148
|
-
validRelationships.push(config.folders.slug);
|
|
149
|
-
}
|
|
150
|
-
const dashboardWidgets = config.admin?.dashboard?.widgets ?? [];
|
|
151
|
-
for (const widget of dashboardWidgets){
|
|
152
|
-
if (widget.fields?.length) {
|
|
153
|
-
widget.fields = await sanitizeFields({
|
|
154
|
-
config: config,
|
|
155
|
-
existingFieldNames: new Set(),
|
|
156
|
-
fields: widget.fields,
|
|
157
|
-
parentIsLocalized: false,
|
|
158
|
-
richTextSanitizationPromises,
|
|
159
|
-
validRelationships
|
|
160
|
-
});
|
|
95
|
+
for (const endpoint of authRootEndpoints){
|
|
96
|
+
config.endpoints.push(endpoint);
|
|
161
97
|
}
|
|
162
|
-
|
|
163
|
-
|
|
98
|
+
if (config.localization && config.localization.locales?.length > 0) {
|
|
99
|
+
// clone localization config so to not break everything
|
|
100
|
+
const firstLocale = config.localization.locales[0];
|
|
101
|
+
if (typeof firstLocale === 'string') {
|
|
102
|
+
config.localization.localeCodes = [
|
|
103
|
+
...config.localization.locales
|
|
104
|
+
];
|
|
105
|
+
// is string[], so convert to Locale[]
|
|
106
|
+
config.localization.locales = config.localization.locales.map((locale)=>({
|
|
107
|
+
code: locale,
|
|
108
|
+
label: locale,
|
|
109
|
+
rtl: false,
|
|
110
|
+
toString: ()=>locale
|
|
111
|
+
}));
|
|
112
|
+
} else {
|
|
113
|
+
// is Locale[], so convert to string[] for localeCodes
|
|
114
|
+
config.localization.localeCodes = config.localization.locales.map((locale)=>locale.code);
|
|
115
|
+
config.localization.locales = config.localization.locales.map((locale)=>({
|
|
116
|
+
...locale,
|
|
117
|
+
toString: ()=>locale.code
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
// Default fallback to true if not provided
|
|
121
|
+
config.localization.fallback = config.localization?.fallback ?? true;
|
|
122
|
+
}
|
|
123
|
+
const i18nConfig = {
|
|
124
|
+
fallbackLanguage: 'en',
|
|
125
|
+
supportedLanguages: {
|
|
126
|
+
en
|
|
127
|
+
},
|
|
128
|
+
translations: {}
|
|
129
|
+
};
|
|
130
|
+
if (incomingConfig?.i18n) {
|
|
131
|
+
i18nConfig.supportedLanguages = incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages;
|
|
132
|
+
const supportedLangKeys = Object.keys(i18nConfig.supportedLanguages);
|
|
133
|
+
const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage;
|
|
134
|
+
i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang) ? fallbackLang : supportedLangKeys[0];
|
|
135
|
+
i18nConfig.translations = incomingConfig.i18n?.translations || i18nConfig.translations;
|
|
136
|
+
}
|
|
137
|
+
config.i18n = i18nConfig;
|
|
138
|
+
const richTextSanitizationPromises = [];
|
|
139
|
+
const schedulePublishCollections = [];
|
|
140
|
+
const queryPresetsCollections = [];
|
|
141
|
+
const schedulePublishGlobals = [];
|
|
142
|
+
const collectionSlugs = new Set();
|
|
143
|
+
const validRelationships = [
|
|
144
|
+
...config.collections?.map((c)=>c.slug) ?? [],
|
|
145
|
+
jobsCollectionSlug,
|
|
146
|
+
lockedDocumentsCollectionSlug,
|
|
147
|
+
preferencesCollectionSlug
|
|
148
|
+
];
|
|
149
|
+
const dashboardWidgets = config.admin?.dashboard?.widgets ?? [];
|
|
150
|
+
for (const widget of dashboardWidgets){
|
|
151
|
+
if (widget.fields?.length) {
|
|
152
|
+
widget.fields = await sanitizeFields({
|
|
153
|
+
config: config,
|
|
154
|
+
existingFieldNames: new Set(),
|
|
155
|
+
fields: widget.fields,
|
|
156
|
+
parentIsLocalized: false,
|
|
157
|
+
richTextSanitizationPromises,
|
|
158
|
+
validRelationships
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
164
163
|
* Blocks sanitization needs to happen before collections, as collection/global join field sanitization needs config.blocks
|
|
165
164
|
* to be populated with the sanitized blocks
|
|
166
165
|
*/ config.blocks = [];
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
166
|
+
if (incomingConfig.blocks?.length) {
|
|
167
|
+
for (const block of incomingConfig.blocks){
|
|
168
|
+
const sanitizedBlock = block;
|
|
169
|
+
if (sanitizedBlock._sanitized === true) {
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
sanitizedBlock._sanitized = true;
|
|
173
|
+
sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields);
|
|
174
|
+
sanitizedBlock.labels = !sanitizedBlock.labels ? formatLabels(sanitizedBlock.slug) : sanitizedBlock.labels;
|
|
175
|
+
sanitizedBlock.fields = await sanitizeFields({
|
|
176
|
+
config: config,
|
|
177
|
+
existingFieldNames: new Set(),
|
|
178
|
+
fields: sanitizedBlock.fields,
|
|
179
|
+
parentIsLocalized: false,
|
|
180
|
+
richTextSanitizationPromises,
|
|
181
|
+
validRelationships
|
|
182
|
+
});
|
|
183
|
+
const flattenedSanitizedBlock = flattenBlock({
|
|
184
|
+
block
|
|
185
|
+
});
|
|
186
|
+
config.blocks.push(flattenedSanitizedBlock);
|
|
172
187
|
}
|
|
173
|
-
sanitizedBlock._sanitized = true;
|
|
174
|
-
sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields);
|
|
175
|
-
sanitizedBlock.labels = !sanitizedBlock.labels ? formatLabels(sanitizedBlock.slug) : sanitizedBlock.labels;
|
|
176
|
-
sanitizedBlock.fields = await sanitizeFields({
|
|
177
|
-
config: config,
|
|
178
|
-
existingFieldNames: new Set(),
|
|
179
|
-
fields: sanitizedBlock.fields,
|
|
180
|
-
parentIsLocalized: false,
|
|
181
|
-
richTextSanitizationPromises,
|
|
182
|
-
validRelationships
|
|
183
|
-
});
|
|
184
|
-
const flattenedSanitizedBlock = flattenBlock({
|
|
185
|
-
block
|
|
186
|
-
});
|
|
187
|
-
config.blocks.push(flattenedSanitizedBlock);
|
|
188
188
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
189
|
+
// Track orderable join fields during sanitization
|
|
190
|
+
const orderableJoins = [];
|
|
191
|
+
for(let i = 0; i < config.collections.length; i++){
|
|
192
|
+
if (collectionSlugs.has(config.collections[i].slug)) {
|
|
193
|
+
throw new DuplicateCollection('slug', config.collections[i].slug);
|
|
194
|
+
}
|
|
195
|
+
collectionSlugs.add(config.collections[i].slug);
|
|
196
|
+
const draftsConfig = config.collections[i]?.versions?.drafts;
|
|
197
|
+
if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {
|
|
198
|
+
schedulePublishCollections.push(config.collections[i].slug);
|
|
199
|
+
}
|
|
200
|
+
if (config.collections[i].enableQueryPresets) {
|
|
201
|
+
queryPresetsCollections.push(config.collections[i].slug);
|
|
202
|
+
if (!validRelationships.includes(queryPresetsCollectionSlug)) {
|
|
203
|
+
validRelationships.push(queryPresetsCollectionSlug);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises, validRelationships, orderableJoins);
|
|
196
207
|
}
|
|
197
|
-
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
208
|
+
// Process orderable features after all collections are sanitized
|
|
209
|
+
const fieldsToAdd = new Map();
|
|
210
|
+
const joinFieldPathsByCollection = new Map();
|
|
211
|
+
// Handle collection.orderable
|
|
212
|
+
for (const collection of config.collections){
|
|
213
|
+
if (collection.orderable) {
|
|
214
|
+
const currentFields = fieldsToAdd.get(collection) || [];
|
|
215
|
+
fieldsToAdd.set(collection, [
|
|
216
|
+
...currentFields,
|
|
217
|
+
'_order'
|
|
218
|
+
]);
|
|
219
|
+
collection.defaultSort = collection.defaultSort ?? '_order';
|
|
220
|
+
}
|
|
201
221
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
222
|
+
// Handle orderable join fields (tracked during sanitization)
|
|
223
|
+
for (const joinInfo of orderableJoins){
|
|
224
|
+
const targetCollection = config.collections.find((c)=>c.slug === joinInfo.targetCollectionSlug);
|
|
225
|
+
if (targetCollection) {
|
|
226
|
+
const currentFields = fieldsToAdd.get(targetCollection) || [];
|
|
227
|
+
fieldsToAdd.set(targetCollection, [
|
|
228
|
+
...currentFields,
|
|
229
|
+
joinInfo.orderFieldName
|
|
230
|
+
]);
|
|
231
|
+
const currentJoinFieldPaths = joinFieldPathsByCollection.get(targetCollection.slug) || new Map();
|
|
232
|
+
currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn);
|
|
233
|
+
joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths);
|
|
206
234
|
}
|
|
207
235
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
236
|
+
// Add fields, hooks, and update flattenedFields
|
|
237
|
+
for (const [collection, orderableFields] of fieldsToAdd){
|
|
238
|
+
await addOrderableFieldsAndHook(collection, config, orderableFields, joinFieldPathsByCollection);
|
|
239
|
+
// Regenerate flattenedFields since we added new fields
|
|
240
|
+
collection.flattenedFields = flattenAllFields({
|
|
241
|
+
fields: collection.fields
|
|
214
242
|
});
|
|
215
243
|
}
|
|
216
|
-
|
|
217
|
-
if (
|
|
218
|
-
|
|
244
|
+
// Add endpoint if any orderable features exist
|
|
245
|
+
if (fieldsToAdd.size > 0) {
|
|
246
|
+
addOrderableEndpoint(config, joinFieldPathsByCollection);
|
|
219
247
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const currentFields = fieldsToAdd.get(collection) || [];
|
|
228
|
-
fieldsToAdd.set(collection, [
|
|
229
|
-
...currentFields,
|
|
230
|
-
'_order'
|
|
231
|
-
]);
|
|
232
|
-
collection.defaultSort = collection.defaultSort ?? '_order';
|
|
248
|
+
if (config.globals.length > 0) {
|
|
249
|
+
for(let i = 0; i < config.globals.length; i++){
|
|
250
|
+
if (hasScheduledPublishEnabled(config.globals[i])) {
|
|
251
|
+
schedulePublishGlobals.push(config.globals[i].slug);
|
|
252
|
+
}
|
|
253
|
+
config.globals[i] = await sanitizeGlobal(config, config.globals[i], richTextSanitizationPromises, validRelationships);
|
|
254
|
+
}
|
|
233
255
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
fieldsToAdd.set(targetCollection, [
|
|
241
|
-
...currentFields,
|
|
242
|
-
joinInfo.orderFieldName
|
|
243
|
-
]);
|
|
244
|
-
const currentJoinFieldPaths = joinFieldPathsByCollection.get(targetCollection.slug) || new Map();
|
|
245
|
-
currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn);
|
|
246
|
-
joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths);
|
|
256
|
+
// Resolve hierarchy relationships across collections (also adds sidebar tabs)
|
|
257
|
+
const __hierSpan = startSpan('resolveHierarchyCollections');
|
|
258
|
+
try {
|
|
259
|
+
resolveHierarchyCollections(config);
|
|
260
|
+
} finally{
|
|
261
|
+
endSpan(__hierSpan);
|
|
247
262
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
// Add endpoint if any orderable features exist
|
|
258
|
-
if (fieldsToAdd.size > 0) {
|
|
259
|
-
addOrderableEndpoint(config, joinFieldPathsByCollection);
|
|
260
|
-
}
|
|
261
|
-
if (config.globals.length > 0) {
|
|
262
|
-
for(let i = 0; i < config.globals.length; i++){
|
|
263
|
-
if (hasScheduledPublishEnabled(config.globals[i])) {
|
|
264
|
-
schedulePublishGlobals.push(config.globals[i].slug);
|
|
265
|
-
}
|
|
266
|
-
config.globals[i] = await sanitizeGlobal(config, config.globals[i], richTextSanitizationPromises, validRelationships);
|
|
263
|
+
if (schedulePublishCollections.length || schedulePublishGlobals.length) {
|
|
264
|
+
;
|
|
265
|
+
((config.jobs ??= {}).tasks ??= []).push(getSchedulePublishTask({
|
|
266
|
+
adminUserSlug: config.admin.user,
|
|
267
|
+
collections: schedulePublishCollections,
|
|
268
|
+
globals: schedulePublishGlobals
|
|
269
|
+
}));
|
|
267
270
|
}
|
|
268
|
-
}
|
|
269
|
-
if (schedulePublishCollections.length || schedulePublishGlobals.length) {
|
|
270
271
|
;
|
|
271
|
-
(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
272
|
+
(config.jobs ??= {}).enabled = Boolean(Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length || Array.isArray(configWithDefaults.jobs?.workflows) && configWithDefaults.jobs?.workflows?.length);
|
|
273
|
+
// Need to add default jobs collection before locked documents collections
|
|
274
|
+
if (config.jobs.enabled) {
|
|
275
|
+
// Check for schedule property in both tasks and workflows
|
|
276
|
+
const hasScheduleProperty = config?.jobs?.tasks?.length && config.jobs.tasks.some((task)=>task.schedule) || config?.jobs?.workflows?.length && config.jobs.workflows.some((workflow)=>workflow.schedule);
|
|
277
|
+
if (hasScheduleProperty) {
|
|
278
|
+
config.jobs.scheduling = true;
|
|
279
|
+
(config.globals ??= []).push(await sanitizeGlobal(config, getJobStatsGlobal(config), richTextSanitizationPromises, validRelationships));
|
|
280
|
+
config.jobs.stats = true;
|
|
281
|
+
}
|
|
282
|
+
let defaultJobsCollection = getDefaultJobsCollection(config.jobs);
|
|
283
|
+
if (typeof config.jobs.jobsCollectionOverrides === 'function') {
|
|
284
|
+
defaultJobsCollection = config.jobs.jobsCollectionOverrides({
|
|
285
|
+
defaultJobsCollection
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
const sanitizedJobsCollection = await sanitizeCollection(config, defaultJobsCollection, richTextSanitizationPromises, validRelationships);
|
|
289
|
+
(config.collections ??= []).push(sanitizedJobsCollection);
|
|
287
290
|
}
|
|
288
|
-
|
|
289
|
-
if (
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
291
|
+
const lockedDocumentsCollection = getLockedDocumentsCollection(config);
|
|
292
|
+
if (lockedDocumentsCollection) {
|
|
293
|
+
configWithDefaults.collections.push(await sanitizeCollection(config, lockedDocumentsCollection, richTextSanitizationPromises, validRelationships));
|
|
294
|
+
}
|
|
295
|
+
configWithDefaults.collections.push(await sanitizeCollection(config, getPreferencesCollection(config), richTextSanitizationPromises, validRelationships));
|
|
296
|
+
const migrations = await sanitizeCollection(config, migrationsCollection, richTextSanitizationPromises, validRelationships);
|
|
297
|
+
// @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb
|
|
298
|
+
if (config?.db?.indexSortableFields) {
|
|
299
|
+
migrations.indexes = [
|
|
300
|
+
{
|
|
301
|
+
fields: [
|
|
302
|
+
'batch',
|
|
303
|
+
'name'
|
|
304
|
+
],
|
|
305
|
+
unique: false
|
|
303
306
|
}
|
|
304
|
-
|
|
307
|
+
];
|
|
305
308
|
}
|
|
306
|
-
|
|
307
|
-
(
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
if (lockedDocumentsCollection) {
|
|
320
|
-
configWithDefaults.collections.push(await sanitizeCollection(config, lockedDocumentsCollection, richTextSanitizationPromises, validRelationships));
|
|
321
|
-
}
|
|
322
|
-
configWithDefaults.collections.push(await sanitizeCollection(config, getPreferencesCollection(config), richTextSanitizationPromises, validRelationships));
|
|
323
|
-
const migrations = await sanitizeCollection(config, migrationsCollection, richTextSanitizationPromises, validRelationships);
|
|
324
|
-
// @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb
|
|
325
|
-
if (config?.db?.indexSortableFields) {
|
|
326
|
-
migrations.indexes = [
|
|
327
|
-
{
|
|
328
|
-
fields: [
|
|
329
|
-
'batch',
|
|
330
|
-
'name'
|
|
331
|
-
],
|
|
332
|
-
unique: false
|
|
309
|
+
configWithDefaults.collections.push(migrations);
|
|
310
|
+
if (queryPresetsCollections.length > 0) {
|
|
311
|
+
configWithDefaults.collections.push(await sanitizeCollection(config, getQueryPresetsConfig(config), richTextSanitizationPromises, validRelationships));
|
|
312
|
+
}
|
|
313
|
+
if (config.serverURL !== '') {
|
|
314
|
+
config.csrf.push(config.serverURL);
|
|
315
|
+
}
|
|
316
|
+
const uploadAdapters = new Set();
|
|
317
|
+
// interact with all collections
|
|
318
|
+
for (const collection of config.collections){
|
|
319
|
+
// deduped upload adapters
|
|
320
|
+
if (collection.upload?.adapter) {
|
|
321
|
+
uploadAdapters.add(collection.upload.adapter);
|
|
333
322
|
}
|
|
334
|
-
];
|
|
335
|
-
}
|
|
336
|
-
configWithDefaults.collections.push(migrations);
|
|
337
|
-
if (queryPresetsCollections.length > 0) {
|
|
338
|
-
configWithDefaults.collections.push(await sanitizeCollection(config, getQueryPresetsConfig(config), richTextSanitizationPromises, validRelationships));
|
|
339
|
-
}
|
|
340
|
-
if (config.serverURL !== '') {
|
|
341
|
-
config.csrf.push(config.serverURL);
|
|
342
|
-
}
|
|
343
|
-
const uploadAdapters = new Set();
|
|
344
|
-
// interact with all collections
|
|
345
|
-
for (const collection of config.collections){
|
|
346
|
-
// deduped upload adapters
|
|
347
|
-
if (collection.upload?.adapter) {
|
|
348
|
-
uploadAdapters.add(collection.upload.adapter);
|
|
349
323
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
/*
|
|
324
|
+
if (!config.upload) {
|
|
325
|
+
config.upload = {
|
|
326
|
+
adapters: []
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
|
|
330
|
+
// Pass through the email config as is so adapters don't break
|
|
331
|
+
if (incomingConfig.email) {
|
|
332
|
+
config.email = incomingConfig.email;
|
|
333
|
+
}
|
|
334
|
+
/*
|
|
362
335
|
Execute richText sanitization
|
|
363
336
|
*/ if (typeof incomingConfig.editor === 'function') {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
337
|
+
const __editorSpan = startSpan('rootEditorFunction');
|
|
338
|
+
try {
|
|
339
|
+
config.editor = await incomingConfig.editor({
|
|
340
|
+
config: config,
|
|
341
|
+
isRoot: true,
|
|
342
|
+
parentIsLocalized: false
|
|
343
|
+
});
|
|
344
|
+
if (config.editor.i18n && Object.keys(config.editor.i18n).length >= 0) {
|
|
345
|
+
config.i18n.translations = deepMergeSimple(config.i18n.translations, config.editor.i18n);
|
|
346
|
+
}
|
|
347
|
+
} finally{
|
|
348
|
+
endSpan(__editorSpan);
|
|
349
|
+
}
|
|
371
350
|
}
|
|
351
|
+
const promises = [];
|
|
352
|
+
for (const sanitizeFunction of richTextSanitizationPromises){
|
|
353
|
+
promises.push(sanitizeFunction(config));
|
|
354
|
+
}
|
|
355
|
+
const __richtextSpan = startSpan('richTextDeferredBatch', String(promises.length));
|
|
356
|
+
try {
|
|
357
|
+
await Promise.all(promises);
|
|
358
|
+
} finally{
|
|
359
|
+
endSpan(__richtextSpan);
|
|
360
|
+
}
|
|
361
|
+
return config;
|
|
362
|
+
} finally{
|
|
363
|
+
endSpan(__profSpan);
|
|
372
364
|
}
|
|
373
|
-
const promises = [];
|
|
374
|
-
for (const sanitizeFunction of richTextSanitizationPromises){
|
|
375
|
-
promises.push(sanitizeFunction(config));
|
|
376
|
-
}
|
|
377
|
-
await Promise.all(promises);
|
|
378
|
-
return config;
|
|
379
365
|
};
|
|
380
366
|
|
|
381
367
|
//# sourceMappingURL=sanitize.js.map
|