payload 4.0.0-internal.ea6e8f8 → 4.0.0-internal.ee5d8bd
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/dist/admin/adapters/router.d.ts +1 -1
- package/dist/admin/adapters/router.d.ts.map +1 -1
- package/dist/admin/adapters/router.js.map +1 -1
- package/dist/admin/forms/Diff.d.ts +0 -4
- package/dist/admin/forms/Diff.d.ts.map +1 -1
- package/dist/admin/forms/Diff.js.map +1 -1
- package/dist/admin/forms/Form.d.ts +0 -2
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js.map +1 -1
- package/dist/admin/initAdminContext.d.ts.map +1 -1
- package/dist/admin/initAdminContext.js +0 -10
- package/dist/admin/initAdminContext.js.map +1 -1
- package/dist/auth/createAuthToken.d.ts +26 -0
- package/dist/auth/createAuthToken.d.ts.map +1 -0
- package/dist/auth/createAuthToken.js +39 -0
- package/dist/auth/createAuthToken.js.map +1 -0
- package/dist/auth/endpoints/refresh.d.ts.map +1 -1
- package/dist/auth/endpoints/refresh.js +2 -1
- package/dist/auth/endpoints/refresh.js.map +1 -1
- package/dist/auth/getFieldsToSign.js.map +1 -1
- package/dist/auth/loginWithCookie.d.ts.map +1 -1
- package/dist/auth/loginWithCookie.js +1 -0
- package/dist/auth/loginWithCookie.js.map +1 -1
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js +1 -0
- package/dist/auth/operations/local/login.js.map +1 -1
- package/dist/auth/operations/login.d.ts +2 -0
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +6 -19
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/refresh.d.ts +8 -0
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +50 -19
- package/dist/auth/operations/refresh.js.map +1 -1
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +54 -20
- package/dist/auth/operations/resetPassword.js.map +1 -1
- package/dist/auth/refreshAuthToken.d.ts +32 -0
- package/dist/auth/refreshAuthToken.d.ts.map +1 -0
- package/dist/auth/refreshAuthToken.js +113 -0
- package/dist/auth/refreshAuthToken.js.map +1 -0
- package/dist/auth/serverFunctions/cookies.js.map +1 -1
- package/dist/auth/serverFunctions/login.js.map +1 -1
- package/dist/auth/sessions.d.ts +9 -2
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/sessions.js +6 -5
- package/dist/auth/sessions.js.map +1 -1
- package/dist/auth/types.d.ts +25 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/cli/commands/data/utilities.d.ts +1 -1
- package/dist/cli/commands/data/utilities.d.ts.map +1 -1
- package/dist/cli/commands/data/utilities.js.map +1 -1
- package/dist/cli/defineCLICommand.js +1 -1
- package/dist/cli/defineCLICommand.js.map +1 -1
- package/dist/collections/config/client.d.ts +1 -1
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +0 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts +2 -0
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +4 -0
- 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 +3 -0
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
- package/dist/collections/config/sanitizeCompoundIndexes.js +0 -9
- package/dist/collections/config/sanitizeCompoundIndexes.js.map +1 -1
- package/dist/collections/config/types.d.ts +4 -21
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/dataloader.d.ts +1 -10
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +6 -14
- package/dist/collections/dataloader.js.map +1 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +0 -13
- 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 +121 -638
- 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 +32 -238
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +0 -6
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/findDistinct.js +6 -7
- package/dist/collections/operations/findDistinct.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +7 -0
- 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 +5 -0
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/local/count.d.ts +4 -9
- package/dist/collections/operations/local/count.d.ts.map +1 -1
- package/dist/collections/operations/local/count.js.map +1 -1
- package/dist/collections/operations/local/countVersions.d.ts +0 -4
- package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/countVersions.js.map +1 -1
- package/dist/collections/operations/local/create.d.ts +4 -9
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +4 -9
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts +0 -5
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +4 -9
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +4 -9
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/findDistinct.d.ts +0 -5
- package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/local/findDistinct.js.map +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +0 -5
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +0 -5
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +0 -5
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +4 -9
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/renameFile.js +1 -1
- package/dist/collections/operations/renameFile.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +76 -157
- 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 +171 -357
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +0 -15
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +60 -265
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utilities/buildBeforeOperation.d.ts.map +1 -1
- package/dist/collections/operations/utilities/buildBeforeOperation.js +0 -7
- package/dist/collections/operations/utilities/buildBeforeOperation.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts +1 -14
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +20 -92
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/collections/operations/validate.js +4 -4
- package/dist/collections/operations/validate.js.map +1 -1
- package/dist/config/client.d.ts +1 -3
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +1 -9
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/definePlugin.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +2 -40
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +13 -21
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/defaultCopy.d.ts.map +1 -1
- package/dist/database/defaultCopy.js +0 -1
- package/dist/database/defaultCopy.js.map +1 -1
- package/dist/database/types.d.ts +4 -75
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/exports/build-config.d.ts +9 -0
- package/dist/exports/build-config.d.ts.map +1 -0
- package/dist/exports/build-config.js +38 -0
- package/dist/exports/build-config.js.map +1 -0
- package/dist/exports/shared.d.ts +0 -2
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +0 -2
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/authorship/index.d.ts +1 -2
- package/dist/fields/baseFields/authorship/index.d.ts.map +1 -1
- package/dist/fields/baseFields/authorship/index.js +0 -12
- package/dist/fields/baseFields/authorship/index.js.map +1 -1
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/reservedFieldNames.d.ts.map +1 -1
- package/dist/fields/config/reservedFieldNames.js.map +1 -1
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +0 -8
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +2 -6
- package/dist/fields/hooks/afterRead/index.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +1 -3
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +17 -41
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +0 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -3
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +2 -4
- package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
- package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js +0 -3
- package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts +14 -0
- package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts.map +1 -0
- package/dist/fields/hooks/beforeChange/flattenValidationData.js +36 -0
- package/dist/fields/hooks/beforeChange/flattenValidationData.js.map +1 -0
- package/dist/fields/hooks/beforeChange/promise.d.ts +2 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +96 -22
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +2 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +0 -8
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +4 -1
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/types.d.ts +2 -6
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
- package/dist/globals/operations/countGlobalVersions.js +0 -7
- package/dist/globals/operations/countGlobalVersions.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +0 -7
- 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 -6
- 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 +4 -6
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/local/countVersions.d.ts +0 -5
- package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/countVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +0 -5
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +0 -5
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +0 -5
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +0 -5
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +0 -5
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +18 -61
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +2 -3
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +24 -61
- package/dist/globals/operations/restoreVersion.js.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +8 -86
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/globals/operations/validate.js +1 -1
- package/dist/globals/operations/validate.js.map +1 -1
- package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
- package/dist/hierarchy/addHierarchyToCollection.js +32 -21
- package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
- package/dist/hierarchy/createFolderField.js.map +1 -1
- package/dist/hierarchy/getInitialTreeData.d.ts +1 -3
- package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
- package/dist/hierarchy/getInitialTreeData.js +1 -4
- package/dist/hierarchy/getInitialTreeData.js.map +1 -1
- package/dist/hierarchy/resolveHierarchyCollections.js +9 -3
- package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
- package/dist/hierarchy/utils/computePaths.d.ts.map +1 -1
- package/dist/hierarchy/utils/computePaths.js.map +1 -1
- package/dist/index.bundled.d.ts +4336 -5501
- package/dist/index.d.ts +27 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -37
- package/dist/index.js.map +1 -1
- package/dist/llm-instructions/getInstructionsCollection.d.ts.map +1 -1
- package/dist/llm-instructions/getInstructionsCollection.js +2 -0
- package/dist/llm-instructions/getInstructionsCollection.js.map +1 -1
- package/dist/preferences/keys.d.ts +4 -11
- package/dist/preferences/keys.d.ts.map +1 -1
- package/dist/preferences/keys.js +3 -10
- package/dist/preferences/keys.js.map +1 -1
- package/dist/preferences/types.d.ts +0 -19
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js +29 -108
- package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
- package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFile.js +0 -5
- package/dist/uploads/endpoints/getFile.js.map +1 -1
- package/dist/uploads/fileExists.d.ts.map +1 -1
- package/dist/uploads/fileExists.js +2 -5
- package/dist/uploads/fileExists.js.map +1 -1
- package/dist/uploads/fileVersioning/archive.d.ts.map +1 -1
- package/dist/uploads/fileVersioning/archive.js +1 -15
- package/dist/uploads/fileVersioning/archive.js.map +1 -1
- package/dist/uploads/fileVersioning/cleanup.d.ts +0 -7
- package/dist/uploads/fileVersioning/cleanup.d.ts.map +1 -1
- package/dist/uploads/fileVersioning/cleanup.js +0 -12
- package/dist/uploads/fileVersioning/cleanup.js.map +1 -1
- package/dist/uploads/fileVersioning/cloudStorage.d.ts.map +1 -1
- package/dist/uploads/fileVersioning/cloudStorage.js +1 -16
- package/dist/uploads/fileVersioning/cloudStorage.js.map +1 -1
- package/dist/uploads/fileVersioning/resolveHistoricalFile.js.map +1 -1
- package/dist/uploads/formatFilesize.js +1 -1
- package/dist/uploads/formatFilesize.js.map +1 -1
- package/dist/uploads/generateFileData.d.ts +0 -5
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +2 -74
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +29 -46
- package/dist/uploads/getBaseFields.js.map +1 -1
- package/dist/uploads/getFileContentRequirement.js.map +1 -1
- package/dist/uploads/getFileFromUploadInstructions.js.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +3 -5
- package/dist/uploads/getSafeFilename.js.map +1 -1
- package/dist/uploads/safeFetch.js.map +1 -1
- package/dist/uploads/stagedUpload.js.map +1 -1
- package/dist/uploads/transformers/handleDynamicFileRequest.js +11 -2
- package/dist/uploads/transformers/handleDynamicFileRequest.js.map +1 -1
- package/dist/uploads/types.d.ts +0 -11
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/uploads/uploadFiles.d.ts +1 -4
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js +5 -29
- package/dist/uploads/uploadFiles.js.map +1 -1
- package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
- package/dist/utilities/addSelectGenericsToGeneretedTypes.js +0 -1
- package/dist/utilities/addSelectGenericsToGeneretedTypes.js.map +1 -1
- package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
- package/dist/utilities/assertNoValidationWrite.d.ts.map +1 -1
- package/dist/utilities/assertNoValidationWrite.js +0 -4
- package/dist/utilities/assertNoValidationWrite.js.map +1 -1
- package/dist/utilities/checkDocumentLockStatus.d.ts +6 -15
- package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
- package/dist/utilities/checkDocumentLockStatus.js +11 -44
- package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
- package/dist/utilities/cloneValidationRequest.js.map +1 -1
- package/dist/utilities/commitTransaction.d.ts +0 -4
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js +1 -41
- package/dist/utilities/commitTransaction.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +2 -18
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts +0 -5
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +3 -50
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequestFromWebRequest.d.ts +12 -1
- package/dist/utilities/createPayloadRequestFromWebRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequestFromWebRequest.js +9 -5
- package/dist/utilities/createPayloadRequestFromWebRequest.js.map +1 -1
- package/dist/utilities/deepCopyObject.js.map +1 -1
- package/dist/utilities/documentMatchingWhereExists.js +1 -1
- package/dist/utilities/documentMatchingWhereExists.js.map +1 -1
- package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -1
- package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -1
- package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
- package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
- package/dist/utilities/getEntityPermissions/getEntityPermissions.js +1 -0
- package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
- package/dist/utilities/getVersionsConfig.d.ts +4 -0
- package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
- package/dist/utilities/getVersionsConfig.js +5 -0
- package/dist/utilities/getVersionsConfig.js.map +1 -1
- package/dist/utilities/handleEndpoints.d.ts.map +1 -1
- package/dist/utilities/handleEndpoints.js +10 -9
- package/dist/utilities/handleEndpoints.js.map +1 -1
- package/dist/utilities/httpStatus.d.ts +0 -2
- package/dist/utilities/httpStatus.d.ts.map +1 -1
- package/dist/utilities/httpStatus.js +1 -3
- package/dist/utilities/httpStatus.js.map +1 -1
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js +7 -35
- package/dist/utilities/initTransaction.js.map +1 -1
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js +0 -27
- package/dist/utilities/killTransaction.js.map +1 -1
- package/dist/utilities/parseParams/index.js.map +1 -1
- package/dist/utilities/parseValidationLocale.js.map +1 -1
- package/dist/utilities/sanitizePopulateParam.js.map +1 -1
- package/dist/utilities/telemetry/conf/index.d.ts +4 -1
- package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/conf/index.js.map +1 -1
- package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -1
- package/dist/versions/allLocalesPublicationStatus.js.map +1 -1
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +0 -23
- package/dist/versions/buildCollectionFields.js.map +1 -1
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +0 -14
- package/dist/versions/buildGlobalFields.js.map +1 -1
- package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
- package/dist/versions/buildVersionCompoundIndexes.js +2 -8
- package/dist/versions/buildVersionCompoundIndexes.js.map +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts +1 -2
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js +8 -37
- package/dist/versions/deleteCollectionVersions.js.map +1 -1
- package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
- package/dist/versions/deleteScheduledPublishJobs.js +0 -4
- package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js +1 -9
- package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -8
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +0 -1
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js +6 -22
- package/dist/versions/enforceMaxVersions.js.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +2 -10
- package/dist/versions/getLatestCollectionVersion.js.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +2 -6
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +21 -65
- package/dist/versions/getLatestGlobalVersion.js.map +1 -1
- package/dist/versions/isInheritedReadVersionsAccess.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +0 -7
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +4 -27
- package/dist/versions/saveVersion.js.map +1 -1
- package/dist/versions/updateLatestVersion.d.ts +0 -1
- package/dist/versions/updateLatestVersion.d.ts.map +1 -1
- package/dist/versions/updateLatestVersion.js +7 -24
- package/dist/versions/updateLatestVersion.js.map +1 -1
- package/package.json +30 -28
- package/skills/payload/reference/ENDPOINTS.md +3 -9
- package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +4 -4
- package/dist/admin/getAdminPreferences.d.ts +0 -10
- package/dist/admin/getAdminPreferences.d.ts.map +0 -1
- package/dist/admin/getAdminPreferences.js +0 -53
- package/dist/admin/getAdminPreferences.js.map +0 -1
- package/dist/admin/getRequestBranch.d.ts +0 -6
- package/dist/admin/getRequestBranch.d.ts.map +0 -1
- package/dist/admin/getRequestBranch.js +0 -17
- package/dist/admin/getRequestBranch.js.map +0 -1
- package/dist/branching/appendBranchFilter.d.ts +0 -30
- package/dist/branching/appendBranchFilter.d.ts.map +0 -1
- package/dist/branching/appendBranchFilter.js +0 -105
- package/dist/branching/appendBranchFilter.js.map +0 -1
- package/dist/branching/assertBranchAccess.d.ts +0 -10
- package/dist/branching/assertBranchAccess.d.ts.map +0 -1
- package/dist/branching/assertBranchAccess.js +0 -36
- package/dist/branching/assertBranchAccess.js.map +0 -1
- package/dist/branching/assertBranchActionAccess.d.ts +0 -10
- package/dist/branching/assertBranchActionAccess.d.ts.map +0 -1
- package/dist/branching/assertBranchActionAccess.js +0 -15
- package/dist/branching/assertBranchActionAccess.js.map +0 -1
- package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts +0 -53
- package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts.map +0 -1
- package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js +0 -833
- package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js.map +0 -1
- package/dist/branching/assertBranchReadable.d.ts +0 -36
- package/dist/branching/assertBranchReadable.d.ts.map +0 -1
- package/dist/branching/assertBranchReadable.js +0 -83
- package/dist/branching/assertBranchReadable.js.map +0 -1
- package/dist/branching/assertBranchUpdateAccess.d.ts +0 -8
- package/dist/branching/assertBranchUpdateAccess.d.ts.map +0 -1
- package/dist/branching/assertBranchUpdateAccess.js +0 -12
- package/dist/branching/assertBranchUpdateAccess.js.map +0 -1
- package/dist/branching/assertBranchWritable.d.ts +0 -18
- package/dist/branching/assertBranchWritable.d.ts.map +0 -1
- package/dist/branching/assertBranchWritable.js +0 -46
- package/dist/branching/assertBranchWritable.js.map +0 -1
- package/dist/branching/branchIDs.d.ts +0 -38
- package/dist/branching/branchIDs.d.ts.map +0 -1
- package/dist/branching/branchIDs.js +0 -113
- package/dist/branching/branchIDs.js.map +0 -1
- package/dist/branching/branchSelect.d.ts +0 -42
- package/dist/branching/branchSelect.d.ts.map +0 -1
- package/dist/branching/branchSelect.js +0 -97
- package/dist/branching/branchSelect.js.map +0 -1
- package/dist/branching/checkFieldAccess.d.ts +0 -21
- package/dist/branching/checkFieldAccess.d.ts.map +0 -1
- package/dist/branching/checkFieldAccess.js +0 -238
- package/dist/branching/checkFieldAccess.js.map +0 -1
- package/dist/branching/collections.d.ts +0 -14
- package/dist/branching/collections.d.ts.map +0 -1
- package/dist/branching/collections.js +0 -713
- package/dist/branching/collections.js.map +0 -1
- package/dist/branching/combineBranchAccess.d.ts +0 -6
- package/dist/branching/combineBranchAccess.d.ts.map +0 -1
- package/dist/branching/combineBranchAccess.js +0 -22
- package/dist/branching/combineBranchAccess.js.map +0 -1
- package/dist/branching/copyUploadFilesToBranch.d.ts +0 -9
- package/dist/branching/copyUploadFilesToBranch.d.ts.map +0 -1
- package/dist/branching/copyUploadFilesToBranch.js +0 -126
- package/dist/branching/copyUploadFilesToBranch.js.map +0 -1
- package/dist/branching/createShadowRow.d.ts +0 -70
- package/dist/branching/createShadowRow.d.ts.map +0 -1
- package/dist/branching/createShadowRow.js +0 -296
- package/dist/branching/createShadowRow.js.map +0 -1
- package/dist/branching/discard.d.ts +0 -52
- package/dist/branching/discard.d.ts.map +0 -1
- package/dist/branching/discard.js +0 -428
- package/dist/branching/discard.js.map +0 -1
- package/dist/branching/effectiveOperations.d.ts +0 -55
- package/dist/branching/effectiveOperations.d.ts.map +0 -1
- package/dist/branching/effectiveOperations.js +0 -472
- package/dist/branching/effectiveOperations.js.map +0 -1
- package/dist/branching/endpoints/discard.d.ts +0 -15
- package/dist/branching/endpoints/discard.d.ts.map +0 -1
- package/dist/branching/endpoints/discard.js +0 -55
- package/dist/branching/endpoints/discard.js.map +0 -1
- package/dist/branching/endpoints/merge.d.ts +0 -34
- package/dist/branching/endpoints/merge.d.ts.map +0 -1
- package/dist/branching/endpoints/merge.js +0 -119
- package/dist/branching/endpoints/merge.js.map +0 -1
- package/dist/branching/forkDocument.d.ts +0 -20
- package/dist/branching/forkDocument.d.ts.map +0 -1
- package/dist/branching/forkDocument.js +0 -169
- package/dist/branching/forkDocument.js.map +0 -1
- package/dist/branching/globalMergeWrites.d.ts +0 -21
- package/dist/branching/globalMergeWrites.d.ts.map +0 -1
- package/dist/branching/globalMergeWrites.js +0 -146
- package/dist/branching/globalMergeWrites.js.map +0 -1
- package/dist/branching/globals.d.ts +0 -49
- package/dist/branching/globals.d.ts.map +0 -1
- package/dist/branching/globals.js +0 -197
- package/dist/branching/globals.js.map +0 -1
- package/dist/branching/hooks.d.ts +0 -24
- package/dist/branching/hooks.d.ts.map +0 -1
- package/dist/branching/hooks.js +0 -92
- package/dist/branching/hooks.js.map +0 -1
- package/dist/branching/injectBranchFields.d.ts +0 -40
- package/dist/branching/injectBranchFields.d.ts.map +0 -1
- package/dist/branching/injectBranchFields.js +0 -229
- package/dist/branching/injectBranchFields.js.map +0 -1
- package/dist/branching/merge/applyMergeChange.d.ts +0 -27
- package/dist/branching/merge/applyMergeChange.d.ts.map +0 -1
- package/dist/branching/merge/applyMergeChange.js +0 -853
- package/dist/branching/merge/applyMergeChange.js.map +0 -1
- package/dist/branching/merge/branchMergeStatus.d.ts +0 -12
- package/dist/branching/merge/branchMergeStatus.d.ts.map +0 -1
- package/dist/branching/merge/branchMergeStatus.js +0 -74
- package/dist/branching/merge/branchMergeStatus.js.map +0 -1
- package/dist/branching/merge/executeMerge.d.ts +0 -22
- package/dist/branching/merge/executeMerge.d.ts.map +0 -1
- package/dist/branching/merge/executeMerge.js +0 -600
- package/dist/branching/merge/executeMerge.js.map +0 -1
- package/dist/branching/merge/finalizeMerge.d.ts +0 -40
- package/dist/branching/merge/finalizeMerge.d.ts.map +0 -1
- package/dist/branching/merge/finalizeMerge.js +0 -237
- package/dist/branching/merge/finalizeMerge.js.map +0 -1
- package/dist/branching/merge/mergeLedger.d.ts +0 -40
- package/dist/branching/merge/mergeLedger.d.ts.map +0 -1
- package/dist/branching/merge/mergeLedger.js +0 -130
- package/dist/branching/merge/mergeLedger.js.map +0 -1
- package/dist/branching/merge/prepareMerge.d.ts +0 -41
- package/dist/branching/merge/prepareMerge.d.ts.map +0 -1
- package/dist/branching/merge/prepareMerge.js +0 -234
- package/dist/branching/merge/prepareMerge.js.map +0 -1
- package/dist/branching/merge/recoverMerge.d.ts +0 -16
- package/dist/branching/merge/recoverMerge.d.ts.map +0 -1
- package/dist/branching/merge/recoverMerge.js +0 -199
- package/dist/branching/merge/recoverMerge.js.map +0 -1
- package/dist/branching/merge/retryFailedCleanups.d.ts +0 -36
- package/dist/branching/merge/retryFailedCleanups.d.ts.map +0 -1
- package/dist/branching/merge/retryFailedCleanups.js +0 -335
- package/dist/branching/merge/retryFailedCleanups.js.map +0 -1
- package/dist/branching/merge/utilities.d.ts +0 -35
- package/dist/branching/merge/utilities.d.ts.map +0 -1
- package/dist/branching/merge/utilities.js +0 -54
- package/dist/branching/merge/utilities.js.map +0 -1
- package/dist/branching/merge.d.ts +0 -88
- package/dist/branching/merge.d.ts.map +0 -1
- package/dist/branching/merge.js +0 -163
- package/dist/branching/merge.js.map +0 -1
- package/dist/branching/mergeWriteGuard.d.ts +0 -20
- package/dist/branching/mergeWriteGuard.d.ts.map +0 -1
- package/dist/branching/mergeWriteGuard.js +0 -27
- package/dist/branching/mergeWriteGuard.js.map +0 -1
- package/dist/branching/preflight.d.ts +0 -71
- package/dist/branching/preflight.d.ts.map +0 -1
- package/dist/branching/preflight.js +0 -757
- package/dist/branching/preflight.js.map +0 -1
- package/dist/branching/readLocalizedBranchWrite.d.ts +0 -14
- package/dist/branching/readLocalizedBranchWrite.d.ts.map +0 -1
- package/dist/branching/readLocalizedBranchWrite.js +0 -90
- package/dist/branching/readLocalizedBranchWrite.js.map +0 -1
- package/dist/branching/readMergeSnapshot.d.ts +0 -18
- package/dist/branching/readMergeSnapshot.d.ts.map +0 -1
- package/dist/branching/readMergeSnapshot.js +0 -99
- package/dist/branching/readMergeSnapshot.js.map +0 -1
- package/dist/branching/resolveBranch.d.ts +0 -153
- package/dist/branching/resolveBranch.d.ts.map +0 -1
- package/dist/branching/resolveBranch.js +0 -363
- package/dist/branching/resolveBranch.js.map +0 -1
- package/dist/branching/resolveBranchActionAccess.d.ts +0 -8
- package/dist/branching/resolveBranchActionAccess.d.ts.map +0 -1
- package/dist/branching/resolveBranchActionAccess.js +0 -9
- package/dist/branching/resolveBranchActionAccess.js.map +0 -1
- package/dist/branching/resolveBranchQuery.d.ts +0 -48
- package/dist/branching/resolveBranchQuery.d.ts.map +0 -1
- package/dist/branching/resolveBranchQuery.js +0 -115
- package/dist/branching/resolveBranchQuery.js.map +0 -1
- package/dist/branching/resolveBranchRowID.d.ts +0 -22
- package/dist/branching/resolveBranchRowID.d.ts.map +0 -1
- package/dist/branching/resolveBranchRowID.js +0 -70
- package/dist/branching/resolveBranchRowID.js.map +0 -1
- package/dist/branching/sanitizeBranchingConfig.d.ts +0 -31
- package/dist/branching/sanitizeBranchingConfig.d.ts.map +0 -1
- package/dist/branching/sanitizeBranchingConfig.js +0 -110
- package/dist/branching/sanitizeBranchingConfig.js.map +0 -1
- package/dist/branching/schedule/job.d.ts +0 -51
- package/dist/branching/schedule/job.d.ts.map +0 -1
- package/dist/branching/schedule/job.js +0 -151
- package/dist/branching/schedule/job.js.map +0 -1
- package/dist/branching/selectBranchChanges.d.ts +0 -8
- package/dist/branching/selectBranchChanges.d.ts.map +0 -1
- package/dist/branching/selectBranchChanges.js +0 -9
- package/dist/branching/selectBranchChanges.js.map +0 -1
- package/dist/branching/stripBranchMergeData.d.ts +0 -11
- package/dist/branching/stripBranchMergeData.d.ts.map +0 -1
- package/dist/branching/stripBranchMergeData.js +0 -20
- package/dist/branching/stripBranchMergeData.js.map +0 -1
- package/dist/branching/tombstone.d.ts +0 -91
- package/dist/branching/tombstone.d.ts.map +0 -1
- package/dist/branching/tombstone.js +0 -546
- package/dist/branching/tombstone.js.map +0 -1
- package/dist/branching/types.d.ts +0 -158
- package/dist/branching/types.d.ts.map +0 -1
- package/dist/branching/types.js +0 -54
- package/dist/branching/types.js.map +0 -1
- package/dist/branching/validation.d.ts +0 -47
- package/dist/branching/validation.d.ts.map +0 -1
- package/dist/branching/validation.js +0 -272
- package/dist/branching/validation.js.map +0 -1
- package/dist/branching/versions.d.ts +0 -131
- package/dist/branching/versions.d.ts.map +0 -1
- package/dist/branching/versions.js +0 -572
- package/dist/branching/versions.js.map +0 -1
- package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts +0 -23
- package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts.map +0 -1
- package/dist/collections/operations/utilities/createOperationRetryRequest.js +0 -683
- package/dist/collections/operations/utilities/createOperationRetryRequest.js.map +0 -1
- package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts +0 -3
- package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts.map +0 -1
- package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js +0 -3
- package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js.map +0 -1
- package/dist/uploads/appendBranchToFileURL.d.ts +0 -6
- package/dist/uploads/appendBranchToFileURL.d.ts.map +0 -1
- package/dist/uploads/appendBranchToFileURL.js +0 -24
- package/dist/uploads/appendBranchToFileURL.js.map +0 -1
- package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts +0 -15
- package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts.map +0 -1
- package/dist/uploads/deleteUploadFilesExclusiveToDocument.js +0 -62
- package/dist/uploads/deleteUploadFilesExclusiveToDocument.js.map +0 -1
- package/dist/uploads/fileIdentity.d.ts +0 -24
- package/dist/uploads/fileIdentity.d.ts.map +0 -1
- package/dist/uploads/fileIdentity.js +0 -36
- package/dist/uploads/fileIdentity.js.map +0 -1
- package/dist/uploads/fileQuarantine.d.ts +0 -17
- package/dist/uploads/fileQuarantine.d.ts.map +0 -1
- package/dist/uploads/fileQuarantine.js +0 -52
- package/dist/uploads/fileQuarantine.js.map +0 -1
- package/dist/uploads/linkFileWithoutOverwrite.d.ts +0 -13
- package/dist/uploads/linkFileWithoutOverwrite.d.ts.map +0 -1
- package/dist/uploads/linkFileWithoutOverwrite.js +0 -13
- package/dist/uploads/linkFileWithoutOverwrite.js.map +0 -1
- package/dist/uploads/uploadFileRollback.d.ts +0 -31
- package/dist/uploads/uploadFileRollback.d.ts.map +0 -1
- package/dist/uploads/uploadFileRollback.js +0 -269
- package/dist/uploads/uploadFileRollback.js.map +0 -1
- package/dist/utilities/extractRelationshipID.d.ts +0 -4
- package/dist/utilities/extractRelationshipID.d.ts.map +0 -1
- package/dist/utilities/extractRelationshipID.js +0 -14
- package/dist/utilities/extractRelationshipID.js.map +0 -1
- package/dist/utilities/transactionCallbacks.d.ts +0 -77
- package/dist/utilities/transactionCallbacks.d.ts.map +0 -1
- package/dist/utilities/transactionCallbacks.js +0 -299
- package/dist/utilities/transactionCallbacks.js.map +0 -1
- package/dist/utilities/transactionMutationTracker.d.ts +0 -21
- package/dist/utilities/transactionMutationTracker.d.ts.map +0 -1
- package/dist/utilities/transactionMutationTracker.js +0 -71
- package/dist/utilities/transactionMutationTracker.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { getSelectMode } from '../utilities/getSelectMode.js';
|
|
2
|
-
import { branchGlobalNeedsBothRows } from './globals.js';
|
|
3
|
-
import { resolveBranch } from './resolveBranch.js';
|
|
4
|
-
import { branchDocIDField, branchField, branchParentField, MAIN_BRANCH } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Whether canonical-ID projection applies to a read.
|
|
7
|
-
*
|
|
8
|
-
* Shared by the projection itself and by the `select` guards below, so the two
|
|
9
|
-
* can never disagree about when a row's ID needs translating — a mismatch there
|
|
10
|
-
* would either leak shadow-row primary keys or strip IDs on main.
|
|
11
|
-
*/ export const isBranchProjectionActive = ({ branch, collectionSlug, req })=>{
|
|
12
|
-
if (branch === false || !req?.payload) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (req.context?._branchBypass) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
const branching = req.payload.config?.branching;
|
|
19
|
-
if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
return (branch ?? resolveBranch(req)) !== MAIN_BRANCH;
|
|
23
|
-
};
|
|
24
|
-
const withRequiredSelectField = ({ field, select })=>{
|
|
25
|
-
if (!select) {
|
|
26
|
-
return select;
|
|
27
|
-
}
|
|
28
|
-
// Exclude mode returns every column the caller did not name, so the field is
|
|
29
|
-
// already there unless they named it — in which case it has to be un-named.
|
|
30
|
-
if (getSelectMode(select) === 'exclude') {
|
|
31
|
-
if (!(field in select)) {
|
|
32
|
-
return select;
|
|
33
|
-
}
|
|
34
|
-
const next = {
|
|
35
|
-
...select
|
|
36
|
-
};
|
|
37
|
-
delete next[field];
|
|
38
|
-
return next;
|
|
39
|
-
}
|
|
40
|
-
if (select[field]) {
|
|
41
|
-
return select;
|
|
42
|
-
}
|
|
43
|
-
// Cast because spreading the `SelectType` union widens to "include or exclude"
|
|
44
|
-
// and loses the discrimination; the exclude case already returned above.
|
|
45
|
-
return {
|
|
46
|
-
...select,
|
|
47
|
-
[field]: true
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
const withBranchField = ({ branch, collectionSlug, field, req, select })=>{
|
|
51
|
-
if (!isBranchProjectionActive({
|
|
52
|
-
branch,
|
|
53
|
-
collectionSlug,
|
|
54
|
-
req
|
|
55
|
-
})) {
|
|
56
|
-
return select;
|
|
57
|
-
}
|
|
58
|
-
return withRequiredSelectField({
|
|
59
|
-
field,
|
|
60
|
-
select
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Keeps `_branchDocID` in a collection read's `select`.
|
|
65
|
-
*
|
|
66
|
-
* An include-mode `select` narrows the row to exactly the fields named, which
|
|
67
|
-
* drops `_branchDocID` — and without it there is nothing for the canonical-ID
|
|
68
|
-
* projection to map from, so the read silently returns shadow-row primary keys
|
|
69
|
-
* instead of document IDs. The admin list view selects only its visible columns,
|
|
70
|
-
* which is how this surfaces: correct IDs over the plain REST API, wrong ones in
|
|
71
|
-
* the list, and an unopenable edit view behind every row.
|
|
72
|
-
*/ export const withBranchIDSelect = (args)=>withBranchField({
|
|
73
|
-
...args,
|
|
74
|
-
field: branchDocIDField
|
|
75
|
-
});
|
|
76
|
-
/**
|
|
77
|
-
* Keeps `_branchParent` in a version read's `select`, for the same reason
|
|
78
|
-
* {@link withBranchIDSelect} keeps `_branchDocID` in a collection read's.
|
|
79
|
-
*/ export const withBranchVersionSelect = (args)=>withBranchField({
|
|
80
|
-
...args,
|
|
81
|
-
field: branchParentField
|
|
82
|
-
});
|
|
83
|
-
/** Keeps `_branch` available while choosing between a branch global and main. */ export const withBranchGlobalSelect = ({ branch, globalSlug, req, select })=>{
|
|
84
|
-
if (!branchGlobalNeedsBothRows({
|
|
85
|
-
branch,
|
|
86
|
-
globalSlug,
|
|
87
|
-
req
|
|
88
|
-
})) {
|
|
89
|
-
return select;
|
|
90
|
-
}
|
|
91
|
-
return withRequiredSelectField({
|
|
92
|
-
field: branchField,
|
|
93
|
-
select
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
//# sourceMappingURL=branchSelect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/branching/branchSelect.ts"],"sourcesContent":["import type { PayloadRequest, SelectType } from '../types/index.js'\n\nimport { getSelectMode } from '../utilities/getSelectMode.js'\nimport { branchGlobalNeedsBothRows } from './globals.js'\nimport { resolveBranch } from './resolveBranch.js'\nimport { branchDocIDField, branchField, branchParentField, MAIN_BRANCH } from './types.js'\n\ntype ActiveArgs = {\n branch?: false | string\n collectionSlug: string\n req?: Partial<PayloadRequest>\n}\n\n/**\n * Whether canonical-ID projection applies to a read.\n *\n * Shared by the projection itself and by the `select` guards below, so the two\n * can never disagree about when a row's ID needs translating — a mismatch there\n * would either leak shadow-row primary keys or strip IDs on main.\n */\nexport const isBranchProjectionActive = ({ branch, collectionSlug, req }: ActiveArgs): boolean => {\n if (branch === false || !req?.payload) {\n return false\n }\n\n if ((req.context as Record<string, unknown> | undefined)?._branchBypass) {\n return false\n }\n\n const branching = req.payload.config?.branching\n\n if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {\n return false\n }\n\n return (branch ?? resolveBranch(req as PayloadRequest)) !== MAIN_BRANCH\n}\n\ntype SelectArgs = {\n select?: SelectType\n} & ActiveArgs\n\nconst withRequiredSelectField = ({\n field,\n select,\n}: {\n field: string\n select?: SelectType\n}): SelectType | undefined => {\n if (!select) {\n return select\n }\n\n // Exclude mode returns every column the caller did not name, so the field is\n // already there unless they named it — in which case it has to be un-named.\n if (getSelectMode(select) === 'exclude') {\n if (!(field in select)) {\n return select\n }\n\n const next = { ...select }\n delete next[field]\n\n return next\n }\n\n if (select[field]) {\n return select\n }\n\n // Cast because spreading the `SelectType` union widens to \"include or exclude\"\n // and loses the discrimination; the exclude case already returned above.\n return { ...select, [field]: true } as SelectType\n}\n\nconst withBranchField = ({\n branch,\n collectionSlug,\n field,\n req,\n select,\n}: { field: string } & SelectArgs): SelectType | undefined => {\n if (!isBranchProjectionActive({ branch, collectionSlug, req })) {\n return select\n }\n\n return withRequiredSelectField({ field, select })\n}\n\n/**\n * Keeps `_branchDocID` in a collection read's `select`.\n *\n * An include-mode `select` narrows the row to exactly the fields named, which\n * drops `_branchDocID` — and without it there is nothing for the canonical-ID\n * projection to map from, so the read silently returns shadow-row primary keys\n * instead of document IDs. The admin list view selects only its visible columns,\n * which is how this surfaces: correct IDs over the plain REST API, wrong ones in\n * the list, and an unopenable edit view behind every row.\n */\nexport const withBranchIDSelect = (args: SelectArgs): SelectType | undefined =>\n withBranchField({ ...args, field: branchDocIDField })\n\n/**\n * Keeps `_branchParent` in a version read's `select`, for the same reason\n * {@link withBranchIDSelect} keeps `_branchDocID` in a collection read's.\n */\nexport const withBranchVersionSelect = (args: SelectArgs): SelectType | undefined =>\n withBranchField({ ...args, field: branchParentField })\n\n/** Keeps `_branch` available while choosing between a branch global and main. */\nexport const withBranchGlobalSelect = ({\n branch,\n globalSlug,\n req,\n select,\n}: {\n branch?: false | string\n globalSlug: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n}): SelectType | undefined => {\n if (!branchGlobalNeedsBothRows({ branch, globalSlug, req })) {\n return select\n }\n\n return withRequiredSelectField({ field: branchField, select })\n}\n"],"names":["getSelectMode","branchGlobalNeedsBothRows","resolveBranch","branchDocIDField","branchField","branchParentField","MAIN_BRANCH","isBranchProjectionActive","branch","collectionSlug","req","payload","context","_branchBypass","branching","config","enabled","branchableCollections","has","withRequiredSelectField","field","select","next","withBranchField","withBranchIDSelect","args","withBranchVersionSelect","withBranchGlobalSelect","globalSlug"],"mappings":"AAEA,SAASA,aAAa,QAAQ,gCAA+B;AAC7D,SAASC,yBAAyB,QAAQ,eAAc;AACxD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,gBAAgB,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,WAAW,QAAQ,aAAY;AAQ1F;;;;;;CAMC,GACD,OAAO,MAAMC,2BAA2B,CAAC,EAAEC,MAAM,EAAEC,cAAc,EAAEC,GAAG,EAAc;IAClF,IAAIF,WAAW,SAAS,CAACE,KAAKC,SAAS;QACrC,OAAO;IACT;IAEA,IAAKD,IAAIE,OAAO,EAA0CC,eAAe;QACvE,OAAO;IACT;IAEA,MAAMC,YAAYJ,IAAIC,OAAO,CAACI,MAAM,EAAED;IAEtC,IAAI,CAACA,WAAWE,WAAW,CAACF,UAAUG,qBAAqB,CAACC,GAAG,CAACT,iBAAiB;QAC/E,OAAO;IACT;IAEA,OAAO,AAACD,CAAAA,UAAUN,cAAcQ,IAAqB,MAAOJ;AAC9D,EAAC;AAMD,MAAMa,0BAA0B,CAAC,EAC/BC,KAAK,EACLC,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX,OAAOA;IACT;IAEA,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAIrB,cAAcqB,YAAY,WAAW;QACvC,IAAI,CAAED,CAAAA,SAASC,MAAK,GAAI;YACtB,OAAOA;QACT;QAEA,MAAMC,OAAO;YAAE,GAAGD,MAAM;QAAC;QACzB,OAAOC,IAAI,CAACF,MAAM;QAElB,OAAOE;IACT;IAEA,IAAID,MAAM,CAACD,MAAM,EAAE;QACjB,OAAOC;IACT;IAEA,+EAA+E;IAC/E,yEAAyE;IACzE,OAAO;QAAE,GAAGA,MAAM;QAAE,CAACD,MAAM,EAAE;IAAK;AACpC;AAEA,MAAMG,kBAAkB,CAAC,EACvBf,MAAM,EACNC,cAAc,EACdW,KAAK,EACLV,GAAG,EACHW,MAAM,EACyB;IAC/B,IAAI,CAACd,yBAAyB;QAAEC;QAAQC;QAAgBC;IAAI,IAAI;QAC9D,OAAOW;IACT;IAEA,OAAOF,wBAAwB;QAAEC;QAAOC;IAAO;AACjD;AAEA;;;;;;;;;CASC,GACD,OAAO,MAAMG,qBAAqB,CAACC,OACjCF,gBAAgB;QAAE,GAAGE,IAAI;QAAEL,OAAOjB;IAAiB,GAAE;AAEvD;;;CAGC,GACD,OAAO,MAAMuB,0BAA0B,CAACD,OACtCF,gBAAgB;QAAE,GAAGE,IAAI;QAAEL,OAAOf;IAAkB,GAAE;AAExD,+EAA+E,GAC/E,OAAO,MAAMsB,yBAAyB,CAAC,EACrCnB,MAAM,EACNoB,UAAU,EACVlB,GAAG,EACHW,MAAM,EAMP;IACC,IAAI,CAACpB,0BAA0B;QAAEO;QAAQoB;QAAYlB;IAAI,IAAI;QAC3D,OAAOW;IACT;IAEA,OAAOF,wBAAwB;QAAEC,OAAOhB;QAAaiB;IAAO;AAC9D,EAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
2
|
-
import type { SanitizedGlobalConfig } from '../globals/config/types.js';
|
|
3
|
-
import type { JsonObject, PayloadRequest } from '../types/index.js';
|
|
4
|
-
type Args = {
|
|
5
|
-
collection: null | SanitizedCollectionConfig;
|
|
6
|
-
data: JsonObject;
|
|
7
|
-
doc: JsonObject;
|
|
8
|
-
global: null | SanitizedGlobalConfig;
|
|
9
|
-
id?: number | string;
|
|
10
|
-
operation: 'create' | 'update';
|
|
11
|
-
req: PayloadRequest;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Checks whether a proposed merge changes any field the merging user cannot write.
|
|
15
|
-
*
|
|
16
|
-
* This deliberately evaluates only field access functions. Running the normal field
|
|
17
|
-
* pipeline would also run mutation hooks, defaults and validation during a dry run.
|
|
18
|
-
*/
|
|
19
|
-
export declare const checkFieldAccess: ({ id, collection, data, doc, global, operation, req, }: Args) => Promise<boolean>;
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=checkFieldAccess.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkFieldAccess.d.ts","sourceRoot":"","sources":["../../src/branching/checkFieldAccess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAInE,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,IAAI,GAAG,yBAAyB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,UAAU,CAAA;IACf,MAAM,EAAE,IAAI,GAAG,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,2DAQ1B,IAAI,KAAG,OAAO,CAAC,OAAO,CAYrB,CAAA"}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
-
import { fieldAffectsData, tabHasName } from '../fields/config/types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Checks whether a proposed merge changes any field the merging user cannot write.
|
|
5
|
-
*
|
|
6
|
-
* This deliberately evaluates only field access functions. Running the normal field
|
|
7
|
-
* pipeline would also run mutation hooks, defaults and validation during a dry run.
|
|
8
|
-
*/ export const checkFieldAccess = async ({ id, collection, data, doc, global, operation, req })=>traverseFields({
|
|
9
|
-
id,
|
|
10
|
-
collection,
|
|
11
|
-
currentSiblingData: doc,
|
|
12
|
-
data,
|
|
13
|
-
doc,
|
|
14
|
-
fields: collection?.fields ?? global?.fields,
|
|
15
|
-
global,
|
|
16
|
-
operation,
|
|
17
|
-
proposedSiblingData: data,
|
|
18
|
-
req
|
|
19
|
-
});
|
|
20
|
-
const traverseFields = async ({ id, blockData, collection, currentSiblingData, data, doc, fields, global, operation, proposedSiblingData, req })=>{
|
|
21
|
-
for (const field of fields){
|
|
22
|
-
if (fieldAffectsData(field) && field.name) {
|
|
23
|
-
const fieldName = field.name;
|
|
24
|
-
const hasProposedValue = Object.prototype.hasOwnProperty.call(proposedSiblingData, fieldName);
|
|
25
|
-
const proposedValue = proposedSiblingData[fieldName];
|
|
26
|
-
const currentValue = currentSiblingData[fieldName];
|
|
27
|
-
const access = field.access?.[operation];
|
|
28
|
-
if (hasProposedValue && access && !isDeepStrictEqual(proposedValue, currentValue)) {
|
|
29
|
-
const hasAccess = await access(collection ? {
|
|
30
|
-
id,
|
|
31
|
-
blockData,
|
|
32
|
-
collection,
|
|
33
|
-
data,
|
|
34
|
-
doc,
|
|
35
|
-
req,
|
|
36
|
-
siblingData: proposedSiblingData
|
|
37
|
-
} : {
|
|
38
|
-
id,
|
|
39
|
-
blockData,
|
|
40
|
-
data,
|
|
41
|
-
doc,
|
|
42
|
-
global: global,
|
|
43
|
-
req,
|
|
44
|
-
siblingData: proposedSiblingData
|
|
45
|
-
});
|
|
46
|
-
if (!hasAccess) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
switch(field.type){
|
|
52
|
-
case 'array':
|
|
53
|
-
{
|
|
54
|
-
const proposedRows = proposedSiblingData[field.name];
|
|
55
|
-
const currentRows = currentSiblingData[field.name];
|
|
56
|
-
if (!Array.isArray(proposedRows)) {
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
for (const proposedRow of proposedRows){
|
|
60
|
-
if (!isJsonObject(proposedRow)) {
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
const currentRow = findCurrentRow({
|
|
64
|
-
currentRows,
|
|
65
|
-
proposedRow
|
|
66
|
-
});
|
|
67
|
-
const hasAccess = await traverseFields({
|
|
68
|
-
id,
|
|
69
|
-
collection,
|
|
70
|
-
currentSiblingData: currentRow,
|
|
71
|
-
data,
|
|
72
|
-
doc,
|
|
73
|
-
fields: field.fields,
|
|
74
|
-
global,
|
|
75
|
-
operation,
|
|
76
|
-
proposedSiblingData: proposedRow,
|
|
77
|
-
req
|
|
78
|
-
});
|
|
79
|
-
if (!hasAccess) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
case 'blocks':
|
|
86
|
-
{
|
|
87
|
-
const proposedRows = proposedSiblingData[field.name];
|
|
88
|
-
const currentRows = currentSiblingData[field.name];
|
|
89
|
-
if (!Array.isArray(proposedRows)) {
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
for (const proposedRow of proposedRows){
|
|
93
|
-
if (!isJsonObject(proposedRow)) {
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
const currentRow = findCurrentRow({
|
|
97
|
-
currentRows,
|
|
98
|
-
proposedRow
|
|
99
|
-
});
|
|
100
|
-
const blockType = proposedRow.blockType ?? currentRow.blockType;
|
|
101
|
-
const block = field.blocks.map((each)=>typeof each === 'string' ? req.payload.blocks[each] : each).find((each)=>each?.slug === blockType);
|
|
102
|
-
if (!block) {
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
const hasAccess = await traverseFields({
|
|
106
|
-
id,
|
|
107
|
-
blockData: proposedRow,
|
|
108
|
-
collection,
|
|
109
|
-
currentSiblingData: currentRow,
|
|
110
|
-
data,
|
|
111
|
-
doc,
|
|
112
|
-
fields: block.fields,
|
|
113
|
-
global,
|
|
114
|
-
operation,
|
|
115
|
-
proposedSiblingData: proposedRow,
|
|
116
|
-
req
|
|
117
|
-
});
|
|
118
|
-
if (!hasAccess) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
case 'collapsible':
|
|
125
|
-
case 'row':
|
|
126
|
-
{
|
|
127
|
-
const hasAccess = await traverseFields({
|
|
128
|
-
id,
|
|
129
|
-
blockData,
|
|
130
|
-
collection,
|
|
131
|
-
currentSiblingData,
|
|
132
|
-
data,
|
|
133
|
-
doc,
|
|
134
|
-
fields: field.fields,
|
|
135
|
-
global,
|
|
136
|
-
operation,
|
|
137
|
-
proposedSiblingData,
|
|
138
|
-
req
|
|
139
|
-
});
|
|
140
|
-
if (!hasAccess) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
case 'group':
|
|
146
|
-
{
|
|
147
|
-
const proposedGroup = fieldAffectsData(field) ? proposedSiblingData[field.name] : proposedSiblingData;
|
|
148
|
-
const currentGroup = fieldAffectsData(field) ? currentSiblingData[field.name] : currentSiblingData;
|
|
149
|
-
if (!isJsonObject(proposedGroup)) {
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
const hasAccess = await traverseFields({
|
|
153
|
-
id,
|
|
154
|
-
blockData,
|
|
155
|
-
collection,
|
|
156
|
-
currentSiblingData: isJsonObject(currentGroup) ? currentGroup : {},
|
|
157
|
-
data,
|
|
158
|
-
doc,
|
|
159
|
-
fields: field.fields,
|
|
160
|
-
global,
|
|
161
|
-
operation,
|
|
162
|
-
proposedSiblingData: proposedGroup,
|
|
163
|
-
req
|
|
164
|
-
});
|
|
165
|
-
if (!hasAccess) {
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
case 'tab':
|
|
171
|
-
{
|
|
172
|
-
const proposedTab = tabHasName(field) ? proposedSiblingData[field.name] : proposedSiblingData;
|
|
173
|
-
const currentTab = tabHasName(field) ? currentSiblingData[field.name] : currentSiblingData;
|
|
174
|
-
if (!isJsonObject(proposedTab)) {
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
const hasAccess = await traverseFields({
|
|
178
|
-
id,
|
|
179
|
-
blockData,
|
|
180
|
-
collection,
|
|
181
|
-
currentSiblingData: isJsonObject(currentTab) ? currentTab : {},
|
|
182
|
-
data,
|
|
183
|
-
doc,
|
|
184
|
-
fields: field.fields,
|
|
185
|
-
global,
|
|
186
|
-
operation,
|
|
187
|
-
proposedSiblingData: proposedTab,
|
|
188
|
-
req
|
|
189
|
-
});
|
|
190
|
-
if (!hasAccess) {
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
case 'tabs':
|
|
196
|
-
{
|
|
197
|
-
const hasAccess = await traverseFields({
|
|
198
|
-
id,
|
|
199
|
-
blockData,
|
|
200
|
-
collection,
|
|
201
|
-
currentSiblingData,
|
|
202
|
-
data,
|
|
203
|
-
doc,
|
|
204
|
-
fields: field.tabs.map((tab)=>({
|
|
205
|
-
...tab,
|
|
206
|
-
type: 'tab'
|
|
207
|
-
})),
|
|
208
|
-
global,
|
|
209
|
-
operation,
|
|
210
|
-
proposedSiblingData,
|
|
211
|
-
req
|
|
212
|
-
});
|
|
213
|
-
if (!hasAccess) {
|
|
214
|
-
return false;
|
|
215
|
-
}
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
default:
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return true;
|
|
223
|
-
};
|
|
224
|
-
const findCurrentRow = ({ currentRows, proposedRow })=>{
|
|
225
|
-
if (!Array.isArray(currentRows)) {
|
|
226
|
-
return {};
|
|
227
|
-
}
|
|
228
|
-
if (proposedRow.id !== undefined) {
|
|
229
|
-
const matchingRow = currentRows.find((row)=>isJsonObject(row) && String(row.id) === String(proposedRow.id));
|
|
230
|
-
if (isJsonObject(matchingRow)) {
|
|
231
|
-
return matchingRow;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return {};
|
|
235
|
-
};
|
|
236
|
-
const isJsonObject = (value)=>Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
237
|
-
|
|
238
|
-
//# sourceMappingURL=checkFieldAccess.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/branching/checkFieldAccess.ts"],"sourcesContent":["import { isDeepStrictEqual } from 'node:util'\n\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { Field, TabAsField } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { JsonObject, PayloadRequest } from '../types/index.js'\n\nimport { fieldAffectsData, tabHasName } from '../fields/config/types.js'\n\ntype Args = {\n collection: null | SanitizedCollectionConfig\n data: JsonObject\n doc: JsonObject\n global: null | SanitizedGlobalConfig\n id?: number | string\n operation: 'create' | 'update'\n req: PayloadRequest\n}\n\ntype TraverseArgs = {\n blockData?: JsonObject\n currentSiblingData: JsonObject\n fields: (Field | TabAsField)[]\n proposedSiblingData: JsonObject\n} & Args\n\n/**\n * Checks whether a proposed merge changes any field the merging user cannot write.\n *\n * This deliberately evaluates only field access functions. Running the normal field\n * pipeline would also run mutation hooks, defaults and validation during a dry run.\n */\nexport const checkFieldAccess = async ({\n id,\n collection,\n data,\n doc,\n global,\n operation,\n req,\n}: Args): Promise<boolean> =>\n traverseFields({\n id,\n collection,\n currentSiblingData: doc,\n data,\n doc,\n fields: (collection?.fields ?? global?.fields) as (Field | TabAsField)[],\n global,\n operation,\n proposedSiblingData: data,\n req,\n })\n\nconst traverseFields = async ({\n id,\n blockData,\n collection,\n currentSiblingData,\n data,\n doc,\n fields,\n global,\n operation,\n proposedSiblingData,\n req,\n}: TraverseArgs): Promise<boolean> => {\n for (const field of fields) {\n if (fieldAffectsData(field) && field.name) {\n const fieldName = field.name\n const hasProposedValue = Object.prototype.hasOwnProperty.call(proposedSiblingData, fieldName)\n const proposedValue = proposedSiblingData[fieldName]\n const currentValue = currentSiblingData[fieldName]\n const access = field.access?.[operation]\n\n if (hasProposedValue && access && !isDeepStrictEqual(proposedValue, currentValue)) {\n const hasAccess = await access(\n collection\n ? {\n id,\n blockData,\n collection,\n data,\n doc,\n req,\n siblingData: proposedSiblingData,\n }\n : {\n id,\n blockData,\n data,\n doc,\n global: global!,\n req,\n siblingData: proposedSiblingData,\n },\n )\n\n if (!hasAccess) {\n return false\n }\n }\n }\n\n switch (field.type) {\n case 'array': {\n const proposedRows = proposedSiblingData[field.name]\n const currentRows = currentSiblingData[field.name]\n\n if (!Array.isArray(proposedRows)) {\n break\n }\n\n for (const proposedRow of proposedRows) {\n if (!isJsonObject(proposedRow)) {\n continue\n }\n\n const currentRow = findCurrentRow({ currentRows, proposedRow })\n const hasAccess = await traverseFields({\n id,\n collection,\n currentSiblingData: currentRow,\n data,\n doc,\n fields: field.fields,\n global,\n operation,\n proposedSiblingData: proposedRow,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n }\n\n break\n }\n\n case 'blocks': {\n const proposedRows = proposedSiblingData[field.name]\n const currentRows = currentSiblingData[field.name]\n\n if (!Array.isArray(proposedRows)) {\n break\n }\n\n for (const proposedRow of proposedRows) {\n if (!isJsonObject(proposedRow)) {\n continue\n }\n\n const currentRow = findCurrentRow({ currentRows, proposedRow })\n const blockType = proposedRow.blockType ?? currentRow.blockType\n const block = field.blocks\n .map((each) => (typeof each === 'string' ? req.payload.blocks[each] : each))\n .find((each) => each?.slug === blockType)\n\n if (!block) {\n continue\n }\n\n const hasAccess = await traverseFields({\n id,\n blockData: proposedRow,\n collection,\n currentSiblingData: currentRow,\n data,\n doc,\n fields: block.fields,\n global,\n operation,\n proposedSiblingData: proposedRow,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n const hasAccess = await traverseFields({\n id,\n blockData,\n collection,\n currentSiblingData,\n data,\n doc,\n fields: field.fields,\n global,\n operation,\n proposedSiblingData,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n\n break\n }\n\n case 'group': {\n const proposedGroup = fieldAffectsData(field)\n ? proposedSiblingData[field.name]\n : proposedSiblingData\n const currentGroup = fieldAffectsData(field)\n ? currentSiblingData[field.name]\n : currentSiblingData\n\n if (!isJsonObject(proposedGroup)) {\n break\n }\n\n const hasAccess = await traverseFields({\n id,\n blockData,\n collection,\n currentSiblingData: isJsonObject(currentGroup) ? currentGroup : {},\n data,\n doc,\n fields: field.fields,\n global,\n operation,\n proposedSiblingData: proposedGroup,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n\n break\n }\n\n case 'tab': {\n const proposedTab = tabHasName(field)\n ? proposedSiblingData[field.name]\n : proposedSiblingData\n const currentTab = tabHasName(field) ? currentSiblingData[field.name] : currentSiblingData\n\n if (!isJsonObject(proposedTab)) {\n break\n }\n\n const hasAccess = await traverseFields({\n id,\n blockData,\n collection,\n currentSiblingData: isJsonObject(currentTab) ? currentTab : {},\n data,\n doc,\n fields: field.fields,\n global,\n operation,\n proposedSiblingData: proposedTab,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n\n break\n }\n\n case 'tabs': {\n const hasAccess = await traverseFields({\n id,\n blockData,\n collection,\n currentSiblingData,\n data,\n doc,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n global,\n operation,\n proposedSiblingData,\n req,\n })\n\n if (!hasAccess) {\n return false\n }\n\n break\n }\n\n default:\n break\n }\n }\n\n return true\n}\n\nconst findCurrentRow = ({\n currentRows,\n proposedRow,\n}: {\n currentRows: unknown\n proposedRow: JsonObject\n}): JsonObject => {\n if (!Array.isArray(currentRows)) {\n return {}\n }\n\n if (proposedRow.id !== undefined) {\n const matchingRow = currentRows.find(\n (row) => isJsonObject(row) && String(row.id) === String(proposedRow.id),\n )\n\n if (isJsonObject(matchingRow)) {\n return matchingRow\n }\n }\n\n return {}\n}\n\nconst isJsonObject = (value: unknown): value is JsonObject =>\n Boolean(value && typeof value === 'object' && !Array.isArray(value))\n"],"names":["isDeepStrictEqual","fieldAffectsData","tabHasName","checkFieldAccess","id","collection","data","doc","global","operation","req","traverseFields","currentSiblingData","fields","proposedSiblingData","blockData","field","name","fieldName","hasProposedValue","Object","prototype","hasOwnProperty","call","proposedValue","currentValue","access","hasAccess","siblingData","type","proposedRows","currentRows","Array","isArray","proposedRow","isJsonObject","currentRow","findCurrentRow","blockType","block","blocks","map","each","payload","find","slug","proposedGroup","currentGroup","proposedTab","currentTab","tabs","tab","undefined","matchingRow","row","String","value","Boolean"],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { CollectionConfig } from '../collections/config/types.js';
|
|
2
|
-
import type { Config } from '../config/types.js';
|
|
3
|
-
import type { SanitizedBranchingConfig } from './types.js';
|
|
4
|
-
export declare const getBranchesCollection: (branching: SanitizedBranchingConfig) => CollectionConfig;
|
|
5
|
-
export declare const getBranchChangesCollection: (config: Config) => CollectionConfig;
|
|
6
|
-
/**
|
|
7
|
-
* The merge ledger: what each merge event applied, and when.
|
|
8
|
-
*
|
|
9
|
-
* Append-only and read by nobody in the write path, which is the point — it costs
|
|
10
|
-
* the read predicate nothing, unlike retaining consumed change rows and filtering
|
|
11
|
-
* them out of the manifest query on every request.
|
|
12
|
-
*/
|
|
13
|
-
export declare const getBranchMergesCollection: () => CollectionConfig;
|
|
14
|
-
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/branching/collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAsB1D,eAAO,MAAM,qBAAqB,cAAe,wBAAwB,KAAG,gBAiI1E,CAAA;AAEF,eAAO,MAAM,0BAA0B,WAAY,MAAM,KAAG,gBAsG3D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAO,gBAsI3C,CAAA"}
|