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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import type { BranchDeleteOutcome } from '../../branching/tombstone.js'\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, FindOptions } from '../../index.js'\nimport type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js'\nimport type { StoredFileList } from '../../uploads/fileVersioning/types.js'\nimport type { DeferredCleanupScope } from '../../utilities/transactionCallbacks.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { assertBranchMergeValidationWriteAllowed } from '../../branching/mergeWriteGuard.js'\nimport {\n refreshBranchState,\n resetBranchState,\n resolveBranch,\n} from '../../branching/resolveBranch.js'\nimport {\n assertBranchCreatedDeleteUnreferenced,\n assertBranchDeleteCanUseCallerTransaction,\n requireBranchDeleteOutcome,\n setBranchDeleteOperation,\n willBranchAbsorbDelete,\n} from '../../branching/tombstone.js'\nimport { MAIN_BRANCH } from '../../branching/types.js'\nimport { resolveBranchOwnVersions } from '../../branching/versions.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { APIError, Locked } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport {\n collectDocumentDeleteFileCandidates,\n scheduleUnreferencedFileCleanup,\n} from '../../uploads/fileVersioning/cleanup.js'\nimport {\n abortFileOperationScope,\n beginFileOperationScope,\n completeFileOperationScope,\n} from '../../uploads/fileVersioning/fileOperationManager.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { assertNoValidationWrite } from '../../utilities/assertNoValidationWrite.js'\nimport {\n deleteDocumentLocks,\n getDocumentLockState,\n} from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js'\nimport { httpStatus } from '../../utilities/httpStatus.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { resolveSelect } from '../../utilities/resolveSelect.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport {\n beginDeferredCleanupScope,\n clearDeferredCleanupScope,\n flushDeferredCleanupScope,\n flushDeferredCleanupScopeAfterOperation,\n} from '../../utilities/transactionCallbacks.js'\nimport { markTransactionWrite } from '../../utilities/transactionMutationTracker.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { deleteScheduledPublishJobs } from '../../versions/deleteScheduledPublishJobs.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n disableTransaction?: boolean\n overrideAccess?: boolean\n overrideLock?: boolean\n populate?: PopulateType\n req: PayloadRequest\n showHiddenFields?: boolean\n trash?: boolean\n where: Where\n} & Pick<FindOptions<string, SelectType>, 'select'>\n\nexport const deleteOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n let cleanupScope: DeferredCleanupScope | null = null\n let hasCallerTransaction = false\n let shouldCommit = false\n\n assertBranchMergeValidationWriteAllowed({ req: args.req })\n\n assertNoValidationWrite(args.req)\n\n if (args.collection.config.disableBulkDelete && !args.overrideAccess) {\n throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk delete`, 403)\n }\n\n const hasFileOperationScope =\n Boolean(args.collection.config.upload) && !args.req.payload.db.bulkOperationsSingleTransaction\n const markedManagedDeletes = new Set<string>()\n\n if (hasFileOperationScope) {\n beginFileOperationScope({ req: args.req })\n }\n\n try {\n hasCallerTransaction = Boolean(await args.req.transactionID)\n shouldCommit =\n !args.disableTransaction &&\n !args.req.payload.db.bulkOperationsSingleTransaction &&\n (await initTransaction(args.req))\n const hasSharedTransaction = hasCallerTransaction || shouldCommit\n cleanupScope = await beginDeferredCleanupScope({ req: args.req })\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'delete',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n overrideLock,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n trash = false,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess(\n { slug: collectionConfig.slug, req },\n collectionConfig.access.delete,\n )\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req,\n where,\n })\n\n let fullWhere = combineQueries(where, accessResult!)\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n select: resolveSelect({\n config: collectionConfig.select,\n operation: 'delete',\n req,\n select: incomingSelect,\n }),\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale: locale!,\n req,\n // File cleanup needs every stored representation even when the response selects only an ID.\n select: collectionConfig.upload ? undefined : select,\n where: fullWhere,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n let didBatchDeleteFail = false\n const deletedFilesByID = new Map<number | string, StoredFileList>()\n req.context ??= {}\n const managedDeletedUploads = (req.context._payloadManagedDeletedUploads ??=\n new Set()) as Set<string>\n\n type Doc = DataFromCollectionSlug<TSlug>\n type ResultDoc = BulkOperationResult<TSlug, TSelect>['docs'][number]\n type CheckedDeleteEntry = {\n doc: Doc\n fullDocument: Doc\n index: number\n lockDocumentIDs: (number | string)[]\n }\n type DeleteEntry = {\n absorbedByBranch: boolean\n } & CheckedDeleteEntry\n type BranchDeleteEntry = {\n branchVersionIDs: (number | string)[]\n } & DeleteEntry\n\n const deletedDocumentIDs = new Map<string, number | string>()\n const hasWriteCapableBeforeDeleteHooks = Boolean(collectionConfig.hooks?.beforeDelete?.length)\n const branch = resolveBranch(req)\n const isDeletingFromBranch =\n Boolean(\n config.branching?.enabled &&\n config.branching.branchableCollections.has(collectionConfig.slug),\n ) && branch !== MAIN_BRANCH\n const hasBranchSharedTransaction = isDeletingFromBranch && hasSharedTransaction\n\n const pushError = (id: number | string, error: unknown, message?: string) => {\n errors.push({\n id,\n isPublic: error instanceof Error ? isErrorPublic(error, config) : false,\n message: message ?? (error instanceof Error ? error.message : 'Unknown error'),\n })\n }\n\n // /////////////////////////////////////\n // beforeDelete - Collection, and associated files\n // /////////////////////////////////////\n\n const assertDeleteUnreferenced = async ({ doc }: { doc: Doc }): Promise<Doc> =>\n (await assertBranchCreatedDeleteUnreferenced({\n collectionSlug: collectionConfig.slug,\n doc,\n req,\n })) as Doc\n\n const runBeforeDeleteHooks = async ({ doc }: { doc: Doc }): Promise<void> => {\n if (collectionConfig.hooks?.beforeDelete?.length) {\n for (const hook of collectionConfig.hooks.beforeDelete) {\n await hook({\n id: doc.id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }\n }\n }\n\n const storeDeleteFileCandidates = async ({\n fullDocument,\n }: {\n fullDocument: Doc\n }): Promise<void> => {\n const documentID = fullDocument.id\n\n if (!collectionConfig.upload || deletedFilesByID.has(documentID)) {\n return\n }\n\n const candidates = await collectDocumentDeleteFileCandidates({\n collection: collectionConfig,\n doc: fullDocument,\n parentID: documentID,\n req,\n })\n\n deletedFilesByID.set(documentID, candidates)\n\n if (candidates.length) {\n const identity = JSON.stringify([collectionConfig.slug, String(documentID)])\n\n managedDeletedUploads.add(identity)\n markedManagedDeletes.add(identity)\n }\n }\n\n const findBranchVersionIDs = async ({\n fullDocument,\n }: {\n fullDocument: Doc\n }): Promise<(number | string)[]> => {\n if (!collectionConfig.versions) {\n return []\n }\n\n const where = await resolveBranchOwnVersions({\n id: fullDocument.id,\n collectionSlug: collectionConfig.slug,\n req,\n })\n const { docs: versions } = await payload.db.findVersions({\n branch: false,\n collection: collectionConfig.slug,\n limit: 0,\n pagination: false,\n req,\n where,\n })\n\n return versions.map(({ id }) => id)\n }\n\n const runDeleteCleanup = async ({\n fullDocument,\n isTombstone,\n }: {\n fullDocument: Doc\n isTombstone?: boolean\n }): Promise<boolean> => {\n const absorbedByBranch =\n isTombstone ??\n (await willBranchAbsorbDelete({\n collectionSlug: collectionConfig.slug,\n doc: fullDocument,\n req,\n }))\n\n await storeDeleteFileCandidates({ fullDocument })\n\n if (!absorbedByBranch) {\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: fullDocument,\n overrideDelete: true,\n req,\n })\n }\n\n return absorbedByBranch\n }\n\n const runBeforeDeleteHooksInDocumentTransaction = async ({\n entry,\n }: {\n entry: CheckedDeleteEntry\n }): Promise<CheckedDeleteEntry | null> => {\n let hookCleanupScope: DeferredCleanupScope | null = null\n let hookShouldCommit = false\n\n try {\n hookShouldCommit = await initTransaction(req)\n hookCleanupScope = await beginDeferredCleanupScope({ req })\n\n await runBeforeDeleteHooks({ doc: entry.doc })\n await flushDeferredCleanupScope({ req, scope: hookCleanupScope })\n\n if (hookShouldCommit) {\n await commitTransaction(req)\n }\n\n return entry\n } catch (error) {\n if (hookCleanupScope) {\n clearDeferredCleanupScope({ req, scope: hookCleanupScope })\n }\n\n if (hookShouldCommit) {\n await killTransaction(req)\n }\n\n if (hasCallerTransaction) {\n throw error\n }\n\n pushError(entry.doc.id, error)\n\n return null\n }\n }\n\n const prepareDocumentsForDelete = async (): Promise<CheckedDeleteEntry[]> => {\n const { lockDocumentIDsByDocumentID, lockedDocumentIDs } = await getDocumentLockState({\n collectionSlug: collectionConfig.slug,\n ids: docs.map(({ id }) => id),\n overrideLock,\n req,\n })\n\n const unlocked: { doc: Doc; index: number }[] = []\n\n docs.forEach((doc, index) => {\n if (lockedDocumentIDs.has(String(doc.id))) {\n pushError(\n doc.id,\n new Locked(`Document with ID ${doc.id} is currently locked and cannot be deleted.`),\n )\n\n return\n }\n\n unlocked.push({ doc, index })\n })\n\n const initialCheckResults = await Promise.all(\n unlocked.map(async (entry): Promise<CheckedDeleteEntry | null> => {\n try {\n const fullDocument = await assertDeleteUnreferenced({ doc: entry.doc })\n\n if (hasCallerTransaction && isDeletingFromBranch) {\n await assertBranchDeleteCanUseCallerTransaction({\n branch,\n collectionSlug: collectionConfig.slug,\n docID: entry.doc.id,\n req,\n })\n }\n\n return {\n ...entry,\n fullDocument,\n lockDocumentIDs: lockDocumentIDsByDocumentID.get(String(entry.doc.id)) ?? [],\n }\n } catch (error) {\n pushError(entry.doc.id, error)\n\n return null\n }\n }),\n )\n const initiallyChecked = initialCheckResults.filter(\n (entry): entry is CheckedDeleteEntry => entry !== null,\n )\n\n const hookResults: (CheckedDeleteEntry | null)[] = []\n\n if (req.payload.db.bulkOperationsSingleTransaction) {\n for (const entry of initiallyChecked) {\n hookResults.push(\n hasWriteCapableBeforeDeleteHooks\n ? await runBeforeDeleteHooksInDocumentTransaction({ entry })\n : entry,\n )\n }\n } else if (hasBranchSharedTransaction) {\n for (const entry of initiallyChecked) {\n try {\n await runBeforeDeleteHooks({ doc: entry.doc })\n hookResults.push(entry)\n } catch (error) {\n if (hasCallerTransaction) {\n throw error\n }\n\n didBatchDeleteFail = true\n await killTransaction(req)\n\n for (const rolledBackEntry of initiallyChecked) {\n pushError(\n rolledBackEntry.doc.id,\n error,\n rolledBackEntry === entry\n ? undefined\n : `Bulk delete was rolled back because the beforeDelete hook failed for document ${entry.doc.id}.`,\n )\n }\n\n return []\n }\n }\n } else {\n hookResults.push(\n ...(await Promise.all(\n initiallyChecked.map(async (entry): Promise<CheckedDeleteEntry | null> => {\n try {\n await runBeforeDeleteHooks({ doc: entry.doc })\n\n return entry\n } catch (error) {\n pushError(entry.doc.id, error)\n\n return null\n }\n }),\n )),\n )\n }\n\n const hookCompleted = hookResults.filter(\n (entry): entry is CheckedDeleteEntry => entry !== null,\n )\n const {\n lockDocumentIDsByDocumentID: refreshedLockDocumentIDsByDocumentID,\n lockedDocumentIDs: refreshedLockedDocumentIDs,\n } = await getDocumentLockState({\n collectionSlug: collectionConfig.slug,\n ids: hookCompleted.map(({ doc }) => doc.id),\n overrideLock,\n req,\n })\n const lockCheckedAfterHooks: CheckedDeleteEntry[] = []\n\n for (const entry of hookCompleted) {\n const documentID = String(entry.doc.id)\n\n if (refreshedLockedDocumentIDs.has(documentID)) {\n pushError(\n entry.doc.id,\n new Locked(\n `Document with ID ${entry.doc.id} is currently locked and cannot be deleted.`,\n ),\n )\n\n continue\n }\n\n lockCheckedAfterHooks.push({\n ...entry,\n lockDocumentIDs: refreshedLockDocumentIDsByDocumentID.get(documentID) ?? [],\n })\n }\n\n const postHookCheckResults: (CheckedDeleteEntry | null)[] = []\n\n if (hasBranchSharedTransaction) {\n for (const entry of lockCheckedAfterHooks) {\n const fullDocument = await assertDeleteUnreferenced({ doc: entry.fullDocument })\n\n postHookCheckResults.push({ ...entry, fullDocument })\n }\n } else {\n postHookCheckResults.push(\n ...(await Promise.all(\n lockCheckedAfterHooks.map(async (entry): Promise<CheckedDeleteEntry | null> => {\n try {\n const fullDocument = await assertDeleteUnreferenced({ doc: entry.fullDocument })\n\n return { ...entry, fullDocument }\n } catch (error) {\n pushError(entry.doc.id, error)\n\n return null\n }\n }),\n )),\n )\n }\n\n return postHookCheckResults.filter((entry): entry is CheckedDeleteEntry => entry !== null)\n }\n\n // /////////////////////////////////////\n // afterRead - Fields, afterRead - Collection, afterDelete - Collection\n // /////////////////////////////////////\n\n const runAfterDeleteWork = async (doc: Doc): Promise<ResultDoc> => {\n let result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: depth!,\n doc,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft: undefined,\n fallbackLocale: fallbackLocale!,\n global: null,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req,\n select,\n showHiddenFields: showHiddenFields!,\n })\n\n // Add collection property for auth collections\n if (collectionConfig.auth) {\n result = { ...result, collection: collectionConfig.slug }\n }\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n overrideAccess,\n req,\n })) || result\n }\n }\n\n if (collectionConfig.hooks?.afterDelete?.length) {\n for (const hook of collectionConfig.hooks.afterDelete) {\n result =\n (await hook({\n id: doc.id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }\n }\n\n return result as ResultDoc\n }\n\n /**\n * One transaction and one set of database calls per document. Only used when\n * `bulkOperationsSingleTransaction` is enabled, which requires each document to be committed\n * on its own and therefore cannot share a batched write with the rest of the operation.\n */\n const deleteDocumentIndividually = async ({\n doc,\n fullDocument: initiallyCheckedDocument,\n lockDocumentIDs,\n }: CheckedDeleteEntry): Promise<null | ResultDoc> => {\n let docCleanupScope: DeferredCleanupScope | null = null\n let docShouldCommit = false\n let hasReachedWriteCapableStage = hasCallerTransaction && hasWriteCapableBeforeDeleteHooks\n const hasIndividualFileScope = Boolean(collectionConfig.upload)\n\n if (hasIndividualFileScope) {\n beginFileOperationScope({ req })\n }\n\n try {\n docShouldCommit = await initTransaction(req)\n docCleanupScope = await beginDeferredCleanupScope({ req })\n\n const fullDocument = await assertDeleteUnreferenced({ doc: initiallyCheckedDocument })\n const absorbedByBranch = await willBranchAbsorbDelete({\n collectionSlug: collectionConfig.slug,\n doc: fullDocument,\n req,\n })\n let branchDeleteOutcome: BranchDeleteOutcome | undefined\n let branchVersionIDs: (number | string)[] = []\n\n if (isDeletingFromBranch) {\n await storeDeleteFileCandidates({ fullDocument })\n branchVersionIDs = await findBranchVersionIDs({ fullDocument })\n }\n\n if (!isDeletingFromBranch) {\n await runDeleteCleanup({ fullDocument })\n\n if (collectionConfig.versions) {\n hasReachedWriteCapableStage = true\n await deleteCollectionVersions({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n if (hasScheduledPublishEnabled(collectionConfig) && !absorbedByBranch) {\n hasReachedWriteCapableStage = true\n await deleteScheduledPublishJobs({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n }\n\n hasReachedWriteCapableStage = true\n if (isDeletingFromBranch) {\n setBranchDeleteOperation({\n branch,\n collectionSlug: collectionConfig.slug,\n docID: doc.id,\n isTombstoneExpected: absorbedByBranch,\n onResolved: (outcome) => {\n branchDeleteOutcome = outcome\n },\n req,\n useAmbientTransaction: docShouldCommit,\n })\n }\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n returning: false,\n where: {\n id: {\n equals: doc.id,\n },\n },\n })\n markTransactionWrite({ req })\n\n const finalBranchDeleteOutcome = isDeletingFromBranch\n ? requireBranchDeleteOutcome({ outcome: branchDeleteOutcome })\n : ({ doc: fullDocument, tombstoned: false } as const)\n\n if (!finalBranchDeleteOutcome.tombstoned) {\n deletedDocumentIDs.set(String(doc.id), doc.id)\n }\n\n if (isDeletingFromBranch) {\n await runDeleteCleanup({\n fullDocument: finalBranchDeleteOutcome.doc as Doc,\n isTombstone: finalBranchDeleteOutcome.tombstoned,\n })\n\n if (collectionConfig.versions) {\n hasReachedWriteCapableStage = true\n await deleteCollectionVersions({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n versionIDs: branchVersionIDs,\n })\n }\n\n if (\n hasScheduledPublishEnabled(collectionConfig) &&\n !finalBranchDeleteOutcome.tombstoned\n ) {\n hasReachedWriteCapableStage = true\n await deleteScheduledPublishJobs({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n }\n\n if (collectionConfig.upload) {\n await scheduleUnreferencedFileCleanup({\n candidates: deletedFilesByID.get(doc.id) ?? [],\n collection: collectionConfig,\n req,\n })\n }\n\n await deleteDocumentLocks({\n collectionSlug: collectionConfig.slug,\n ids: [doc.id],\n lockDocumentIDs,\n req,\n })\n\n const result = await runAfterDeleteWork(\n isDeletingFromBranch ? (finalBranchDeleteOutcome.doc as Doc) : doc,\n )\n\n if (docCleanupScope) {\n await flushDeferredCleanupScope({ req, scope: docCleanupScope })\n }\n if (docShouldCommit) {\n await commitTransaction(req)\n }\n\n if (hasIndividualFileScope) {\n await completeFileOperationScope({ req })\n }\n\n return result\n } catch (error) {\n if (docCleanupScope) {\n clearDeferredCleanupScope({ req, scope: docCleanupScope })\n }\n\n if (docShouldCommit) {\n await killTransaction(req)\n deletedDocumentIDs.delete(String(doc.id))\n resetBranchState(req)\n }\n\n if (hasIndividualFileScope) {\n await abortFileOperationScope({ req })\n }\n\n if (hasCallerTransaction && hasReachedWriteCapableStage) {\n throw error\n }\n pushError(doc.id, error)\n\n return null\n }\n }\n\n /**\n * Deletes unbranched rows as one batch. Branch deletes use the per-document adapter path so it\n * can create tombstones and remove branch-created rows from the change registry. Hooks still\n * run for each document.\n */\n const deleteDocumentsInBulk = async (\n preparedDocuments: CheckedDeleteEntry[],\n ): Promise<(null | ResultDoc)[]> => {\n const results: (null | ResultDoc)[] = new Array(docs.length).fill(null)\n let deletable: DeleteEntry[]\n\n if (isDeletingFromBranch) {\n deletable = await Promise.all(\n preparedDocuments.map(async (entry) => ({\n ...entry,\n absorbedByBranch: await willBranchAbsorbDelete({\n collectionSlug: collectionConfig.slug,\n doc: entry.fullDocument,\n req,\n }),\n })),\n )\n } else {\n const cleanupResults: (DeleteEntry | null)[] = []\n\n for (const entry of preparedDocuments) {\n let documentCleanupScope: DeferredCleanupScope | null = null\n\n try {\n documentCleanupScope = await beginDeferredCleanupScope({ req })\n const absorbedByBranch = await runDeleteCleanup({\n fullDocument: entry.fullDocument,\n })\n\n await flushDeferredCleanupScope({ req, scope: documentCleanupScope })\n cleanupResults.push({ ...entry, absorbedByBranch })\n } catch (error) {\n if (documentCleanupScope) {\n clearDeferredCleanupScope({ req, scope: documentCleanupScope })\n }\n\n if (hasBranchSharedTransaction && hasWriteCapableBeforeDeleteHooks) {\n throw error\n }\n\n pushError(entry.doc.id, error)\n cleanupResults.push(null)\n }\n }\n\n deletable = cleanupResults.filter((entry): entry is DeleteEntry => entry !== null)\n }\n\n if (!deletable.length) {\n return results\n }\n\n const ids = deletable.map(({ doc }) => doc.id)\n const lockDocumentIDs = deletable.flatMap((entry) => entry.lockDocumentIDs)\n const hardDeleteIDs = deletable\n .filter(({ absorbedByBranch }) => !absorbedByBranch)\n .map(({ doc }) => doc.id)\n\n if (!isDeletingFromBranch) {\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n slug: collectionConfig.slug,\n ids,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete scheduled posts\n // /////////////////////////////////////\n\n if (hasScheduledPublishEnabled(collectionConfig) && hardDeleteIDs.length) {\n await deleteScheduledPublishJobs({\n slug: collectionConfig.slug,\n ids: hardDeleteIDs,\n payload,\n req,\n })\n }\n }\n\n // /////////////////////////////////////\n // Delete documents\n // /////////////////////////////////////\n\n const deletedInBatch: (number | string)[] = []\n const branchDeleteOutcomes = new Map<string, BranchDeleteOutcome>()\n const branchDeleteEntries: BranchDeleteEntry[] = []\n\n try {\n if (isDeletingFromBranch) {\n for (const entry of deletable) {\n const { absorbedByBranch, doc, fullDocument } = entry\n\n await storeDeleteFileCandidates({ fullDocument })\n branchDeleteEntries.push({\n ...entry,\n branchVersionIDs: await findBranchVersionIDs({ fullDocument }),\n })\n\n setBranchDeleteOperation({\n branch,\n collectionSlug: collectionConfig.slug,\n docID: doc.id,\n isTombstoneExpected: absorbedByBranch,\n onResolved: (outcome) => {\n branchDeleteOutcomes.set(String(doc.id), outcome)\n },\n req,\n useAmbientTransaction: shouldCommit,\n })\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n returning: false,\n where: {\n id: {\n equals: doc.id,\n },\n },\n })\n markTransactionWrite({ req })\n\n const finalBranchDeleteOutcome = requireBranchDeleteOutcome({\n outcome: branchDeleteOutcomes.get(String(doc.id)),\n })\n\n if (!finalBranchDeleteOutcome.tombstoned) {\n deletedDocumentIDs.set(String(doc.id), doc.id)\n }\n deletedInBatch.push(doc.id)\n }\n } else {\n await payload.db.deleteMany({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n in: ids,\n },\n },\n })\n markTransactionWrite({ req })\n\n for (const id of ids) {\n deletedDocumentIDs.set(String(id), id)\n deletedInBatch.push(id)\n }\n }\n\n if (isDeletingFromBranch) {\n for (const { doc } of deletable) {\n const finalBranchDeleteOutcome = requireBranchDeleteOutcome({\n outcome: branchDeleteOutcomes.get(String(doc.id)),\n })\n\n await runDeleteCleanup({\n fullDocument: finalBranchDeleteOutcome.doc as Doc,\n isTombstone: finalBranchDeleteOutcome.tombstoned,\n })\n }\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n slug: collectionConfig.slug,\n ids,\n payload,\n req,\n versionIDs: branchDeleteEntries.flatMap(({ branchVersionIDs }) => branchVersionIDs),\n })\n }\n\n const finalHardDeleteIDs = deletable\n .filter(({ doc }) => {\n const outcome = requireBranchDeleteOutcome({\n outcome: branchDeleteOutcomes.get(String(doc.id)),\n })\n\n return !outcome.tombstoned\n })\n .map(({ doc }) => doc.id)\n\n if (hasScheduledPublishEnabled(collectionConfig) && finalHardDeleteIDs.length) {\n await deleteScheduledPublishJobs({\n slug: collectionConfig.slug,\n ids: finalHardDeleteIDs,\n payload,\n req,\n })\n }\n }\n\n await deleteDocumentLocks({\n collectionSlug: collectionConfig.slug,\n ids,\n lockDocumentIDs,\n req,\n })\n } catch (error) {\n didBatchDeleteFail = true\n\n if (shouldCommit) {\n await killTransaction(req)\n resetBranchState(req)\n\n for (const id of deletedInBatch) {\n deletedDocumentIDs.delete(String(id))\n }\n }\n\n if (hasCallerTransaction) {\n throw error\n }\n\n // The delete covers the whole batch, so a failure here belongs to the batch rather than to\n // any single document. Say so explicitly, otherwise one batch failure reads as N unrelated\n // per-document failures.\n const message = `Bulk delete failed for this batch of ${deletable.length} documents: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`\n\n for (const { doc } of deletable) {\n pushError(doc.id, error, message)\n }\n\n return results\n }\n\n if (collectionConfig.upload) {\n await scheduleUnreferencedFileCleanup({\n candidates: deletable.flatMap(({ doc }) => deletedFilesByID.get(doc.id) ?? []),\n collection: collectionConfig,\n req,\n })\n }\n\n if (hasBranchSharedTransaction) {\n for (const entry of deletable) {\n const resultDocument = isDeletingFromBranch\n ? (requireBranchDeleteOutcome({\n outcome: branchDeleteOutcomes.get(String(entry.doc.id)),\n }).doc as Doc)\n : entry.doc\n\n try {\n results[entry.index] = await runAfterDeleteWork(resultDocument)\n } catch (error) {\n if (hasCallerTransaction) {\n throw error\n }\n\n didBatchDeleteFail = true\n await killTransaction(req)\n resetBranchState(req)\n results.fill(null)\n\n for (const id of deletedInBatch) {\n deletedDocumentIDs.delete(String(id))\n }\n\n for (const rolledBackEntry of deletable) {\n pushError(\n rolledBackEntry.doc.id,\n error,\n rolledBackEntry === entry\n ? undefined\n : `Bulk delete was rolled back because post-delete work failed for document ${entry.doc.id}.`,\n )\n }\n\n return results\n }\n }\n\n return results\n }\n\n const postDeleteResults = await Promise.all(\n deletable.map(async (entry) => {\n try {\n const resultDocument = isDeletingFromBranch\n ? (requireBranchDeleteOutcome({\n outcome: branchDeleteOutcomes.get(String(entry.doc.id)),\n }).doc as Doc)\n : entry.doc\n\n return {\n entry,\n result: await runAfterDeleteWork(resultDocument),\n status: 'fulfilled' as const,\n }\n } catch (error) {\n return { entry, error, status: 'rejected' as const }\n }\n }),\n )\n\n for (const outcome of postDeleteResults) {\n if (outcome.status === 'rejected') {\n pushError(outcome.entry.doc.id, outcome.error)\n } else {\n results[outcome.entry.index] = outcome.result\n }\n }\n\n return results\n }\n\n let awaitedDocs: (null | ResultDoc)[]\n const preparedDocuments = await prepareDocumentsForDelete()\n\n if (req.payload.db.bulkOperationsSingleTransaction) {\n // Process sequentially so that each document's transaction is isolated from the next\n awaitedDocs = []\n\n for (const preparedDocument of preparedDocuments) {\n awaitedDocs.push(await deleteDocumentIndividually(preparedDocument))\n }\n } else {\n awaitedDocs = await deleteDocumentsInBulk(preparedDocuments)\n }\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n const deletedPreferenceIDs = [...deletedDocumentIDs.values()]\n\n if (deletedPreferenceIDs.length) {\n await deleteUserPreferences({\n collectionConfig,\n ids: deletedPreferenceIDs,\n payload,\n req,\n })\n }\n\n let result = {\n docs: awaitedDocs.filter((doc): doc is ResultDoc => Boolean(doc)),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n overrideAccess,\n result,\n })\n\n if (cleanupScope) {\n if (didBatchDeleteFail) {\n clearDeferredCleanupScope({ req: args.req, scope: cleanupScope })\n } else {\n await flushDeferredCleanupScopeAfterOperation({ req, scope: cleanupScope })\n }\n }\n if (shouldCommit && !didBatchDeleteFail) {\n await commitTransaction(req)\n }\n\n if (hasFileOperationScope) {\n await completeFileOperationScope({ req })\n }\n\n if (isDeletingFromBranch) {\n refreshBranchState(req)\n }\n\n return result\n } catch (error: unknown) {\n if (cleanupScope) {\n clearDeferredCleanupScope({ req: args.req, scope: cleanupScope })\n }\n\n if (shouldCommit) {\n await killTransaction(args.req)\n }\n resetBranchState(args.req)\n\n if (hasFileOperationScope) {\n await abortFileOperationScope({ req: args.req })\n }\n throw error\n } finally {\n const managedDeletedUploads = args.req.context?._payloadManagedDeletedUploads as\n | Set<string>\n | undefined\n for (const identity of markedManagedDeletes) {\n managedDeletedUploads?.delete(identity)\n }\n if (managedDeletedUploads?.size === 0) {\n delete args.req.context._payloadManagedDeletedUploads\n }\n }\n}\n"],"names":["executeAccess","assertBranchMergeValidationWriteAllowed","refreshBranchState","resetBranchState","resolveBranch","assertBranchCreatedDeleteUnreferenced","assertBranchDeleteCanUseCallerTransaction","requireBranchDeleteOutcome","setBranchDeleteOperation","willBranchAbsorbDelete","MAIN_BRANCH","resolveBranchOwnVersions","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","Locked","afterRead","deleteUserPreferences","deleteAssociatedFiles","collectDocumentDeleteFileCandidates","scheduleUnreferencedFileCleanup","abortFileOperationScope","beginFileOperationScope","completeFileOperationScope","appendNonTrashedFilter","assertNoValidationWrite","deleteDocumentLocks","getDocumentLockState","commitTransaction","hasScheduledPublishEnabled","httpStatus","initTransaction","isErrorPublic","killTransaction","resolveSelect","sanitizeSelect","beginDeferredCleanupScope","clearDeferredCleanupScope","flushDeferredCleanupScope","flushDeferredCleanupScopeAfterOperation","markTransactionWrite","deleteCollectionVersions","deleteScheduledPublishJobs","buildAfterOperation","buildBeforeOperation","deleteOperation","incomingArgs","args","cleanupScope","hasCallerTransaction","shouldCommit","req","collection","config","disableBulkDelete","overrideAccess","slug","hasFileOperationScope","Boolean","upload","payload","db","bulkOperationsSingleTransaction","markedManagedDeletes","Set","transactionID","disableTransaction","hasSharedTransaction","operation","collectionConfig","depth","overrideLock","populate","fallbackLocale","locale","select","incomingSelect","showHiddenFields","trash","where","BAD_REQUEST","accessResult","access","delete","fullWhere","enableTrash","fields","flattenedFields","docs","find","undefined","errors","didBatchDeleteFail","deletedFilesByID","Map","context","managedDeletedUploads","_payloadManagedDeletedUploads","deletedDocumentIDs","hasWriteCapableBeforeDeleteHooks","hooks","beforeDelete","length","branch","isDeletingFromBranch","branching","enabled","branchableCollections","has","hasBranchSharedTransaction","pushError","id","error","message","push","isPublic","Error","assertDeleteUnreferenced","doc","collectionSlug","runBeforeDeleteHooks","hook","storeDeleteFileCandidates","fullDocument","documentID","candidates","parentID","set","identity","JSON","stringify","String","add","findBranchVersionIDs","versions","findVersions","limit","pagination","map","runDeleteCleanup","isTombstone","absorbedByBranch","overrideDelete","runBeforeDeleteHooksInDocumentTransaction","entry","hookCleanupScope","hookShouldCommit","scope","prepareDocumentsForDelete","lockDocumentIDsByDocumentID","lockedDocumentIDs","ids","unlocked","forEach","index","initialCheckResults","Promise","all","docID","lockDocumentIDs","get","initiallyChecked","filter","hookResults","rolledBackEntry","hookCompleted","refreshedLockDocumentIDsByDocumentID","refreshedLockedDocumentIDs","lockCheckedAfterHooks","postHookCheckResults","runAfterDeleteWork","result","draft","global","auth","afterDelete","deleteDocumentIndividually","initiallyCheckedDocument","docCleanupScope","docShouldCommit","hasReachedWriteCapableStage","hasIndividualFileScope","branchDeleteOutcome","branchVersionIDs","isTombstoneExpected","onResolved","outcome","useAmbientTransaction","deleteOne","returning","equals","finalBranchDeleteOutcome","tombstoned","versionIDs","deleteDocumentsInBulk","preparedDocuments","results","Array","fill","deletable","cleanupResults","documentCleanupScope","flatMap","hardDeleteIDs","deletedInBatch","branchDeleteOutcomes","branchDeleteEntries","deleteMany","in","finalHardDeleteIDs","resultDocument","postDeleteResults","status","awaitedDocs","preparedDocument","deletedPreferenceIDs","values","size"],"mappings":"AAaA,SAASA,aAAa,QAAQ,8BAA6B;AAC3D,SAASC,uCAAuC,QAAQ,qCAAoC;AAC5F,SACEC,kBAAkB,EAClBC,gBAAgB,EAChBC,aAAa,QACR,mCAAkC;AACzC,SACEC,qCAAqC,EACrCC,yCAAyC,EACzCC,0BAA0B,EAC1BC,wBAAwB,EACxBC,sBAAsB,QACjB,+BAA8B;AACrC,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,wBAAwB,QAAQ,8BAA6B;AACtE,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,kBAAkB,QAAQ,uCAAsC;AACzE,SAASC,QAAQ,EAAEC,MAAM,QAAQ,wBAAuB;AACxD,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,qBAAqB,QAAQ,6CAA4C;AAClF,SAASC,qBAAqB,QAAQ,yCAAwC;AAC9E,SACEC,mCAAmC,EACnCC,+BAA+B,QAC1B,0CAAyC;AAChD,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,0BAA0B,QACrB,uDAAsD;AAC7D,SAASC,sBAAsB,QAAQ,4CAA2C;AAClF,SAASC,uBAAuB,QAAQ,6CAA4C;AACpF,SACEC,mBAAmB,EACnBC,oBAAoB,QACf,6CAA4C;AACnD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,0BAA0B,QAAQ,uCAAsC;AACjF,SAASC,UAAU,QAAQ,gCAA+B;AAC1D,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,aAAa,QAAQ,mCAAkC;AAChE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,aAAa,QAAQ,mCAAkC;AAChE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SACEC,yBAAyB,EACzBC,yBAAyB,EACzBC,yBAAyB,EACzBC,uCAAuC,QAClC,0CAAyC;AAChD,SAASC,oBAAoB,QAAQ,gDAA+C;AACpF,SAASC,wBAAwB,QAAQ,6CAA4C;AACrF,SAASC,0BAA0B,QAAQ,+CAA8C;AACzF,SAASC,mBAAmB,QAAQ,qCAAoC;AACxE,SAASC,oBAAoB,QAAQ,sCAAqC;AAe1E,OAAO,MAAMC,kBAAkB,OAI7BC;IAEA,IAAIC,OAAOD;IACX,IAAIE,eAA4C;IAChD,IAAIC,uBAAuB;IAC3B,IAAIC,eAAe;IAEnBlD,wCAAwC;QAAEmD,KAAKJ,KAAKI,GAAG;IAAC;IAExD1B,wBAAwBsB,KAAKI,GAAG;IAEhC,IAAIJ,KAAKK,UAAU,CAACC,MAAM,CAACC,iBAAiB,IAAI,CAACP,KAAKQ,cAAc,EAAE;QACpE,MAAM,IAAIzC,SAAS,CAAC,WAAW,EAAEiC,KAAKK,UAAU,CAACC,MAAM,CAACG,IAAI,CAAC,yBAAyB,CAAC,EAAE;IAC3F;IAEA,MAAMC,wBACJC,QAAQX,KAAKK,UAAU,CAACC,MAAM,CAACM,MAAM,KAAK,CAACZ,KAAKI,GAAG,CAACS,OAAO,CAACC,EAAE,CAACC,+BAA+B;IAChG,MAAMC,uBAAuB,IAAIC;IAEjC,IAAIP,uBAAuB;QACzBnC,wBAAwB;YAAE6B,KAAKJ,KAAKI,GAAG;QAAC;IAC1C;IAEA,IAAI;QACFF,uBAAuBS,QAAQ,MAAMX,KAAKI,GAAG,CAACc,aAAa;QAC3Df,eACE,CAACH,KAAKmB,kBAAkB,IACxB,CAACnB,KAAKI,GAAG,CAACS,OAAO,CAACC,EAAE,CAACC,+BAA+B,IACnD,MAAM/B,gBAAgBgB,KAAKI,GAAG;QACjC,MAAMgB,uBAAuBlB,wBAAwBC;QACrDF,eAAe,MAAMZ,0BAA0B;YAAEe,KAAKJ,KAAKI,GAAG;QAAC;QAC/D,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExCJ,OAAO,MAAMH,qBAAqB;YAChCG;YACAK,YAAYL,KAAKK,UAAU,CAACC,MAAM;YAClCe,WAAW;YACXb,gBAAgBR,KAAKQ,cAAc;QACrC;QAEA,MAAM,EACJH,YAAY,EAAEC,QAAQgB,gBAAgB,EAAE,EACxCC,KAAK,EACLf,cAAc,EACdgB,YAAY,EACZC,QAAQ,EACRrB,KAAK,EACHsB,cAAc,EACdC,MAAM,EACNd,SAAS,EAAEP,MAAM,EAAE,EACnBO,OAAO,EACR,EACDT,GAAG,EACHwB,QAAQC,cAAc,EACtBC,gBAAgB,EAChBC,QAAQ,KAAK,EACbC,KAAK,EACN,GAAGhC;QAEJ,IAAI,CAACgC,OAAO;YACV,MAAM,IAAIjE,SAAS,iDAAiDgB,WAAWkD,WAAW;QAC5F;QAEA,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAIC;QAEJ,IAAI,CAAC1B,gBAAgB;YACnB0B,eAAe,MAAMlF,cACnB;gBAAEyD,MAAMa,iBAAiBb,IAAI;gBAAEL;YAAI,GACnCkB,iBAAiBa,MAAM,CAACC,MAAM;QAElC;QAEA,MAAMvE,mBAAmB;YACvByD;YACAd,gBAAgBA;YAChBJ;YACA4B;QACF;QAEA,IAAIK,YAAYzE,eAAeoE,OAAOE;QAEtC,8CAA8C;QAC9CG,YAAY5D,uBAAuB;YACjC6D,aAAahB,iBAAiBS,KAAK;YACnCA;YACAC,OAAOK;QACT;QAEAvE,mBAAmB;YAAEyE,QAAQjB,iBAAiBkB,eAAe;YAAE3B;YAASmB,OAAOK;QAAU;QAEzF,MAAMT,SAASxC,eAAe;YAC5BmD,QAAQjB,iBAAiBkB,eAAe;YACxCZ,QAAQzC,cAAc;gBACpBmB,QAAQgB,iBAAiBM,MAAM;gBAC/BP,WAAW;gBACXjB;gBACAwB,QAAQC;YACV;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,MAAM,EAAEY,IAAI,EAAE,GAAG,MAAM5B,QAAQC,EAAE,CAAC4B,IAAI,CAAgC;YACpErC,YAAYiB,iBAAiBb,IAAI;YACjCkB,QAAQA;YACRvB;YACA,4FAA4F;YAC5FwB,QAAQN,iBAAiBV,MAAM,GAAG+B,YAAYf;YAC9CI,OAAOK;QACT;QAEA,MAAMO,SAAwD,EAAE;QAChE,IAAIC,qBAAqB;QACzB,MAAMC,mBAAmB,IAAIC;QAC7B3C,IAAI4C,OAAO,KAAK,CAAC;QACjB,MAAMC,wBAAyB7C,IAAI4C,OAAO,CAACE,6BAA6B,KACtE,IAAIjC;QAiBN,MAAMkC,qBAAqB,IAAIJ;QAC/B,MAAMK,mCAAmCzC,QAAQW,iBAAiB+B,KAAK,EAAEC,cAAcC;QACvF,MAAMC,SAASpG,cAAcgD;QAC7B,MAAMqD,uBACJ9C,QACEL,OAAOoD,SAAS,EAAEC,WAChBrD,OAAOoD,SAAS,CAACE,qBAAqB,CAACC,GAAG,CAACvC,iBAAiBb,IAAI,MAC/D+C,WAAW9F;QAClB,MAAMoG,6BAA6BL,wBAAwBrC;QAE3D,MAAM2C,YAAY,CAACC,IAAqBC,OAAgBC;YACtDtB,OAAOuB,IAAI,CAAC;gBACVH;gBACAI,UAAUH,iBAAiBI,QAAQpF,cAAcgF,OAAO3D,UAAU;gBAClE4D,SAASA,WAAYD,CAAAA,iBAAiBI,QAAQJ,MAAMC,OAAO,GAAG,eAAc;YAC9E;QACF;QAEA,wCAAwC;QACxC,kDAAkD;QAClD,wCAAwC;QAExC,MAAMI,2BAA2B,OAAO,EAAEC,GAAG,EAAgB,GAC1D,MAAMlH,sCAAsC;gBAC3CmH,gBAAgBlD,iBAAiBb,IAAI;gBACrC8D;gBACAnE;YACF;QAEF,MAAMqE,uBAAuB,OAAO,EAAEF,GAAG,EAAgB;YACvD,IAAIjD,iBAAiB+B,KAAK,EAAEC,cAAcC,QAAQ;gBAChD,KAAK,MAAMmB,QAAQpD,iBAAiB+B,KAAK,CAACC,YAAY,CAAE;oBACtD,MAAMoB,KAAK;wBACTV,IAAIO,IAAIP,EAAE;wBACV3D,YAAYiB;wBACZ0B,SAAS5C,IAAI4C,OAAO;wBACpB5C;oBACF;gBACF;YACF;QACF;QAEA,MAAMuE,4BAA4B,OAAO,EACvCC,YAAY,EAGb;YACC,MAAMC,aAAaD,aAAaZ,EAAE;YAElC,IAAI,CAAC1C,iBAAiBV,MAAM,IAAIkC,iBAAiBe,GAAG,CAACgB,aAAa;gBAChE;YACF;YAEA,MAAMC,aAAa,MAAM1G,oCAAoC;gBAC3DiC,YAAYiB;gBACZiD,KAAKK;gBACLG,UAAUF;gBACVzE;YACF;YAEA0C,iBAAiBkC,GAAG,CAACH,YAAYC;YAEjC,IAAIA,WAAWvB,MAAM,EAAE;gBACrB,MAAM0B,WAAWC,KAAKC,SAAS,CAAC;oBAAC7D,iBAAiBb,IAAI;oBAAE2E,OAAOP;iBAAY;gBAE3E5B,sBAAsBoC,GAAG,CAACJ;gBAC1BjE,qBAAqBqE,GAAG,CAACJ;YAC3B;QACF;QAEA,MAAMK,uBAAuB,OAAO,EAClCV,YAAY,EAGb;YACC,IAAI,CAACtD,iBAAiBiE,QAAQ,EAAE;gBAC9B,OAAO,EAAE;YACX;YAEA,MAAMvD,QAAQ,MAAMrE,yBAAyB;gBAC3CqG,IAAIY,aAAaZ,EAAE;gBACnBQ,gBAAgBlD,iBAAiBb,IAAI;gBACrCL;YACF;YACA,MAAM,EAAEqC,MAAM8C,QAAQ,EAAE,GAAG,MAAM1E,QAAQC,EAAE,CAAC0E,YAAY,CAAC;gBACvDhC,QAAQ;gBACRnD,YAAYiB,iBAAiBb,IAAI;gBACjCgF,OAAO;gBACPC,YAAY;gBACZtF;gBACA4B;YACF;YAEA,OAAOuD,SAASI,GAAG,CAAC,CAAC,EAAE3B,EAAE,EAAE,GAAKA;QAClC;QAEA,MAAM4B,mBAAmB,OAAO,EAC9BhB,YAAY,EACZiB,WAAW,EAIZ;YACC,MAAMC,mBACJD,eACC,MAAMpI,uBAAuB;gBAC5B+G,gBAAgBlD,iBAAiBb,IAAI;gBACrC8D,KAAKK;gBACLxE;YACF;YAEF,MAAMuE,0BAA0B;gBAAEC;YAAa;YAE/C,IAAI,CAACkB,kBAAkB;gBACrB,MAAM3H,sBAAsB;oBAC1BmD;oBACAhB;oBACAiE,KAAKK;oBACLmB,gBAAgB;oBAChB3F;gBACF;YACF;YAEA,OAAO0F;QACT;QAEA,MAAME,4CAA4C,OAAO,EACvDC,KAAK,EAGN;YACC,IAAIC,mBAAgD;YACpD,IAAIC,mBAAmB;YAEvB,IAAI;gBACFA,mBAAmB,MAAMnH,gBAAgBoB;gBACzC8F,mBAAmB,MAAM7G,0BAA0B;oBAAEe;gBAAI;gBAEzD,MAAMqE,qBAAqB;oBAAEF,KAAK0B,MAAM1B,GAAG;gBAAC;gBAC5C,MAAMhF,0BAA0B;oBAAEa;oBAAKgG,OAAOF;gBAAiB;gBAE/D,IAAIC,kBAAkB;oBACpB,MAAMtH,kBAAkBuB;gBAC1B;gBAEA,OAAO6F;YACT,EAAE,OAAOhC,OAAO;gBACd,IAAIiC,kBAAkB;oBACpB5G,0BAA0B;wBAAEc;wBAAKgG,OAAOF;oBAAiB;gBAC3D;gBAEA,IAAIC,kBAAkB;oBACpB,MAAMjH,gBAAgBkB;gBACxB;gBAEA,IAAIF,sBAAsB;oBACxB,MAAM+D;gBACR;gBAEAF,UAAUkC,MAAM1B,GAAG,CAACP,EAAE,EAAEC;gBAExB,OAAO;YACT;QACF;QAEA,MAAMoC,4BAA4B;YAChC,MAAM,EAAEC,2BAA2B,EAAEC,iBAAiB,EAAE,GAAG,MAAM3H,qBAAqB;gBACpF4F,gBAAgBlD,iBAAiBb,IAAI;gBACrC+F,KAAK/D,KAAKkD,GAAG,CAAC,CAAC,EAAE3B,EAAE,EAAE,GAAKA;gBAC1BxC;gBACApB;YACF;YAEA,MAAMqG,WAA0C,EAAE;YAElDhE,KAAKiE,OAAO,CAAC,CAACnC,KAAKoC;gBACjB,IAAIJ,kBAAkB1C,GAAG,CAACuB,OAAOb,IAAIP,EAAE,IAAI;oBACzCD,UACEQ,IAAIP,EAAE,EACN,IAAIhG,OAAO,CAAC,iBAAiB,EAAEuG,IAAIP,EAAE,CAAC,2CAA2C,CAAC;oBAGpF;gBACF;gBAEAyC,SAAStC,IAAI,CAAC;oBAAEI;oBAAKoC;gBAAM;YAC7B;YAEA,MAAMC,sBAAsB,MAAMC,QAAQC,GAAG,CAC3CL,SAASd,GAAG,CAAC,OAAOM;gBAClB,IAAI;oBACF,MAAMrB,eAAe,MAAMN,yBAAyB;wBAAEC,KAAK0B,MAAM1B,GAAG;oBAAC;oBAErE,IAAIrE,wBAAwBuD,sBAAsB;wBAChD,MAAMnG,0CAA0C;4BAC9CkG;4BACAgB,gBAAgBlD,iBAAiBb,IAAI;4BACrCsG,OAAOd,MAAM1B,GAAG,CAACP,EAAE;4BACnB5D;wBACF;oBACF;oBAEA,OAAO;wBACL,GAAG6F,KAAK;wBACRrB;wBACAoC,iBAAiBV,4BAA4BW,GAAG,CAAC7B,OAAOa,MAAM1B,GAAG,CAACP,EAAE,MAAM,EAAE;oBAC9E;gBACF,EAAE,OAAOC,OAAO;oBACdF,UAAUkC,MAAM1B,GAAG,CAACP,EAAE,EAAEC;oBAExB,OAAO;gBACT;YACF;YAEF,MAAMiD,mBAAmBN,oBAAoBO,MAAM,CACjD,CAAClB,QAAuCA,UAAU;YAGpD,MAAMmB,cAA6C,EAAE;YAErD,IAAIhH,IAAIS,OAAO,CAACC,EAAE,CAACC,+BAA+B,EAAE;gBAClD,KAAK,MAAMkF,SAASiB,iBAAkB;oBACpCE,YAAYjD,IAAI,CACdf,mCACI,MAAM4C,0CAA0C;wBAAEC;oBAAM,KACxDA;gBAER;YACF,OAAO,IAAInC,4BAA4B;gBACrC,KAAK,MAAMmC,SAASiB,iBAAkB;oBACpC,IAAI;wBACF,MAAMzC,qBAAqB;4BAAEF,KAAK0B,MAAM1B,GAAG;wBAAC;wBAC5C6C,YAAYjD,IAAI,CAAC8B;oBACnB,EAAE,OAAOhC,OAAO;wBACd,IAAI/D,sBAAsB;4BACxB,MAAM+D;wBACR;wBAEApB,qBAAqB;wBACrB,MAAM3D,gBAAgBkB;wBAEtB,KAAK,MAAMiH,mBAAmBH,iBAAkB;4BAC9CnD,UACEsD,gBAAgB9C,GAAG,CAACP,EAAE,EACtBC,OACAoD,oBAAoBpB,QAChBtD,YACA,CAAC,8EAA8E,EAAEsD,MAAM1B,GAAG,CAACP,EAAE,CAAC,CAAC,CAAC;wBAExG;wBAEA,OAAO,EAAE;oBACX;gBACF;YACF,OAAO;gBACLoD,YAAYjD,IAAI,IACV,MAAM0C,QAAQC,GAAG,CACnBI,iBAAiBvB,GAAG,CAAC,OAAOM;oBAC1B,IAAI;wBACF,MAAMxB,qBAAqB;4BAAEF,KAAK0B,MAAM1B,GAAG;wBAAC;wBAE5C,OAAO0B;oBACT,EAAE,OAAOhC,OAAO;wBACdF,UAAUkC,MAAM1B,GAAG,CAACP,EAAE,EAAEC;wBAExB,OAAO;oBACT;gBACF;YAGN;YAEA,MAAMqD,gBAAgBF,YAAYD,MAAM,CACtC,CAAClB,QAAuCA,UAAU;YAEpD,MAAM,EACJK,6BAA6BiB,oCAAoC,EACjEhB,mBAAmBiB,0BAA0B,EAC9C,GAAG,MAAM5I,qBAAqB;gBAC7B4F,gBAAgBlD,iBAAiBb,IAAI;gBACrC+F,KAAKc,cAAc3B,GAAG,CAAC,CAAC,EAAEpB,GAAG,EAAE,GAAKA,IAAIP,EAAE;gBAC1CxC;gBACApB;YACF;YACA,MAAMqH,wBAA8C,EAAE;YAEtD,KAAK,MAAMxB,SAASqB,cAAe;gBACjC,MAAMzC,aAAaO,OAAOa,MAAM1B,GAAG,CAACP,EAAE;gBAEtC,IAAIwD,2BAA2B3D,GAAG,CAACgB,aAAa;oBAC9Cd,UACEkC,MAAM1B,GAAG,CAACP,EAAE,EACZ,IAAIhG,OACF,CAAC,iBAAiB,EAAEiI,MAAM1B,GAAG,CAACP,EAAE,CAAC,2CAA2C,CAAC;oBAIjF;gBACF;gBAEAyD,sBAAsBtD,IAAI,CAAC;oBACzB,GAAG8B,KAAK;oBACRe,iBAAiBO,qCAAqCN,GAAG,CAACpC,eAAe,EAAE;gBAC7E;YACF;YAEA,MAAM6C,uBAAsD,EAAE;YAE9D,IAAI5D,4BAA4B;gBAC9B,KAAK,MAAMmC,SAASwB,sBAAuB;oBACzC,MAAM7C,eAAe,MAAMN,yBAAyB;wBAAEC,KAAK0B,MAAMrB,YAAY;oBAAC;oBAE9E8C,qBAAqBvD,IAAI,CAAC;wBAAE,GAAG8B,KAAK;wBAAErB;oBAAa;gBACrD;YACF,OAAO;gBACL8C,qBAAqBvD,IAAI,IACnB,MAAM0C,QAAQC,GAAG,CACnBW,sBAAsB9B,GAAG,CAAC,OAAOM;oBAC/B,IAAI;wBACF,MAAMrB,eAAe,MAAMN,yBAAyB;4BAAEC,KAAK0B,MAAMrB,YAAY;wBAAC;wBAE9E,OAAO;4BAAE,GAAGqB,KAAK;4BAAErB;wBAAa;oBAClC,EAAE,OAAOX,OAAO;wBACdF,UAAUkC,MAAM1B,GAAG,CAACP,EAAE,EAAEC;wBAExB,OAAO;oBACT;gBACF;YAGN;YAEA,OAAOyD,qBAAqBP,MAAM,CAAC,CAAClB,QAAuCA,UAAU;QACvF;QAEA,wCAAwC;QACxC,uEAAuE;QACvE,wCAAwC;QAExC,MAAM0B,qBAAqB,OAAOpD;YAChC,IAAIqD,SAAS,MAAM3J,UAAU;gBAC3BoC,YAAYiB;gBACZ0B,SAAS5C,IAAI4C,OAAO;gBACpBzB,OAAOA;gBACPgD;gBACA,oFAAoF;gBACpFsD,OAAOlF;gBACPjB,gBAAgBA;gBAChBoG,QAAQ;gBACRnG,QAAQA;gBACRnB,gBAAgBA;gBAChBiB;gBACArB;gBACAwB;gBACAE,kBAAkBA;YACpB;YAEA,+CAA+C;YAC/C,IAAIR,iBAAiByG,IAAI,EAAE;gBACzBH,SAAS;oBAAE,GAAGA,MAAM;oBAAEvH,YAAYiB,iBAAiBb,IAAI;gBAAC;YAC1D;YAEA,IAAIa,iBAAiB+B,KAAK,EAAEpF,WAAWsF,QAAQ;gBAC7C,KAAK,MAAMmB,QAAQpD,iBAAiB+B,KAAK,CAACpF,SAAS,CAAE;oBACnD2J,SACE,AAAC,MAAMlD,KAAK;wBACVrE,YAAYiB;wBACZ0B,SAAS5C,IAAI4C,OAAO;wBACpBuB,KAAKqD,UAAUrD;wBACf/D;wBACAJ;oBACF,MAAOwH;gBACX;YACF;YAEA,IAAItG,iBAAiB+B,KAAK,EAAE2E,aAAazE,QAAQ;gBAC/C,KAAK,MAAMmB,QAAQpD,iBAAiB+B,KAAK,CAAC2E,WAAW,CAAE;oBACrDJ,SACE,AAAC,MAAMlD,KAAK;wBACVV,IAAIO,IAAIP,EAAE;wBACV3D,YAAYiB;wBACZ0B,SAAS5C,IAAI4C,OAAO;wBACpBuB,KAAKqD;wBACLxH;oBACF,MAAOwH;gBACX;YACF;YAEA,OAAOA;QACT;QAEA;;;;KAIC,GACD,MAAMK,6BAA6B,OAAO,EACxC1D,GAAG,EACHK,cAAcsD,wBAAwB,EACtClB,eAAe,EACI;YACnB,IAAImB,kBAA+C;YACnD,IAAIC,kBAAkB;YACtB,IAAIC,8BAA8BnI,wBAAwBkD;YAC1D,MAAMkF,yBAAyB3H,QAAQW,iBAAiBV,MAAM;YAE9D,IAAI0H,wBAAwB;gBAC1B/J,wBAAwB;oBAAE6B;gBAAI;YAChC;YAEA,IAAI;gBACFgI,kBAAkB,MAAMpJ,gBAAgBoB;gBACxC+H,kBAAkB,MAAM9I,0BAA0B;oBAAEe;gBAAI;gBAExD,MAAMwE,eAAe,MAAMN,yBAAyB;oBAAEC,KAAK2D;gBAAyB;gBACpF,MAAMpC,mBAAmB,MAAMrI,uBAAuB;oBACpD+G,gBAAgBlD,iBAAiBb,IAAI;oBACrC8D,KAAKK;oBACLxE;gBACF;gBACA,IAAImI;gBACJ,IAAIC,mBAAwC,EAAE;gBAE9C,IAAI/E,sBAAsB;oBACxB,MAAMkB,0BAA0B;wBAAEC;oBAAa;oBAC/C4D,mBAAmB,MAAMlD,qBAAqB;wBAAEV;oBAAa;gBAC/D;gBAEA,IAAI,CAACnB,sBAAsB;oBACzB,MAAMmC,iBAAiB;wBAAEhB;oBAAa;oBAEtC,IAAItD,iBAAiBiE,QAAQ,EAAE;wBAC7B8C,8BAA8B;wBAC9B,MAAM3I,yBAAyB;4BAC7BsE,IAAIO,IAAIP,EAAE;4BACVvD,MAAMa,iBAAiBb,IAAI;4BAC3BI;4BACAT;wBACF;oBACF;oBAEA,IAAItB,2BAA2BwC,qBAAqB,CAACwE,kBAAkB;wBACrEuC,8BAA8B;wBAC9B,MAAM1I,2BAA2B;4BAC/BqE,IAAIO,IAAIP,EAAE;4BACVvD,MAAMa,iBAAiBb,IAAI;4BAC3BI;4BACAT;wBACF;oBACF;gBACF;gBAEAiI,8BAA8B;gBAC9B,IAAI5E,sBAAsB;oBACxBjG,yBAAyB;wBACvBgG;wBACAgB,gBAAgBlD,iBAAiBb,IAAI;wBACrCsG,OAAOxC,IAAIP,EAAE;wBACbyE,qBAAqB3C;wBACrB4C,YAAY,CAACC;4BACXJ,sBAAsBI;wBACxB;wBACAvI;wBACAwI,uBAAuBR;oBACzB;gBACF;gBACA,MAAMvH,QAAQC,EAAE,CAAC+H,SAAS,CAAC;oBACzBxI,YAAYiB,iBAAiBb,IAAI;oBACjCL;oBACA0I,WAAW;oBACX9G,OAAO;wBACLgC,IAAI;4BACF+E,QAAQxE,IAAIP,EAAE;wBAChB;oBACF;gBACF;gBACAvE,qBAAqB;oBAAEW;gBAAI;gBAE3B,MAAM4I,2BAA2BvF,uBAC7BlG,2BAA2B;oBAAEoL,SAASJ;gBAAoB,KACzD;oBAAEhE,KAAKK;oBAAcqE,YAAY;gBAAM;gBAE5C,IAAI,CAACD,yBAAyBC,UAAU,EAAE;oBACxC9F,mBAAmB6B,GAAG,CAACI,OAAOb,IAAIP,EAAE,GAAGO,IAAIP,EAAE;gBAC/C;gBAEA,IAAIP,sBAAsB;oBACxB,MAAMmC,iBAAiB;wBACrBhB,cAAcoE,yBAAyBzE,GAAG;wBAC1CsB,aAAamD,yBAAyBC,UAAU;oBAClD;oBAEA,IAAI3H,iBAAiBiE,QAAQ,EAAE;wBAC7B8C,8BAA8B;wBAC9B,MAAM3I,yBAAyB;4BAC7BsE,IAAIO,IAAIP,EAAE;4BACVvD,MAAMa,iBAAiBb,IAAI;4BAC3BI;4BACAT;4BACA8I,YAAYV;wBACd;oBACF;oBAEA,IACE1J,2BAA2BwC,qBAC3B,CAAC0H,yBAAyBC,UAAU,EACpC;wBACAZ,8BAA8B;wBAC9B,MAAM1I,2BAA2B;4BAC/BqE,IAAIO,IAAIP,EAAE;4BACVvD,MAAMa,iBAAiBb,IAAI;4BAC3BI;4BACAT;wBACF;oBACF;gBACF;gBAEA,IAAIkB,iBAAiBV,MAAM,EAAE;oBAC3B,MAAMvC,gCAAgC;wBACpCyG,YAAYhC,iBAAiBmE,GAAG,CAAC1C,IAAIP,EAAE,KAAK,EAAE;wBAC9C3D,YAAYiB;wBACZlB;oBACF;gBACF;gBAEA,MAAMzB,oBAAoB;oBACxB6F,gBAAgBlD,iBAAiBb,IAAI;oBACrC+F,KAAK;wBAACjC,IAAIP,EAAE;qBAAC;oBACbgD;oBACA5G;gBACF;gBAEA,MAAMwH,SAAS,MAAMD,mBACnBlE,uBAAwBuF,yBAAyBzE,GAAG,GAAWA;gBAGjE,IAAI4D,iBAAiB;oBACnB,MAAM5I,0BAA0B;wBAAEa;wBAAKgG,OAAO+B;oBAAgB;gBAChE;gBACA,IAAIC,iBAAiB;oBACnB,MAAMvJ,kBAAkBuB;gBAC1B;gBAEA,IAAIkI,wBAAwB;oBAC1B,MAAM9J,2BAA2B;wBAAE4B;oBAAI;gBACzC;gBAEA,OAAOwH;YACT,EAAE,OAAO3D,OAAO;gBACd,IAAIkE,iBAAiB;oBACnB7I,0BAA0B;wBAAEc;wBAAKgG,OAAO+B;oBAAgB;gBAC1D;gBAEA,IAAIC,iBAAiB;oBACnB,MAAMlJ,gBAAgBkB;oBACtB+C,mBAAmBf,MAAM,CAACgD,OAAOb,IAAIP,EAAE;oBACvC7G,iBAAiBiD;gBACnB;gBAEA,IAAIkI,wBAAwB;oBAC1B,MAAMhK,wBAAwB;wBAAE8B;oBAAI;gBACtC;gBAEA,IAAIF,wBAAwBmI,6BAA6B;oBACvD,MAAMpE;gBACR;gBACAF,UAAUQ,IAAIP,EAAE,EAAEC;gBAElB,OAAO;YACT;QACF;QAEA;;;;KAIC,GACD,MAAMkF,wBAAwB,OAC5BC;YAEA,MAAMC,UAAgC,IAAIC,MAAM7G,KAAKc,MAAM,EAAEgG,IAAI,CAAC;YAClE,IAAIC;YAEJ,IAAI/F,sBAAsB;gBACxB+F,YAAY,MAAM3C,QAAQC,GAAG,CAC3BsC,kBAAkBzD,GAAG,CAAC,OAAOM,QAAW,CAAA;wBACtC,GAAGA,KAAK;wBACRH,kBAAkB,MAAMrI,uBAAuB;4BAC7C+G,gBAAgBlD,iBAAiBb,IAAI;4BACrC8D,KAAK0B,MAAMrB,YAAY;4BACvBxE;wBACF;oBACF,CAAA;YAEJ,OAAO;gBACL,MAAMqJ,iBAAyC,EAAE;gBAEjD,KAAK,MAAMxD,SAASmD,kBAAmB;oBACrC,IAAIM,uBAAoD;oBAExD,IAAI;wBACFA,uBAAuB,MAAMrK,0BAA0B;4BAAEe;wBAAI;wBAC7D,MAAM0F,mBAAmB,MAAMF,iBAAiB;4BAC9ChB,cAAcqB,MAAMrB,YAAY;wBAClC;wBAEA,MAAMrF,0BAA0B;4BAAEa;4BAAKgG,OAAOsD;wBAAqB;wBACnED,eAAetF,IAAI,CAAC;4BAAE,GAAG8B,KAAK;4BAAEH;wBAAiB;oBACnD,EAAE,OAAO7B,OAAO;wBACd,IAAIyF,sBAAsB;4BACxBpK,0BAA0B;gCAAEc;gCAAKgG,OAAOsD;4BAAqB;wBAC/D;wBAEA,IAAI5F,8BAA8BV,kCAAkC;4BAClE,MAAMa;wBACR;wBAEAF,UAAUkC,MAAM1B,GAAG,CAACP,EAAE,EAAEC;wBACxBwF,eAAetF,IAAI,CAAC;oBACtB;gBACF;gBAEAqF,YAAYC,eAAetC,MAAM,CAAC,CAAClB,QAAgCA,UAAU;YAC/E;YAEA,IAAI,CAACuD,UAAUjG,MAAM,EAAE;gBACrB,OAAO8F;YACT;YAEA,MAAM7C,MAAMgD,UAAU7D,GAAG,CAAC,CAAC,EAAEpB,GAAG,EAAE,GAAKA,IAAIP,EAAE;YAC7C,MAAMgD,kBAAkBwC,UAAUG,OAAO,CAAC,CAAC1D,QAAUA,MAAMe,eAAe;YAC1E,MAAM4C,gBAAgBJ,UACnBrC,MAAM,CAAC,CAAC,EAAErB,gBAAgB,EAAE,GAAK,CAACA,kBAClCH,GAAG,CAAC,CAAC,EAAEpB,GAAG,EAAE,GAAKA,IAAIP,EAAE;YAE1B,IAAI,CAACP,sBAAsB;gBACzB,wCAAwC;gBACxC,kBAAkB;gBAClB,wCAAwC;gBAExC,IAAInC,iBAAiBiE,QAAQ,EAAE;oBAC7B,MAAM7F,yBAAyB;wBAC7Be,MAAMa,iBAAiBb,IAAI;wBAC3B+F;wBACA3F;wBACAT;oBACF;gBACF;gBAEA,wCAAwC;gBACxC,yBAAyB;gBACzB,wCAAwC;gBAExC,IAAItB,2BAA2BwC,qBAAqBsI,cAAcrG,MAAM,EAAE;oBACxE,MAAM5D,2BAA2B;wBAC/Bc,MAAMa,iBAAiBb,IAAI;wBAC3B+F,KAAKoD;wBACL/I;wBACAT;oBACF;gBACF;YACF;YAEA,wCAAwC;YACxC,mBAAmB;YACnB,wCAAwC;YAExC,MAAMyJ,iBAAsC,EAAE;YAC9C,MAAMC,uBAAuB,IAAI/G;YACjC,MAAMgH,sBAA2C,EAAE;YAEnD,IAAI;gBACF,IAAItG,sBAAsB;oBACxB,KAAK,MAAMwC,SAASuD,UAAW;wBAC7B,MAAM,EAAE1D,gBAAgB,EAAEvB,GAAG,EAAEK,YAAY,EAAE,GAAGqB;wBAEhD,MAAMtB,0BAA0B;4BAAEC;wBAAa;wBAC/CmF,oBAAoB5F,IAAI,CAAC;4BACvB,GAAG8B,KAAK;4BACRuC,kBAAkB,MAAMlD,qBAAqB;gCAAEV;4BAAa;wBAC9D;wBAEApH,yBAAyB;4BACvBgG;4BACAgB,gBAAgBlD,iBAAiBb,IAAI;4BACrCsG,OAAOxC,IAAIP,EAAE;4BACbyE,qBAAqB3C;4BACrB4C,YAAY,CAACC;gCACXmB,qBAAqB9E,GAAG,CAACI,OAAOb,IAAIP,EAAE,GAAG2E;4BAC3C;4BACAvI;4BACAwI,uBAAuBzI;wBACzB;wBACA,MAAMU,QAAQC,EAAE,CAAC+H,SAAS,CAAC;4BACzBxI,YAAYiB,iBAAiBb,IAAI;4BACjCL;4BACA0I,WAAW;4BACX9G,OAAO;gCACLgC,IAAI;oCACF+E,QAAQxE,IAAIP,EAAE;gCAChB;4BACF;wBACF;wBACAvE,qBAAqB;4BAAEW;wBAAI;wBAE3B,MAAM4I,2BAA2BzL,2BAA2B;4BAC1DoL,SAASmB,qBAAqB7C,GAAG,CAAC7B,OAAOb,IAAIP,EAAE;wBACjD;wBAEA,IAAI,CAACgF,yBAAyBC,UAAU,EAAE;4BACxC9F,mBAAmB6B,GAAG,CAACI,OAAOb,IAAIP,EAAE,GAAGO,IAAIP,EAAE;wBAC/C;wBACA6F,eAAe1F,IAAI,CAACI,IAAIP,EAAE;oBAC5B;gBACF,OAAO;oBACL,MAAMnD,QAAQC,EAAE,CAACkJ,UAAU,CAAC;wBAC1B3J,YAAYiB,iBAAiBb,IAAI;wBACjCL;wBACA4B,OAAO;4BACLgC,IAAI;gCACFiG,IAAIzD;4BACN;wBACF;oBACF;oBACA/G,qBAAqB;wBAAEW;oBAAI;oBAE3B,KAAK,MAAM4D,MAAMwC,IAAK;wBACpBrD,mBAAmB6B,GAAG,CAACI,OAAOpB,KAAKA;wBACnC6F,eAAe1F,IAAI,CAACH;oBACtB;gBACF;gBAEA,IAAIP,sBAAsB;oBACxB,KAAK,MAAM,EAAEc,GAAG,EAAE,IAAIiF,UAAW;wBAC/B,MAAMR,2BAA2BzL,2BAA2B;4BAC1DoL,SAASmB,qBAAqB7C,GAAG,CAAC7B,OAAOb,IAAIP,EAAE;wBACjD;wBAEA,MAAM4B,iBAAiB;4BACrBhB,cAAcoE,yBAAyBzE,GAAG;4BAC1CsB,aAAamD,yBAAyBC,UAAU;wBAClD;oBACF;oBAEA,IAAI3H,iBAAiBiE,QAAQ,EAAE;wBAC7B,MAAM7F,yBAAyB;4BAC7Be,MAAMa,iBAAiBb,IAAI;4BAC3B+F;4BACA3F;4BACAT;4BACA8I,YAAYa,oBAAoBJ,OAAO,CAAC,CAAC,EAAEnB,gBAAgB,EAAE,GAAKA;wBACpE;oBACF;oBAEA,MAAM0B,qBAAqBV,UACxBrC,MAAM,CAAC,CAAC,EAAE5C,GAAG,EAAE;wBACd,MAAMoE,UAAUpL,2BAA2B;4BACzCoL,SAASmB,qBAAqB7C,GAAG,CAAC7B,OAAOb,IAAIP,EAAE;wBACjD;wBAEA,OAAO,CAAC2E,QAAQM,UAAU;oBAC5B,GACCtD,GAAG,CAAC,CAAC,EAAEpB,GAAG,EAAE,GAAKA,IAAIP,EAAE;oBAE1B,IAAIlF,2BAA2BwC,qBAAqB4I,mBAAmB3G,MAAM,EAAE;wBAC7E,MAAM5D,2BAA2B;4BAC/Bc,MAAMa,iBAAiBb,IAAI;4BAC3B+F,KAAK0D;4BACLrJ;4BACAT;wBACF;oBACF;gBACF;gBAEA,MAAMzB,oBAAoB;oBACxB6F,gBAAgBlD,iBAAiBb,IAAI;oBACrC+F;oBACAQ;oBACA5G;gBACF;YACF,EAAE,OAAO6D,OAAO;gBACdpB,qBAAqB;gBAErB,IAAI1C,cAAc;oBAChB,MAAMjB,gBAAgBkB;oBACtBjD,iBAAiBiD;oBAEjB,KAAK,MAAM4D,MAAM6F,eAAgB;wBAC/B1G,mBAAmBf,MAAM,CAACgD,OAAOpB;oBACnC;gBACF;gBAEA,IAAI9D,sBAAsB;oBACxB,MAAM+D;gBACR;gBAEA,2FAA2F;gBAC3F,2FAA2F;gBAC3F,yBAAyB;gBACzB,MAAMC,UAAU,CAAC,qCAAqC,EAAEsF,UAAUjG,MAAM,CAAC,YAAY,EACnFU,iBAAiBI,QAAQJ,MAAMC,OAAO,GAAG,iBACzC;gBAEF,KAAK,MAAM,EAAEK,GAAG,EAAE,IAAIiF,UAAW;oBAC/BzF,UAAUQ,IAAIP,EAAE,EAAEC,OAAOC;gBAC3B;gBAEA,OAAOmF;YACT;YAEA,IAAI/H,iBAAiBV,MAAM,EAAE;gBAC3B,MAAMvC,gCAAgC;oBACpCyG,YAAY0E,UAAUG,OAAO,CAAC,CAAC,EAAEpF,GAAG,EAAE,GAAKzB,iBAAiBmE,GAAG,CAAC1C,IAAIP,EAAE,KAAK,EAAE;oBAC7E3D,YAAYiB;oBACZlB;gBACF;YACF;YAEA,IAAI0D,4BAA4B;gBAC9B,KAAK,MAAMmC,SAASuD,UAAW;oBAC7B,MAAMW,iBAAiB1G,uBAClBlG,2BAA2B;wBAC1BoL,SAASmB,qBAAqB7C,GAAG,CAAC7B,OAAOa,MAAM1B,GAAG,CAACP,EAAE;oBACvD,GAAGO,GAAG,GACN0B,MAAM1B,GAAG;oBAEb,IAAI;wBACF8E,OAAO,CAACpD,MAAMU,KAAK,CAAC,GAAG,MAAMgB,mBAAmBwC;oBAClD,EAAE,OAAOlG,OAAO;wBACd,IAAI/D,sBAAsB;4BACxB,MAAM+D;wBACR;wBAEApB,qBAAqB;wBACrB,MAAM3D,gBAAgBkB;wBACtBjD,iBAAiBiD;wBACjBiJ,QAAQE,IAAI,CAAC;wBAEb,KAAK,MAAMvF,MAAM6F,eAAgB;4BAC/B1G,mBAAmBf,MAAM,CAACgD,OAAOpB;wBACnC;wBAEA,KAAK,MAAMqD,mBAAmBmC,UAAW;4BACvCzF,UACEsD,gBAAgB9C,GAAG,CAACP,EAAE,EACtBC,OACAoD,oBAAoBpB,QAChBtD,YACA,CAAC,yEAAyE,EAAEsD,MAAM1B,GAAG,CAACP,EAAE,CAAC,CAAC,CAAC;wBAEnG;wBAEA,OAAOqF;oBACT;gBACF;gBAEA,OAAOA;YACT;YAEA,MAAMe,oBAAoB,MAAMvD,QAAQC,GAAG,CACzC0C,UAAU7D,GAAG,CAAC,OAAOM;gBACnB,IAAI;oBACF,MAAMkE,iBAAiB1G,uBAClBlG,2BAA2B;wBAC1BoL,SAASmB,qBAAqB7C,GAAG,CAAC7B,OAAOa,MAAM1B,GAAG,CAACP,EAAE;oBACvD,GAAGO,GAAG,GACN0B,MAAM1B,GAAG;oBAEb,OAAO;wBACL0B;wBACA2B,QAAQ,MAAMD,mBAAmBwC;wBACjCE,QAAQ;oBACV;gBACF,EAAE,OAAOpG,OAAO;oBACd,OAAO;wBAAEgC;wBAAOhC;wBAAOoG,QAAQ;oBAAoB;gBACrD;YACF;YAGF,KAAK,MAAM1B,WAAWyB,kBAAmB;gBACvC,IAAIzB,QAAQ0B,MAAM,KAAK,YAAY;oBACjCtG,UAAU4E,QAAQ1C,KAAK,CAAC1B,GAAG,CAACP,EAAE,EAAE2E,QAAQ1E,KAAK;gBAC/C,OAAO;oBACLoF,OAAO,CAACV,QAAQ1C,KAAK,CAACU,KAAK,CAAC,GAAGgC,QAAQf,MAAM;gBAC/C;YACF;YAEA,OAAOyB;QACT;QAEA,IAAIiB;QACJ,MAAMlB,oBAAoB,MAAM/C;QAEhC,IAAIjG,IAAIS,OAAO,CAACC,EAAE,CAACC,+BAA+B,EAAE;YAClD,qFAAqF;YACrFuJ,cAAc,EAAE;YAEhB,KAAK,MAAMC,oBAAoBnB,kBAAmB;gBAChDkB,YAAYnG,IAAI,CAAC,MAAM8D,2BAA2BsC;YACpD;QACF,OAAO;YACLD,cAAc,MAAMnB,sBAAsBC;QAC5C;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,MAAMoB,uBAAuB;eAAIrH,mBAAmBsH,MAAM;SAAG;QAE7D,IAAID,qBAAqBjH,MAAM,EAAE;YAC/B,MAAMrF,sBAAsB;gBAC1BoD;gBACAkF,KAAKgE;gBACL3J;gBACAT;YACF;QACF;QAEA,IAAIwH,SAAS;YACXnF,MAAM6H,YAAYnD,MAAM,CAAC,CAAC5C,MAA0B5D,QAAQ4D;YAC5D3B;QACF;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCgF,SAAS,MAAMhI,oBAAoB;YACjCI;YACAK,YAAYiB;YACZD,WAAW;YACXb;YACAoH;QACF;QAEA,IAAI3H,cAAc;YAChB,IAAI4C,oBAAoB;gBACtBvD,0BAA0B;oBAAEc,KAAKJ,KAAKI,GAAG;oBAAEgG,OAAOnG;gBAAa;YACjE,OAAO;gBACL,MAAMT,wCAAwC;oBAAEY;oBAAKgG,OAAOnG;gBAAa;YAC3E;QACF;QACA,IAAIE,gBAAgB,CAAC0C,oBAAoB;YACvC,MAAMhE,kBAAkBuB;QAC1B;QAEA,IAAIM,uBAAuB;YACzB,MAAMlC,2BAA2B;gBAAE4B;YAAI;QACzC;QAEA,IAAIqD,sBAAsB;YACxBvG,mBAAmBkD;QACrB;QAEA,OAAOwH;IACT,EAAE,OAAO3D,OAAgB;QACvB,IAAIhE,cAAc;YAChBX,0BAA0B;gBAAEc,KAAKJ,KAAKI,GAAG;gBAAEgG,OAAOnG;YAAa;QACjE;QAEA,IAAIE,cAAc;YAChB,MAAMjB,gBAAgBc,KAAKI,GAAG;QAChC;QACAjD,iBAAiB6C,KAAKI,GAAG;QAEzB,IAAIM,uBAAuB;YACzB,MAAMpC,wBAAwB;gBAAE8B,KAAKJ,KAAKI,GAAG;YAAC;QAChD;QACA,MAAM6D;IACR,SAAU;QACR,MAAMhB,wBAAwBjD,KAAKI,GAAG,CAAC4C,OAAO,EAAEE;QAGhD,KAAK,MAAM+B,YAAYjE,qBAAsB;YAC3CiC,uBAAuBb,OAAO6C;QAChC;QACA,IAAIhC,uBAAuByH,SAAS,GAAG;YACrC,OAAO1K,KAAKI,GAAG,CAAC4C,OAAO,CAACE,6BAA6B;QACvD;IACF;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, FindOptions } from '../../index.js'\nimport type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js'\nimport type { StoredFileList } from '../../uploads/fileVersioning/types.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { APIError, Locked } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport {\n collectStoredFiles,\n collectVersionFiles,\n scheduleUnreferencedFileCleanup,\n} from '../../uploads/fileVersioning/cleanup.js'\nimport {\n abortFileOperationScope,\n beginFileOperationScope,\n completeFileOperationScope,\n} from '../../uploads/fileVersioning/fileOperationManager.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { assertNoValidationWrite } from '../../utilities/assertNoValidationWrite.js'\nimport {\n checkDocumentLockStatus,\n deleteDocumentLocks,\n getLockedDocumentIds,\n} from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js'\nimport { httpStatus } from '../../utilities/httpStatus.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { resolveSelect } from '../../utilities/resolveSelect.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { deleteScheduledPublishJobs } from '../../versions/deleteScheduledPublishJobs.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n disableTransaction?: boolean\n overrideAccess?: boolean\n overrideLock?: boolean\n populate?: PopulateType\n req: PayloadRequest\n showHiddenFields?: boolean\n trash?: boolean\n where: Where\n} & Pick<FindOptions<string, SelectType>, 'select'>\n\nexport const deleteOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n assertNoValidationWrite(args.req)\n\n if (args.collection.config.disableBulkDelete && !args.overrideAccess) {\n throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk delete`, 403)\n }\n\n const hasFileOperationScope =\n Boolean(args.collection.config.upload) && !args.req.payload.db.bulkOperationsSingleTransaction\n const markedManagedDeletes = new Set<string>()\n\n if (hasFileOperationScope) {\n beginFileOperationScope({ req: args.req })\n }\n\n try {\n const shouldCommit =\n !args.disableTransaction &&\n !args.req.payload.db.bulkOperationsSingleTransaction &&\n (await initTransaction(args.req))\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'delete',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n overrideLock,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n trash = false,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess(\n { slug: collectionConfig.slug, req },\n collectionConfig.access.delete,\n )\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req,\n where,\n })\n\n let fullWhere = combineQueries(where, accessResult!)\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n select: resolveSelect({\n config: collectionConfig.select,\n operation: 'delete',\n req,\n select: incomingSelect,\n }),\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale: locale!,\n req,\n // File cleanup needs every stored representation even when the response selects only an ID.\n select: collectionConfig.upload ? undefined : select,\n where: fullWhere,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n let didBatchDeleteFail = false\n const deletedFilesByID = new Map<number | string, StoredFileList>()\n req.context ??= {}\n const managedDeletedUploads = (req.context._payloadManagedDeletedUploads ??=\n new Set()) as Set<string>\n\n type Doc = DataFromCollectionSlug<TSlug>\n type ResultDoc = BulkOperationResult<TSlug, TSelect>['docs'][number]\n\n const pushError = (id: number | string, error: unknown, message?: string) => {\n errors.push({\n id,\n isPublic: error instanceof Error ? isErrorPublic(error, config) : false,\n message: message ?? (error instanceof Error ? error.message : 'Unknown error'),\n })\n }\n\n // /////////////////////////////////////\n // beforeDelete - Collection, and associated files\n // /////////////////////////////////////\n\n const runBeforeDeleteWork = async (doc: Doc) => {\n if (collectionConfig.hooks?.beforeDelete?.length) {\n for (const hook of collectionConfig.hooks.beforeDelete) {\n await hook({\n id: doc.id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }\n }\n\n if (collectionConfig.upload) {\n deletedFilesByID.set(doc.id, [\n ...(await collectStoredFiles({ collection: collectionConfig, doc, req })),\n ...(collectionConfig.versions\n ? await collectVersionFiles({ collection: collectionConfig, parentID: doc.id, req })\n : []),\n ])\n if (deletedFilesByID.get(doc.id)?.length) {\n const identity = JSON.stringify([collectionConfig.slug, String(doc.id)])\n managedDeletedUploads.add(identity)\n markedManagedDeletes.add(identity)\n }\n }\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields, afterRead - Collection, afterDelete - Collection\n // /////////////////////////////////////\n\n const runAfterDeleteWork = async (doc: Doc): Promise<ResultDoc> => {\n let result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: depth!,\n doc,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft: undefined,\n fallbackLocale: fallbackLocale!,\n global: null,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req,\n select,\n showHiddenFields: showHiddenFields!,\n })\n\n // Add collection property for auth collections\n if (collectionConfig.auth) {\n result = { ...result, collection: collectionConfig.slug }\n }\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n overrideAccess,\n req,\n })) || result\n }\n }\n\n if (collectionConfig.hooks?.afterDelete?.length) {\n for (const hook of collectionConfig.hooks.afterDelete) {\n result =\n (await hook({\n id: doc.id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }\n }\n\n return result as ResultDoc\n }\n\n /**\n * One transaction and one set of database calls per document. Only used when\n * `bulkOperationsSingleTransaction` is enabled, which requires each document to be committed\n * on its own and therefore cannot share a batched write with the rest of the operation.\n */\n const deleteDocumentIndividually = async (doc: Doc): Promise<null | ResultDoc> => {\n const hasIndividualFileScope = Boolean(collectionConfig.upload)\n\n if (hasIndividualFileScope) {\n beginFileOperationScope({ req })\n }\n\n try {\n const docShouldCommit = await initTransaction(req)\n\n await checkDocumentLockStatus({\n id: doc.id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${doc.id} is currently locked and cannot be deleted.`,\n overrideLock,\n req,\n })\n\n await runBeforeDeleteWork(doc)\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n if (hasScheduledPublishEnabled(collectionConfig)) {\n await deleteScheduledPublishJobs({\n id: doc.id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n returning: false,\n where: {\n id: {\n equals: doc.id,\n },\n },\n })\n\n if (collectionConfig.upload) {\n await scheduleUnreferencedFileCleanup({\n candidates: deletedFilesByID.get(doc.id) ?? [],\n collection: collectionConfig,\n req,\n })\n }\n\n const result = await runAfterDeleteWork(doc)\n\n if (docShouldCommit) {\n await commitTransaction(req)\n }\n\n if (hasIndividualFileScope) {\n await completeFileOperationScope({ req })\n }\n\n return result\n } catch (error) {\n await killTransaction(req)\n if (hasIndividualFileScope) {\n await abortFileOperationScope({ req })\n }\n pushError(doc.id, error)\n\n return null\n }\n }\n\n /**\n * Deletes the whole batch using a constant number of database calls, independent of how many\n * documents matched. Hooks still run per document, they just no longer each carry a write.\n */\n const deleteDocumentsInBulk = async (): Promise<(null | ResultDoc)[]> => {\n const results: (null | ResultDoc)[] = new Array(docs.length).fill(null)\n\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n const lockedIds = await getLockedDocumentIds({\n collectionSlug: collectionConfig.slug,\n ids: docs.map(({ id }) => id),\n overrideLock,\n req,\n })\n\n const unlocked: { doc: Doc; index: number }[] = []\n\n docs.forEach((doc, index) => {\n if (lockedIds.has(String(doc.id))) {\n pushError(\n doc.id,\n new Locked(`Document with ID ${doc.id} is currently locked and cannot be deleted.`),\n )\n\n return\n }\n\n unlocked.push({ doc, index })\n })\n\n await deleteDocumentLocks({\n collectionSlug: collectionConfig.slug,\n ids: unlocked.map(({ doc }) => doc.id),\n req,\n })\n\n const deletable: { doc: Doc; index: number }[] = []\n\n await Promise.all(\n unlocked.map(async (entry) => {\n try {\n await runBeforeDeleteWork(entry.doc)\n deletable.push(entry)\n } catch (error) {\n pushError(entry.doc.id, error)\n }\n }),\n )\n\n if (!deletable.length) {\n return results\n }\n\n const ids = deletable.map(({ doc }) => doc.id)\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n slug: collectionConfig.slug,\n ids,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete scheduled posts\n // /////////////////////////////////////\n\n if (hasScheduledPublishEnabled(collectionConfig)) {\n await deleteScheduledPublishJobs({\n slug: collectionConfig.slug,\n ids,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete documents\n // /////////////////////////////////////\n\n try {\n await payload.db.deleteMany({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n in: ids,\n },\n },\n })\n } catch (error) {\n didBatchDeleteFail = true\n\n if (shouldCommit) {\n await killTransaction(req)\n }\n\n // The delete covers the whole batch, so a failure here belongs to the batch rather than to\n // any single document. Say so explicitly, otherwise one batch failure reads as N unrelated\n // per-document failures.\n const message = `Bulk delete failed for this batch of ${deletable.length} documents: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`\n\n for (const { doc } of deletable) {\n pushError(doc.id, error, message)\n }\n\n return results\n }\n\n if (collectionConfig.upload) {\n await scheduleUnreferencedFileCleanup({\n candidates: deletable.flatMap(({ doc }) => deletedFilesByID.get(doc.id) ?? []),\n collection: collectionConfig,\n req,\n })\n }\n\n await Promise.all(\n deletable.map(async (entry) => {\n try {\n results[entry.index] = await runAfterDeleteWork(entry.doc)\n } catch (error) {\n pushError(entry.doc.id, error)\n }\n }),\n )\n\n return results\n }\n\n let awaitedDocs: (null | ResultDoc)[]\n\n if (req.payload.db.bulkOperationsSingleTransaction) {\n // Process sequentially so that each document's transaction is isolated from the next\n awaitedDocs = []\n\n for (const doc of docs) {\n awaitedDocs.push(await deleteDocumentIndividually(doc))\n }\n } else {\n awaitedDocs = await deleteDocumentsInBulk()\n }\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n if (!didBatchDeleteFail) {\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n }\n\n let result = {\n docs: awaitedDocs.filter((doc): doc is ResultDoc => Boolean(doc)),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n overrideAccess,\n result,\n })\n\n if (shouldCommit && !didBatchDeleteFail) {\n await commitTransaction(req)\n }\n\n if (hasFileOperationScope) {\n await completeFileOperationScope({ req })\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n if (hasFileOperationScope) {\n await abortFileOperationScope({ req: args.req })\n }\n throw error\n } finally {\n const managedDeletedUploads = args.req.context?._payloadManagedDeletedUploads as\n | Set<string>\n | undefined\n for (const identity of markedManagedDeletes) {\n managedDeletedUploads?.delete(identity)\n }\n if (managedDeletedUploads?.size === 0) {\n delete args.req.context._payloadManagedDeletedUploads\n }\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","Locked","afterRead","deleteUserPreferences","deleteAssociatedFiles","collectStoredFiles","collectVersionFiles","scheduleUnreferencedFileCleanup","abortFileOperationScope","beginFileOperationScope","completeFileOperationScope","appendNonTrashedFilter","assertNoValidationWrite","checkDocumentLockStatus","deleteDocumentLocks","getLockedDocumentIds","commitTransaction","hasScheduledPublishEnabled","httpStatus","initTransaction","isErrorPublic","killTransaction","resolveSelect","sanitizeSelect","deleteCollectionVersions","deleteScheduledPublishJobs","buildAfterOperation","buildBeforeOperation","deleteOperation","incomingArgs","args","req","collection","config","disableBulkDelete","overrideAccess","slug","hasFileOperationScope","Boolean","upload","payload","db","bulkOperationsSingleTransaction","markedManagedDeletes","Set","shouldCommit","disableTransaction","operation","collectionConfig","depth","overrideLock","populate","fallbackLocale","locale","select","incomingSelect","showHiddenFields","trash","where","BAD_REQUEST","accessResult","access","delete","fullWhere","enableTrash","fields","flattenedFields","docs","find","undefined","errors","didBatchDeleteFail","deletedFilesByID","Map","context","managedDeletedUploads","_payloadManagedDeletedUploads","pushError","id","error","message","push","isPublic","Error","runBeforeDeleteWork","doc","hooks","beforeDelete","length","hook","set","versions","parentID","get","identity","JSON","stringify","String","add","overrideDelete","runAfterDeleteWork","result","draft","global","auth","afterDelete","deleteDocumentIndividually","hasIndividualFileScope","docShouldCommit","collectionSlug","lockErrorMessage","deleteOne","returning","equals","candidates","deleteDocumentsInBulk","results","Array","fill","lockedIds","ids","map","unlocked","forEach","index","has","deletable","Promise","all","entry","deleteMany","in","flatMap","awaitedDocs","filter","size"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAA;AAiC5E,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,UAAU,IAAI;IAChF,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE/C,eAAO,MAAM,mBAAmB,GAAU,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,UAAU,gBAClF,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KACtC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAgTvD,CAAA"}
|