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,158 +0,0 @@
|
|
|
1
|
-
import type { CollectionSlug } from '../index.js';
|
|
2
|
-
import type { PayloadRequest } from '../types/index.js';
|
|
3
|
-
import type { Access } from './../config/types.js';
|
|
4
|
-
import type { BranchMergeValidate } from './validation.js';
|
|
5
|
-
/**
|
|
6
|
-
* The reserved `_branch` value for production content.
|
|
7
|
-
*
|
|
8
|
-
* A non-null sentinel rather than NULL: Postgres treats NULLs as distinct in
|
|
9
|
-
* unique indexes, so a compound `(field, _branch)` unique index would stop
|
|
10
|
-
* enforcing uniqueness among main rows if this were null.
|
|
11
|
-
*/
|
|
12
|
-
export declare const MAIN_BRANCH = "main";
|
|
13
|
-
export declare const branchesCollectionSlug = "payload-branches";
|
|
14
|
-
export declare const branchChangesCollectionSlug = "payload-branch-changes";
|
|
15
|
-
/**
|
|
16
|
-
* One row per merge event, append-only.
|
|
17
|
-
*
|
|
18
|
-
* Merging consumes the change rows it applies and drops the shadow rows behind
|
|
19
|
-
* them, so without this a merged branch has no record of what it did. It is a
|
|
20
|
-
* separate collection rather than a flag on `payload-branch-changes` because a
|
|
21
|
-
* branch can be merged more than once (§16) — a change row belongs to exactly one
|
|
22
|
-
* merge, so the event, not the change, is what needs its own identity.
|
|
23
|
-
*/
|
|
24
|
-
export declare const branchMergesCollectionSlug = "payload-branch-merges";
|
|
25
|
-
/** Field injected onto every branch-enabled collection and its version collection. */
|
|
26
|
-
export declare const branchField = "_branch";
|
|
27
|
-
export declare const branchDocIDField = "_branchDocID";
|
|
28
|
-
export declare const branchParentField = "_branchParent";
|
|
29
|
-
export declare const branchOperations: readonly ['create', 'update', 'delete'];
|
|
30
|
-
export declare const mergeApplicationOutcomes: readonly ['unattempted', 'attempted', 'applied', 'committed', 'failed', 'rolledBack', 'unknown'];
|
|
31
|
-
export declare const mergeCleanupOutcomes: readonly ['pending', 'completed', 'failed', 'notNeeded', 'superseded', 'unknown'];
|
|
32
|
-
export declare const mergeRecoveryOutcomes: readonly ['notNeeded', 'pending', 'restored', 'deleted', 'unavailable', 'failed', 'unknown'];
|
|
33
|
-
export type BranchOperation = (typeof branchOperations)[number];
|
|
34
|
-
export type MergeApplicationOutcome = (typeof mergeApplicationOutcomes)[number];
|
|
35
|
-
export type MergeCleanupOutcome = (typeof mergeCleanupOutcomes)[number];
|
|
36
|
-
export type MergeRecoveryOutcome = (typeof mergeRecoveryOutcomes)[number];
|
|
37
|
-
export type MergeableChange = {
|
|
38
|
-
changeID: number | string;
|
|
39
|
-
/** Absent for a global, which is identified by `globalSlug` instead. */
|
|
40
|
-
collectionSlug?: string;
|
|
41
|
-
/** Absent for a global: there is one of it, so there is nothing to identify. */
|
|
42
|
-
docID?: number | string;
|
|
43
|
-
entityType: 'collection' | 'global';
|
|
44
|
-
globalSlug?: string;
|
|
45
|
-
operation: BranchOperation;
|
|
46
|
-
};
|
|
47
|
-
export type MergeEventChange = {
|
|
48
|
-
after?: unknown;
|
|
49
|
-
afterVersionID?: string;
|
|
50
|
-
applicationOutcome: MergeApplicationOutcome;
|
|
51
|
-
before?: unknown;
|
|
52
|
-
beforeVersionID?: string;
|
|
53
|
-
changeID: string;
|
|
54
|
-
cleanupError?: string;
|
|
55
|
-
cleanupOutcome: MergeCleanupOutcome;
|
|
56
|
-
collectionSlug?: string;
|
|
57
|
-
docID?: string;
|
|
58
|
-
docTitle: string;
|
|
59
|
-
error?: string;
|
|
60
|
-
globalSlug?: string;
|
|
61
|
-
operation: BranchOperation;
|
|
62
|
-
recoveryError?: string;
|
|
63
|
-
recoveryOutcome: MergeRecoveryOutcome;
|
|
64
|
-
sourceID?: string;
|
|
65
|
-
sourceRevision?: string;
|
|
66
|
-
sourceUpdatedAt?: string;
|
|
67
|
-
sourceVersionIDs?: (number | string)[];
|
|
68
|
-
targetID?: string;
|
|
69
|
-
};
|
|
70
|
-
export type MergeProgress = {
|
|
71
|
-
collectionSlug: string;
|
|
72
|
-
/** 1-based position of the change being applied. */
|
|
73
|
-
current: number;
|
|
74
|
-
docID: number | string;
|
|
75
|
-
operation: BranchOperation;
|
|
76
|
-
/** Total changes this merge will apply. */
|
|
77
|
-
total: number;
|
|
78
|
-
};
|
|
79
|
-
export type MergeWarning = {
|
|
80
|
-
changeID: number | string;
|
|
81
|
-
collectionSlug: string;
|
|
82
|
-
docID: number | string;
|
|
83
|
-
message: string;
|
|
84
|
-
reason: 'main-moved';
|
|
85
|
-
};
|
|
86
|
-
export type BranchingConfig = {
|
|
87
|
-
/**
|
|
88
|
-
* Access control for branch lifecycle operations. Document-level access is
|
|
89
|
-
* unchanged — `req.branch` is in scope inside existing access functions.
|
|
90
|
-
*/
|
|
91
|
-
access?: {
|
|
92
|
-
createBranch?: Access;
|
|
93
|
-
deleteBranch?: Access;
|
|
94
|
-
/** Controls whether a caller can discard pending changes from a readable branch. */
|
|
95
|
-
discardBranch?: Access;
|
|
96
|
-
/** Controls whether a caller can merge pending changes from a readable branch. */
|
|
97
|
-
mergeBranch?: Access;
|
|
98
|
-
readBranch?: Access;
|
|
99
|
-
updateBranch?: Access;
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Collections to exclude from branching, in addition to the defaults.
|
|
103
|
-
*/
|
|
104
|
-
exclude?: CollectionSlug[];
|
|
105
|
-
/**
|
|
106
|
-
* Branch lifecycle hooks. Document hooks are unaffected — every one of them
|
|
107
|
-
* runs on merge, since merge is a genuine write to main.
|
|
108
|
-
*/
|
|
109
|
-
hooks?: {
|
|
110
|
-
/** Fires after commit, so a failing webhook cannot undo a merge. */
|
|
111
|
-
afterMerge?: (args: {
|
|
112
|
-
branch: string;
|
|
113
|
-
req: PayloadRequest;
|
|
114
|
-
results: MergeableChange[];
|
|
115
|
-
}) => Promise<void> | void;
|
|
116
|
-
/** Throw to block a merge. */
|
|
117
|
-
beforeMerge?: (args: {
|
|
118
|
-
branch: string;
|
|
119
|
-
changes: MergeableChange[];
|
|
120
|
-
req: PayloadRequest;
|
|
121
|
-
warnings: MergeWarning[];
|
|
122
|
-
}) => Promise<void> | void;
|
|
123
|
-
};
|
|
124
|
-
/**
|
|
125
|
-
* Ceiling on the number of shadowed document IDs injected into a single read
|
|
126
|
-
* predicate by database adapters that use the legacy branch visibility fallback.
|
|
127
|
-
* Official adapters use database-native branch visibility instead.
|
|
128
|
-
*
|
|
129
|
-
* @deprecated Retained for adapters that use the legacy branch visibility fallback.
|
|
130
|
-
* @default 2000
|
|
131
|
-
*/
|
|
132
|
-
maxShadowedIDs?: number;
|
|
133
|
-
/**
|
|
134
|
-
* Replaces the default best-effort pre-merge content validation policy.
|
|
135
|
-
* Ordinary write validation, hooks, access control, and database constraints still apply.
|
|
136
|
-
*/
|
|
137
|
-
validate?: BranchMergeValidate;
|
|
138
|
-
};
|
|
139
|
-
export type SanitizedBranchingConfig = {
|
|
140
|
-
/** Slugs of every collection branching is active for. */
|
|
141
|
-
branchableCollections: Set<string>;
|
|
142
|
-
/** Slugs of every global branching is active for. */
|
|
143
|
-
branchableGlobals: Set<string>;
|
|
144
|
-
enabled: boolean;
|
|
145
|
-
maxShadowedIDs: number;
|
|
146
|
-
validate: BranchMergeValidate;
|
|
147
|
-
} & Omit<BranchingConfig, 'exclude' | 'validate'>;
|
|
148
|
-
/**
|
|
149
|
-
* The branching config as it reaches the browser: which entities branch, and
|
|
150
|
-
* nothing else. Access functions and merge hooks stay on the server, and the
|
|
151
|
-
* `Set`s become arrays so the config remains plain JSON.
|
|
152
|
-
*/
|
|
153
|
-
export type ClientBranchingConfig = {
|
|
154
|
-
branchableCollections: string[];
|
|
155
|
-
branchableGlobals: string[];
|
|
156
|
-
enabled: boolean;
|
|
157
|
-
};
|
|
158
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/branching/types.ts"],"names":[],"mappings":"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"}
|
package/dist/branching/types.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The reserved `_branch` value for production content.
|
|
3
|
-
*
|
|
4
|
-
* A non-null sentinel rather than NULL: Postgres treats NULLs as distinct in
|
|
5
|
-
* unique indexes, so a compound `(field, _branch)` unique index would stop
|
|
6
|
-
* enforcing uniqueness among main rows if this were null.
|
|
7
|
-
*/ export const MAIN_BRANCH = 'main';
|
|
8
|
-
export const branchesCollectionSlug = 'payload-branches';
|
|
9
|
-
export const branchChangesCollectionSlug = 'payload-branch-changes';
|
|
10
|
-
/**
|
|
11
|
-
* One row per merge event, append-only.
|
|
12
|
-
*
|
|
13
|
-
* Merging consumes the change rows it applies and drops the shadow rows behind
|
|
14
|
-
* them, so without this a merged branch has no record of what it did. It is a
|
|
15
|
-
* separate collection rather than a flag on `payload-branch-changes` because a
|
|
16
|
-
* branch can be merged more than once (§16) — a change row belongs to exactly one
|
|
17
|
-
* merge, so the event, not the change, is what needs its own identity.
|
|
18
|
-
*/ export const branchMergesCollectionSlug = 'payload-branch-merges';
|
|
19
|
-
/** Field injected onto every branch-enabled collection and its version collection. */ export const branchField = '_branch';
|
|
20
|
-
export const branchDocIDField = '_branchDocID';
|
|
21
|
-
export const branchParentField = '_branchParent';
|
|
22
|
-
export const branchOperations = [
|
|
23
|
-
'create',
|
|
24
|
-
'update',
|
|
25
|
-
'delete'
|
|
26
|
-
];
|
|
27
|
-
export const mergeApplicationOutcomes = [
|
|
28
|
-
'unattempted',
|
|
29
|
-
'attempted',
|
|
30
|
-
'applied',
|
|
31
|
-
'committed',
|
|
32
|
-
'failed',
|
|
33
|
-
'rolledBack',
|
|
34
|
-
'unknown'
|
|
35
|
-
];
|
|
36
|
-
export const mergeCleanupOutcomes = [
|
|
37
|
-
'pending',
|
|
38
|
-
'completed',
|
|
39
|
-
'failed',
|
|
40
|
-
'notNeeded',
|
|
41
|
-
'superseded',
|
|
42
|
-
'unknown'
|
|
43
|
-
];
|
|
44
|
-
export const mergeRecoveryOutcomes = [
|
|
45
|
-
'notNeeded',
|
|
46
|
-
'pending',
|
|
47
|
-
'restored',
|
|
48
|
-
'deleted',
|
|
49
|
-
'unavailable',
|
|
50
|
-
'failed',
|
|
51
|
-
'unknown'
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/branching/types.ts"],"sourcesContent":["import type { CollectionSlug } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { Access } from './../config/types.js'\nimport type { BranchMergeValidate } from './validation.js'\n\n/**\n * The reserved `_branch` value for production content.\n *\n * A non-null sentinel rather than NULL: Postgres treats NULLs as distinct in\n * unique indexes, so a compound `(field, _branch)` unique index would stop\n * enforcing uniqueness among main rows if this were null.\n */\nexport const MAIN_BRANCH = 'main'\n\nexport const branchesCollectionSlug = 'payload-branches'\nexport const branchChangesCollectionSlug = 'payload-branch-changes'\n/**\n * One row per merge event, append-only.\n *\n * Merging consumes the change rows it applies and drops the shadow rows behind\n * them, so without this a merged branch has no record of what it did. It is a\n * separate collection rather than a flag on `payload-branch-changes` because a\n * branch can be merged more than once (§16) — a change row belongs to exactly one\n * merge, so the event, not the change, is what needs its own identity.\n */\nexport const branchMergesCollectionSlug = 'payload-branch-merges'\n\n/** Field injected onto every branch-enabled collection and its version collection. */\nexport const branchField = '_branch'\nexport const branchDocIDField = '_branchDocID'\nexport const branchParentField = '_branchParent'\n\nexport const branchOperations = ['create', 'update', 'delete'] as const\nexport const mergeApplicationOutcomes = [\n 'unattempted',\n 'attempted',\n 'applied',\n 'committed',\n 'failed',\n 'rolledBack',\n 'unknown',\n] as const\nexport const mergeCleanupOutcomes = [\n 'pending',\n 'completed',\n 'failed',\n 'notNeeded',\n 'superseded',\n 'unknown',\n] as const\nexport const mergeRecoveryOutcomes = [\n 'notNeeded',\n 'pending',\n 'restored',\n 'deleted',\n 'unavailable',\n 'failed',\n 'unknown',\n] as const\n\nexport type BranchOperation = (typeof branchOperations)[number]\nexport type MergeApplicationOutcome = (typeof mergeApplicationOutcomes)[number]\nexport type MergeCleanupOutcome = (typeof mergeCleanupOutcomes)[number]\nexport type MergeRecoveryOutcome = (typeof mergeRecoveryOutcomes)[number]\n\nexport type MergeableChange = {\n changeID: number | string\n /** Absent for a global, which is identified by `globalSlug` instead. */\n collectionSlug?: string\n /** Absent for a global: there is one of it, so there is nothing to identify. */\n docID?: number | string\n entityType: 'collection' | 'global'\n globalSlug?: string\n operation: BranchOperation\n}\n\nexport type MergeEventChange = {\n after?: unknown\n afterVersionID?: string\n applicationOutcome: MergeApplicationOutcome\n before?: unknown\n beforeVersionID?: string\n changeID: string\n cleanupError?: string\n cleanupOutcome: MergeCleanupOutcome\n collectionSlug?: string\n docID?: string\n docTitle: string\n error?: string\n globalSlug?: string\n operation: BranchOperation\n recoveryError?: string\n recoveryOutcome: MergeRecoveryOutcome\n sourceID?: string\n sourceRevision?: string\n sourceUpdatedAt?: string\n sourceVersionIDs?: (number | string)[]\n targetID?: string\n}\n\nexport type MergeProgress = {\n collectionSlug: string\n /** 1-based position of the change being applied. */\n current: number\n docID: number | string\n operation: BranchOperation\n /** Total changes this merge will apply. */\n total: number\n}\n\nexport type MergeWarning = {\n changeID: number | string\n collectionSlug: string\n docID: number | string\n message: string\n reason: 'main-moved'\n}\n\nexport type BranchingConfig = {\n /**\n * Access control for branch lifecycle operations. Document-level access is\n * unchanged — `req.branch` is in scope inside existing access functions.\n */\n access?: {\n createBranch?: Access\n deleteBranch?: Access\n /** Controls whether a caller can discard pending changes from a readable branch. */\n discardBranch?: Access\n /** Controls whether a caller can merge pending changes from a readable branch. */\n mergeBranch?: Access\n readBranch?: Access\n updateBranch?: Access\n }\n /**\n * Collections to exclude from branching, in addition to the defaults.\n */\n exclude?: CollectionSlug[]\n /**\n * Branch lifecycle hooks. Document hooks are unaffected — every one of them\n * runs on merge, since merge is a genuine write to main.\n */\n hooks?: {\n /** Fires after commit, so a failing webhook cannot undo a merge. */\n afterMerge?: (args: {\n branch: string\n req: PayloadRequest\n results: MergeableChange[]\n }) => Promise<void> | void\n /** Throw to block a merge. */\n beforeMerge?: (args: {\n branch: string\n changes: MergeableChange[]\n req: PayloadRequest\n warnings: MergeWarning[]\n }) => Promise<void> | void\n }\n /**\n * Ceiling on the number of shadowed document IDs injected into a single read\n * predicate by database adapters that use the legacy branch visibility fallback.\n * Official adapters use database-native branch visibility instead.\n *\n * @deprecated Retained for adapters that use the legacy branch visibility fallback.\n * @default 2000\n */\n maxShadowedIDs?: number\n /**\n * Replaces the default best-effort pre-merge content validation policy.\n * Ordinary write validation, hooks, access control, and database constraints still apply.\n */\n validate?: BranchMergeValidate\n}\n\nexport type SanitizedBranchingConfig = {\n /** Slugs of every collection branching is active for. */\n branchableCollections: Set<string>\n /** Slugs of every global branching is active for. */\n branchableGlobals: Set<string>\n enabled: boolean\n maxShadowedIDs: number\n validate: BranchMergeValidate\n} & Omit<BranchingConfig, 'exclude' | 'validate'>\n\n/**\n * The branching config as it reaches the browser: which entities branch, and\n * nothing else. Access functions and merge hooks stay on the server, and the\n * `Set`s become arrays so the config remains plain JSON.\n */\nexport type ClientBranchingConfig = {\n branchableCollections: string[]\n branchableGlobals: string[]\n enabled: boolean\n}\n"],"names":["MAIN_BRANCH","branchesCollectionSlug","branchChangesCollectionSlug","branchMergesCollectionSlug","branchField","branchDocIDField","branchParentField","branchOperations","mergeApplicationOutcomes","mergeCleanupOutcomes","mergeRecoveryOutcomes"],"mappings":"AAKA;;;;;;CAMC,GACD,OAAO,MAAMA,cAAc,OAAM;AAEjC,OAAO,MAAMC,yBAAyB,mBAAkB;AACxD,OAAO,MAAMC,8BAA8B,yBAAwB;AACnE;;;;;;;;CAQC,GACD,OAAO,MAAMC,6BAA6B,wBAAuB;AAEjE,oFAAoF,GACpF,OAAO,MAAMC,cAAc,UAAS;AACpC,OAAO,MAAMC,mBAAmB,eAAc;AAC9C,OAAO,MAAMC,oBAAoB,gBAAe;AAEhD,OAAO,MAAMC,mBAAmB;IAAC;IAAU;IAAU;CAAS,CAAS;AACvE,OAAO,MAAMC,2BAA2B;IACtC;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAS;AACV,OAAO,MAAMC,uBAAuB;IAClC;IACA;IACA;IACA;IACA;IACA;CACD,CAAS;AACV,OAAO,MAAMC,wBAAwB;IACnC;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAS"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { Payload, PayloadRequest } from '../types/index.js';
|
|
2
|
-
import type { EffectiveOperation, ResolvedChange } from './effectiveOperations.js';
|
|
3
|
-
export type BranchMergeValidationCandidate = {
|
|
4
|
-
changeID: number | string;
|
|
5
|
-
collectionSlug?: string;
|
|
6
|
-
data?: Record<string, unknown>;
|
|
7
|
-
docID?: number | string;
|
|
8
|
-
draft: boolean;
|
|
9
|
-
entityType: 'collection' | 'global';
|
|
10
|
-
globalSlug?: string;
|
|
11
|
-
locale?: string;
|
|
12
|
-
operation: EffectiveOperation;
|
|
13
|
-
};
|
|
14
|
-
export type BranchMergeValidationError = {
|
|
15
|
-
changeID: number | string;
|
|
16
|
-
collectionSlug?: string;
|
|
17
|
-
docID?: number | string;
|
|
18
|
-
globalSlug?: string;
|
|
19
|
-
locale?: string;
|
|
20
|
-
message: string;
|
|
21
|
-
path?: string;
|
|
22
|
-
};
|
|
23
|
-
export type BranchMergeValidationResult = {
|
|
24
|
-
errors: BranchMergeValidationError[];
|
|
25
|
-
valid: boolean;
|
|
26
|
-
};
|
|
27
|
-
export type BranchMergeValidate = (args: {
|
|
28
|
-
branch: string;
|
|
29
|
-
candidates: BranchMergeValidationCandidate[];
|
|
30
|
-
req: PayloadRequest;
|
|
31
|
-
target: 'main';
|
|
32
|
-
}) => BranchMergeValidationResult | Promise<BranchMergeValidationResult>;
|
|
33
|
-
export declare const createMainBranchRequest: ({ req }: {
|
|
34
|
-
req: PayloadRequest;
|
|
35
|
-
}) => PayloadRequest;
|
|
36
|
-
export declare const createBranchMergeValidationRequest: ({ req, }: {
|
|
37
|
-
req: PayloadRequest;
|
|
38
|
-
}) => PayloadRequest;
|
|
39
|
-
export declare const prepareBranchMergeValidationCandidates: ({ payload, pending, pendingGlobals, req, }: {
|
|
40
|
-
payload: Payload;
|
|
41
|
-
pending: ResolvedChange[];
|
|
42
|
-
pendingGlobals: Record<string, unknown>[];
|
|
43
|
-
req: PayloadRequest;
|
|
44
|
-
}) => Promise<BranchMergeValidationCandidate[]>;
|
|
45
|
-
/** Best-effort structural validation for the exact candidates selected by merge. */
|
|
46
|
-
export declare const defaultBranchMergeValidation: BranchMergeValidate;
|
|
47
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/branching/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAmBlF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,0BAA0B,EAAE,CAAA;IACpC,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,8BAA8B,EAAE,CAAA;IAC5C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,KAAK,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;AAExE,eAAO,MAAM,uBAAuB,YAAa;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,cAS1E,CAAA;AAED,eAAO,MAAM,kCAAkC,aAE5C;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,cAQH,CAAA;AAED,eAAO,MAAM,sCAAsC,+CAKhD;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACzC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,8BAA8B,EAAE,CAmG3C,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,4BAA4B,EAAE,mBAiD1C,CAAA"}
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from '../errors/ValidationError.js';
|
|
2
|
-
import { fieldIsVirtual, tabHasName } from '../fields/config/types.js';
|
|
3
|
-
import { validateCollectionData, validateGlobalData } from '../utilities/entityInputSchema/validateEntityData.js';
|
|
4
|
-
import { traverseForLocalizedFields } from '../utilities/traverseForLocalizedFields.js';
|
|
5
|
-
import { getGlobalMergeLocales, readBranchGlobalWrite, resolveGlobalMergeWrites } from './globalMergeWrites.js';
|
|
6
|
-
import { branchMergeValidationContextKey } from './mergeWriteGuard.js';
|
|
7
|
-
import { readLocalizedBranchWrite } from './readLocalizedBranchWrite.js';
|
|
8
|
-
import { isolateBranchState } from './resolveBranch.js';
|
|
9
|
-
import { branchDocIDField, branchField, MAIN_BRANCH } from './types.js';
|
|
10
|
-
export const createMainBranchRequest = ({ req })=>{
|
|
11
|
-
const targetReq = isolateBranchState(req);
|
|
12
|
-
targetReq.branch = MAIN_BRANCH;
|
|
13
|
-
targetReq.query = {
|
|
14
|
-
...targetReq.query
|
|
15
|
-
};
|
|
16
|
-
delete targetReq.query.branch;
|
|
17
|
-
delete targetReq.context._branchBypass;
|
|
18
|
-
return targetReq;
|
|
19
|
-
};
|
|
20
|
-
export const createBranchMergeValidationRequest = ({ req })=>{
|
|
21
|
-
const validationReq = createMainBranchRequest({
|
|
22
|
-
req
|
|
23
|
-
});
|
|
24
|
-
const validationContext = validationReq.context;
|
|
25
|
-
validationContext[branchMergeValidationContextKey] = true;
|
|
26
|
-
validationReq.operation = 'validate';
|
|
27
|
-
return validationReq;
|
|
28
|
-
};
|
|
29
|
-
export const prepareBranchMergeValidationCandidates = async ({ payload, pending, pendingGlobals, req })=>{
|
|
30
|
-
const candidates = [];
|
|
31
|
-
for (const resolved of pending){
|
|
32
|
-
const collectionConfig = payload.collections[resolved.collectionSlug].config;
|
|
33
|
-
const localization = payload.config.localization;
|
|
34
|
-
const locales = localization && traverseForLocalizedFields(collectionConfig.fields) ? localization.localeCodes : undefined;
|
|
35
|
-
for (const write of resolved.writes){
|
|
36
|
-
const baseCandidate = {
|
|
37
|
-
changeID: resolved.change.id,
|
|
38
|
-
collectionSlug: resolved.collectionSlug,
|
|
39
|
-
docID: resolved.docID,
|
|
40
|
-
draft: write.draft,
|
|
41
|
-
entityType: 'collection',
|
|
42
|
-
operation: write.operation
|
|
43
|
-
};
|
|
44
|
-
if (write.operation === 'delete' || !locales?.length) {
|
|
45
|
-
candidates.push({
|
|
46
|
-
...baseCandidate,
|
|
47
|
-
data: write.operation === 'delete' ? undefined : prepareCollectionCandidate({
|
|
48
|
-
collectionSlug: resolved.collectionSlug,
|
|
49
|
-
data: write.data,
|
|
50
|
-
payload
|
|
51
|
-
})
|
|
52
|
-
});
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
for (const locale of locales){
|
|
56
|
-
const data = await readLocalizedBranchWrite({
|
|
57
|
-
branch: resolved.change.branch,
|
|
58
|
-
collectionSlug: resolved.collectionSlug,
|
|
59
|
-
docID: resolved.docID,
|
|
60
|
-
draft: write.draft,
|
|
61
|
-
locale,
|
|
62
|
-
payload,
|
|
63
|
-
req
|
|
64
|
-
});
|
|
65
|
-
if (data) {
|
|
66
|
-
candidates.push({
|
|
67
|
-
...baseCandidate,
|
|
68
|
-
data: prepareCollectionCandidate({
|
|
69
|
-
collectionSlug: resolved.collectionSlug,
|
|
70
|
-
data,
|
|
71
|
-
payload
|
|
72
|
-
}),
|
|
73
|
-
locale
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
for (const change of pendingGlobals){
|
|
80
|
-
const branch = change.branch;
|
|
81
|
-
const globalSlug = change.globalSlug;
|
|
82
|
-
const writes = await resolveGlobalMergeWrites({
|
|
83
|
-
branch,
|
|
84
|
-
globalSlug,
|
|
85
|
-
payload,
|
|
86
|
-
req
|
|
87
|
-
});
|
|
88
|
-
const locales = getGlobalMergeLocales({
|
|
89
|
-
globalSlug,
|
|
90
|
-
payload,
|
|
91
|
-
req
|
|
92
|
-
});
|
|
93
|
-
for (const write of writes){
|
|
94
|
-
for (const locale of locales){
|
|
95
|
-
const data = await readBranchGlobalWrite({
|
|
96
|
-
branch,
|
|
97
|
-
draft: write.draft,
|
|
98
|
-
globalSlug,
|
|
99
|
-
locale,
|
|
100
|
-
payload,
|
|
101
|
-
req
|
|
102
|
-
});
|
|
103
|
-
if (data) {
|
|
104
|
-
candidates.push({
|
|
105
|
-
changeID: change.id,
|
|
106
|
-
data: stripNonWritableFields({
|
|
107
|
-
data: stripGlobalInternal(data),
|
|
108
|
-
fields: payload.globals.config.find(({ slug })=>slug === globalSlug).fields,
|
|
109
|
-
payload
|
|
110
|
-
}),
|
|
111
|
-
draft: write.draft,
|
|
112
|
-
entityType: 'global',
|
|
113
|
-
globalSlug,
|
|
114
|
-
locale,
|
|
115
|
-
operation: 'update'
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return candidates;
|
|
122
|
-
};
|
|
123
|
-
/** Best-effort structural validation for the exact candidates selected by merge. */ export const defaultBranchMergeValidation = ({ candidates, req })=>{
|
|
124
|
-
const errors = [];
|
|
125
|
-
for (const candidate of candidates){
|
|
126
|
-
if (!candidate.data || candidate.operation === 'delete') {
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
const candidateReq = isolateBranchState(req);
|
|
130
|
-
if (candidate.locale) {
|
|
131
|
-
candidateReq.locale = candidate.locale;
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
if (candidate.entityType === 'collection' && candidate.collectionSlug) {
|
|
135
|
-
validateCollectionData({
|
|
136
|
-
slug: candidate.collectionSlug,
|
|
137
|
-
data: candidate.data,
|
|
138
|
-
partial: candidate.operation !== 'create',
|
|
139
|
-
req: candidateReq
|
|
140
|
-
});
|
|
141
|
-
} else if (candidate.entityType === 'global' && candidate.globalSlug) {
|
|
142
|
-
validateGlobalData({
|
|
143
|
-
slug: candidate.globalSlug,
|
|
144
|
-
data: candidate.data,
|
|
145
|
-
req: candidateReq
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
} catch (error) {
|
|
149
|
-
if (!(error instanceof ValidationError)) {
|
|
150
|
-
throw error;
|
|
151
|
-
}
|
|
152
|
-
for (const fieldError of error.data.errors){
|
|
153
|
-
errors.push({
|
|
154
|
-
changeID: candidate.changeID,
|
|
155
|
-
collectionSlug: candidate.collectionSlug,
|
|
156
|
-
docID: candidate.docID,
|
|
157
|
-
globalSlug: candidate.globalSlug,
|
|
158
|
-
locale: candidate.locale,
|
|
159
|
-
message: fieldError.message,
|
|
160
|
-
path: fieldError.path
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return {
|
|
166
|
-
errors,
|
|
167
|
-
valid: errors.length === 0
|
|
168
|
-
};
|
|
169
|
-
};
|
|
170
|
-
const stripInternal = (data)=>{
|
|
171
|
-
const { id: _id, [branchDocIDField]: _docID, [branchField]: _branch, createdAt: _createdAt, updatedAt: _updatedAt, ...rest } = data;
|
|
172
|
-
return rest;
|
|
173
|
-
};
|
|
174
|
-
const stripGlobalInternal = (data)=>{
|
|
175
|
-
const { globalType: _globalType, ...globalData } = data;
|
|
176
|
-
return stripInternal(globalData);
|
|
177
|
-
};
|
|
178
|
-
const prepareCollectionCandidate = ({ collectionSlug, data, payload })=>stripNonWritableFields({
|
|
179
|
-
data: stripInternal(data),
|
|
180
|
-
fields: payload.collections[collectionSlug].config.fields,
|
|
181
|
-
payload
|
|
182
|
-
});
|
|
183
|
-
const stripNonWritableFields = ({ data, fields, payload })=>{
|
|
184
|
-
let writableData = {
|
|
185
|
-
...data
|
|
186
|
-
};
|
|
187
|
-
for (const field of fields){
|
|
188
|
-
if ('name' in field && field.name && (field.type === 'join' || fieldIsVirtual(field))) {
|
|
189
|
-
delete writableData[field.name];
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
if (field.type === 'row' || field.type === 'collapsible') {
|
|
193
|
-
writableData = stripNonWritableFields({
|
|
194
|
-
data: writableData,
|
|
195
|
-
fields: field.fields,
|
|
196
|
-
payload
|
|
197
|
-
});
|
|
198
|
-
continue;
|
|
199
|
-
}
|
|
200
|
-
if (field.type === 'tabs') {
|
|
201
|
-
for (const tab of field.tabs){
|
|
202
|
-
if (!tabHasName(tab)) {
|
|
203
|
-
writableData = stripNonWritableFields({
|
|
204
|
-
data: writableData,
|
|
205
|
-
fields: tab.fields,
|
|
206
|
-
payload
|
|
207
|
-
});
|
|
208
|
-
continue;
|
|
209
|
-
}
|
|
210
|
-
const tabData = writableData[tab.name];
|
|
211
|
-
if (isRecord(tabData)) {
|
|
212
|
-
writableData[tab.name] = stripNonWritableFields({
|
|
213
|
-
data: tabData,
|
|
214
|
-
fields: tab.fields,
|
|
215
|
-
payload
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
continue;
|
|
220
|
-
}
|
|
221
|
-
if (field.type === 'group') {
|
|
222
|
-
if (!('name' in field) || !field.name) {
|
|
223
|
-
writableData = stripNonWritableFields({
|
|
224
|
-
data: writableData,
|
|
225
|
-
fields: field.fields,
|
|
226
|
-
payload
|
|
227
|
-
});
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
const groupData = writableData[field.name];
|
|
231
|
-
if (isRecord(groupData)) {
|
|
232
|
-
writableData[field.name] = stripNonWritableFields({
|
|
233
|
-
data: groupData,
|
|
234
|
-
fields: field.fields,
|
|
235
|
-
payload
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
continue;
|
|
239
|
-
}
|
|
240
|
-
if (field.type === 'array' && field.name) {
|
|
241
|
-
const rows = writableData[field.name];
|
|
242
|
-
if (Array.isArray(rows)) {
|
|
243
|
-
writableData[field.name] = rows.map((row)=>isRecord(row) ? stripNonWritableFields({
|
|
244
|
-
data: row,
|
|
245
|
-
fields: field.fields,
|
|
246
|
-
payload
|
|
247
|
-
}) : row);
|
|
248
|
-
}
|
|
249
|
-
continue;
|
|
250
|
-
}
|
|
251
|
-
if (field.type === 'blocks' && field.name) {
|
|
252
|
-
const rows = writableData[field.name];
|
|
253
|
-
if (Array.isArray(rows)) {
|
|
254
|
-
writableData[field.name] = rows.map((row)=>{
|
|
255
|
-
if (!isRecord(row) || typeof row.blockType !== 'string') {
|
|
256
|
-
return row;
|
|
257
|
-
}
|
|
258
|
-
const block = payload.config.blocks?.find(({ slug })=>slug === row.blockType) ?? field.blocks.find((candidate)=>typeof candidate !== 'string' && candidate.slug === row.blockType);
|
|
259
|
-
return !block || typeof block === 'string' ? row : stripNonWritableFields({
|
|
260
|
-
data: row,
|
|
261
|
-
fields: block.fields,
|
|
262
|
-
payload
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return writableData;
|
|
269
|
-
};
|
|
270
|
-
const isRecord = (value)=>Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
271
|
-
|
|
272
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/branching/validation.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\nimport type { Payload, PayloadRequest } from '../types/index.js'\nimport type { EffectiveOperation, ResolvedChange } from './effectiveOperations.js'\n\nimport { ValidationError } from '../errors/ValidationError.js'\nimport { fieldIsVirtual, tabHasName } from '../fields/config/types.js'\nimport {\n validateCollectionData,\n validateGlobalData,\n} from '../utilities/entityInputSchema/validateEntityData.js'\nimport { traverseForLocalizedFields } from '../utilities/traverseForLocalizedFields.js'\nimport {\n getGlobalMergeLocales,\n readBranchGlobalWrite,\n resolveGlobalMergeWrites,\n} from './globalMergeWrites.js'\nimport { branchMergeValidationContextKey } from './mergeWriteGuard.js'\nimport { readLocalizedBranchWrite } from './readLocalizedBranchWrite.js'\nimport { isolateBranchState } from './resolveBranch.js'\nimport { branchDocIDField, branchField, MAIN_BRANCH } from './types.js'\n\nexport type BranchMergeValidationCandidate = {\n changeID: number | string\n collectionSlug?: string\n data?: Record<string, unknown>\n docID?: number | string\n draft: boolean\n entityType: 'collection' | 'global'\n globalSlug?: string\n locale?: string\n operation: EffectiveOperation\n}\n\nexport type BranchMergeValidationError = {\n changeID: number | string\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n locale?: string\n message: string\n path?: string\n}\n\nexport type BranchMergeValidationResult = {\n errors: BranchMergeValidationError[]\n valid: boolean\n}\n\nexport type BranchMergeValidate = (args: {\n branch: string\n candidates: BranchMergeValidationCandidate[]\n req: PayloadRequest\n target: 'main'\n}) => BranchMergeValidationResult | Promise<BranchMergeValidationResult>\n\nexport const createMainBranchRequest = ({ req }: { req: PayloadRequest }): PayloadRequest => {\n const targetReq = isolateBranchState(req)\n\n targetReq.branch = MAIN_BRANCH\n targetReq.query = { ...targetReq.query }\n delete targetReq.query.branch\n delete (targetReq.context as Record<string, unknown>)._branchBypass\n\n return targetReq\n}\n\nexport const createBranchMergeValidationRequest = ({\n req,\n}: {\n req: PayloadRequest\n}): PayloadRequest => {\n const validationReq = createMainBranchRequest({ req })\n const validationContext = validationReq.context as Record<PropertyKey, unknown>\n\n validationContext[branchMergeValidationContextKey] = true\n validationReq.operation = 'validate'\n\n return validationReq\n}\n\nexport const prepareBranchMergeValidationCandidates = async ({\n payload,\n pending,\n pendingGlobals,\n req,\n}: {\n payload: Payload\n pending: ResolvedChange[]\n pendingGlobals: Record<string, unknown>[]\n req: PayloadRequest\n}): Promise<BranchMergeValidationCandidate[]> => {\n const candidates: BranchMergeValidationCandidate[] = []\n\n for (const resolved of pending) {\n const collectionConfig = payload.collections[resolved.collectionSlug]!.config\n const localization = payload.config.localization\n const locales =\n localization && traverseForLocalizedFields(collectionConfig.fields)\n ? localization.localeCodes\n : undefined\n\n for (const write of resolved.writes) {\n const baseCandidate = {\n changeID: resolved.change.id as number | string,\n collectionSlug: resolved.collectionSlug,\n docID: resolved.docID,\n draft: write.draft,\n entityType: 'collection' as const,\n operation: write.operation,\n }\n\n if (write.operation === 'delete' || !locales?.length) {\n candidates.push({\n ...baseCandidate,\n data:\n write.operation === 'delete'\n ? undefined\n : prepareCollectionCandidate({\n collectionSlug: resolved.collectionSlug,\n data: write.data,\n payload,\n }),\n })\n continue\n }\n\n for (const locale of locales) {\n const data = await readLocalizedBranchWrite({\n branch: resolved.change.branch as string,\n collectionSlug: resolved.collectionSlug,\n docID: resolved.docID,\n draft: write.draft,\n locale,\n payload,\n req,\n })\n\n if (data) {\n candidates.push({\n ...baseCandidate,\n data: prepareCollectionCandidate({\n collectionSlug: resolved.collectionSlug,\n data,\n payload,\n }),\n locale,\n })\n }\n }\n }\n }\n\n for (const change of pendingGlobals) {\n const branch = change.branch as string\n const globalSlug = change.globalSlug as string\n const writes = await resolveGlobalMergeWrites({ branch, globalSlug, payload, req })\n const locales = getGlobalMergeLocales({ globalSlug, payload, req })\n\n for (const write of writes) {\n for (const locale of locales) {\n const data = await readBranchGlobalWrite({\n branch,\n draft: write.draft,\n globalSlug,\n locale,\n payload,\n req,\n })\n\n if (data) {\n candidates.push({\n changeID: change.id as number | string,\n data: stripNonWritableFields({\n data: stripGlobalInternal(data),\n fields: payload.globals.config.find(({ slug }) => slug === globalSlug)!.fields,\n payload,\n }),\n draft: write.draft,\n entityType: 'global',\n globalSlug,\n locale,\n operation: 'update',\n })\n }\n }\n }\n }\n\n return candidates\n}\n\n/** Best-effort structural validation for the exact candidates selected by merge. */\nexport const defaultBranchMergeValidation: BranchMergeValidate = ({ candidates, req }) => {\n const errors: BranchMergeValidationError[] = []\n\n for (const candidate of candidates) {\n if (!candidate.data || candidate.operation === 'delete') {\n continue\n }\n\n const candidateReq = isolateBranchState(req)\n\n if (candidate.locale) {\n candidateReq.locale = candidate.locale\n }\n\n try {\n if (candidate.entityType === 'collection' && candidate.collectionSlug) {\n validateCollectionData({\n slug: candidate.collectionSlug as never,\n data: candidate.data,\n partial: candidate.operation !== 'create',\n req: candidateReq,\n })\n } else if (candidate.entityType === 'global' && candidate.globalSlug) {\n validateGlobalData({\n slug: candidate.globalSlug as never,\n data: candidate.data,\n req: candidateReq,\n })\n }\n } catch (error) {\n if (!(error instanceof ValidationError)) {\n throw error\n }\n\n for (const fieldError of error.data.errors) {\n errors.push({\n changeID: candidate.changeID,\n collectionSlug: candidate.collectionSlug,\n docID: candidate.docID,\n globalSlug: candidate.globalSlug,\n locale: candidate.locale,\n message: fieldError.message,\n path: fieldError.path,\n })\n }\n }\n }\n\n return { errors, valid: errors.length === 0 }\n}\n\nconst stripInternal = (data: Record<string, unknown>): Record<string, unknown> => {\n const {\n id: _id,\n [branchDocIDField]: _docID,\n [branchField]: _branch,\n createdAt: _createdAt,\n updatedAt: _updatedAt,\n ...rest\n } = data\n\n return rest\n}\n\nconst stripGlobalInternal = (data: Record<string, unknown>): Record<string, unknown> => {\n const { globalType: _globalType, ...globalData } = data\n\n return stripInternal(globalData)\n}\n\nconst prepareCollectionCandidate = ({\n collectionSlug,\n data,\n payload,\n}: {\n collectionSlug: string\n data: Record<string, unknown>\n payload: Payload\n}): Record<string, unknown> =>\n stripNonWritableFields({\n data: stripInternal(data),\n fields: payload.collections[collectionSlug]!.config.fields,\n payload,\n })\n\nconst stripNonWritableFields = ({\n data,\n fields,\n payload,\n}: {\n data: Record<string, unknown>\n fields: Field[]\n payload: Payload\n}): Record<string, unknown> => {\n let writableData = { ...data }\n\n for (const field of fields) {\n if ('name' in field && field.name && (field.type === 'join' || fieldIsVirtual(field))) {\n delete writableData[field.name]\n continue\n }\n\n if (field.type === 'row' || field.type === 'collapsible') {\n writableData = stripNonWritableFields({ data: writableData, fields: field.fields, payload })\n continue\n }\n\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n if (!tabHasName(tab)) {\n writableData = stripNonWritableFields({ data: writableData, fields: tab.fields, payload })\n continue\n }\n\n const tabData = writableData[tab.name]\n\n if (isRecord(tabData)) {\n writableData[tab.name] = stripNonWritableFields({\n data: tabData,\n fields: tab.fields,\n payload,\n })\n }\n }\n\n continue\n }\n\n if (field.type === 'group') {\n if (!('name' in field) || !field.name) {\n writableData = stripNonWritableFields({ data: writableData, fields: field.fields, payload })\n continue\n }\n\n const groupData = writableData[field.name]\n\n if (isRecord(groupData)) {\n writableData[field.name] = stripNonWritableFields({\n data: groupData,\n fields: field.fields,\n payload,\n })\n }\n\n continue\n }\n\n if (field.type === 'array' && field.name) {\n const rows = writableData[field.name]\n\n if (Array.isArray(rows)) {\n writableData[field.name] = rows.map((row) =>\n isRecord(row)\n ? stripNonWritableFields({ data: row, fields: field.fields, payload })\n : row,\n )\n }\n\n continue\n }\n\n if (field.type === 'blocks' && field.name) {\n const rows = writableData[field.name]\n\n if (Array.isArray(rows)) {\n writableData[field.name] = rows.map((row) => {\n if (!isRecord(row) || typeof row.blockType !== 'string') {\n return row\n }\n\n const block =\n payload.config.blocks?.find(({ slug }) => slug === row.blockType) ??\n field.blocks.find(\n (candidate) => typeof candidate !== 'string' && candidate.slug === row.blockType,\n )\n\n return !block || typeof block === 'string'\n ? row\n : stripNonWritableFields({ data: row, fields: block.fields, payload })\n })\n }\n }\n }\n\n return writableData\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n Boolean(value && typeof value === 'object' && !Array.isArray(value))\n"],"names":["ValidationError","fieldIsVirtual","tabHasName","validateCollectionData","validateGlobalData","traverseForLocalizedFields","getGlobalMergeLocales","readBranchGlobalWrite","resolveGlobalMergeWrites","branchMergeValidationContextKey","readLocalizedBranchWrite","isolateBranchState","branchDocIDField","branchField","MAIN_BRANCH","createMainBranchRequest","req","targetReq","branch","query","context","_branchBypass","createBranchMergeValidationRequest","validationReq","validationContext","operation","prepareBranchMergeValidationCandidates","payload","pending","pendingGlobals","candidates","resolved","collectionConfig","collections","collectionSlug","config","localization","locales","fields","localeCodes","undefined","write","writes","baseCandidate","changeID","change","id","docID","draft","entityType","length","push","data","prepareCollectionCandidate","locale","globalSlug","stripNonWritableFields","stripGlobalInternal","globals","find","slug","defaultBranchMergeValidation","errors","candidate","candidateReq","partial","error","fieldError","message","path","valid","stripInternal","_id","_docID","_branch","createdAt","_createdAt","updatedAt","_updatedAt","rest","globalType","_globalType","globalData","writableData","field","name","type","tab","tabs","tabData","isRecord","groupData","rows","Array","isArray","map","row","blockType","block","blocks","value","Boolean"],"mappings":"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"}
|