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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/collections/operations/utilities/createOperationRetryRequest.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto'\nimport { constants } from 'node:fs'\nimport fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { isConcurrentShadowOperationError } from '../../../branching/createShadowRow.js'\nimport { refreshBranchState, resetBranchState } from '../../../branching/resolveBranch.js'\nimport { createPayloadRequest } from '../../../utilities/createPayloadRequest.js'\nimport { isolateObjectProperty } from '../../../utilities/isolateObjectProperty.js'\nimport {\n createIsolatedDeferredCleanupContext,\n deferredCleanupScopeContextKey,\n} from '../../../utilities/transactionCallbacks.js'\n\ntype RetryCloneGraph = {\n clonesByOriginal: WeakMap<object, object>\n isRetrySafe: boolean\n originalsByClone: WeakMap<object, object>\n}\n\ntype OperationRetryRequest = {\n isRetrySafe: boolean\n req: PayloadRequest\n}\n\ntype RetryRequestState = {\n originalReq: PayloadRequest\n originalsByClone: WeakMap<object, object>\n}\n\nconst createRetryCloneGraph = (): RetryCloneGraph => ({\n clonesByOriginal: new WeakMap(),\n isRetrySafe: true,\n originalsByClone: new WeakMap(),\n})\n\nconst recordRetryClone = ({\n clone,\n graph,\n original,\n}: {\n clone: object\n graph: RetryCloneGraph\n original: object\n}): void => {\n graph.clonesByOriginal.set(original, clone)\n graph.originalsByClone.set(clone, original)\n}\n\nconst typedArrayPrototype = Object.getPrototypeOf(Uint8Array.prototype) as object\nconst maximumRetrySafeIndexedPropertyCount = 65_536\n\nconst markValueAsRetryUnsafe = ({\n graph,\n value,\n}: {\n graph: RetryCloneGraph\n value: object\n}): void => {\n graph.isRetrySafe = false\n recordRetryClone({ clone: value, graph, original: value })\n}\n\nconst isArrayIndexProperty = (key: PropertyKey): boolean => {\n if (typeof key !== 'string' || key === '') {\n return false\n }\n\n const index = Number(key)\n\n return Number.isInteger(index) && index >= 0 && index < 4_294_967_295 && String(index) === key\n}\n\nconst isSupportedArrayBufferViewPrototype = ({ value }: { value: ArrayBufferView }): boolean => {\n const prototype = Object.getPrototypeOf(value) as object\n\n if (Buffer.isBuffer(value)) {\n return prototype === Buffer.prototype\n }\n\n if (value instanceof DataView) {\n return prototype === DataView.prototype\n }\n\n return Object.getPrototypeOf(prototype) === typedArrayPrototype\n}\n\nconst markUnsupportedSpecialObjectAsRetryUnsafe = ({\n expectedPrototype,\n graph,\n isAllowedOwnProperty = () => false,\n value,\n}: {\n expectedPrototype?: object\n graph: RetryCloneGraph\n isAllowedOwnProperty?: (args: { descriptor: PropertyDescriptor; key: PropertyKey }) => boolean\n value: object\n}): boolean => {\n const hasSupportedPrototype = expectedPrototype\n ? Object.getPrototypeOf(value) === expectedPrototype\n : isSupportedArrayBufferViewPrototype({ value: value as ArrayBufferView })\n\n if (!hasSupportedPrototype) {\n markValueAsRetryUnsafe({ graph, value })\n\n return true\n }\n\n const hasUnsupportedOwnProperty = Reflect.ownKeys(value).some((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n\n return !descriptor || !isAllowedOwnProperty({ descriptor, key })\n })\n\n if (!hasUnsupportedOwnProperty) {\n return false\n }\n\n markValueAsRetryUnsafe({ graph, value })\n\n return true\n}\n\nconst cloneRetrySafeValue = <Value>(\n value: Value,\n graph: RetryCloneGraph = createRetryCloneGraph(),\n): Value => {\n if (typeof value === 'function') {\n graph.isRetrySafe = false\n\n return value\n }\n\n if (!value || typeof value !== 'object') {\n return value\n }\n\n const existingClone = graph.clonesByOriginal.get(value)\n\n if (existingClone) {\n return existingClone as Value\n }\n\n if (value instanceof Date) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: Date.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new Date(value)\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (value instanceof RegExp) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: RegExp.prototype,\n graph,\n isAllowedOwnProperty: ({ descriptor, key }) => key === 'lastIndex' && 'value' in descriptor,\n value,\n })\n ) {\n return value\n }\n\n const clone = new RegExp(value.source, value.flags)\n\n clone.lastIndex = value.lastIndex\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (value instanceof Headers) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: Headers.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new Headers(value)\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (value instanceof URL) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: URL.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new URL(value)\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (value instanceof URLSearchParams) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: URLSearchParams.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new URLSearchParams(value)\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (isSharedArrayBuffer(value)) {\n graph.isRetrySafe = false\n recordRetryClone({ clone: value, graph, original: value })\n\n return value\n }\n\n if (value instanceof ArrayBuffer) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: ArrayBuffer.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = structuredClone(value)\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (ArrayBuffer.isView(value)) {\n if (isSharedArrayBuffer(value.buffer)) {\n graph.isRetrySafe = false\n recordRetryClone({ clone: value, graph, original: value })\n\n return value\n }\n\n if (!isSupportedArrayBufferViewPrototype({ value })) {\n markValueAsRetryUnsafe({ graph, value })\n\n return value\n }\n\n const indexedPropertyCount =\n 'length' in value && typeof value.length === 'number' ? value.length : 0\n\n if (indexedPropertyCount > maximumRetrySafeIndexedPropertyCount) {\n markValueAsRetryUnsafe({ graph, value })\n\n return value\n }\n\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n graph,\n isAllowedOwnProperty: ({ descriptor, key }) =>\n isArrayIndexProperty(key) && 'value' in descriptor,\n value,\n })\n ) {\n return value\n }\n\n const clonedBuffer = cloneRetrySafeValue(value.buffer, graph)\n const clone = createArrayBufferView({ buffer: clonedBuffer, source: value })\n\n recordRetryClone({ clone, graph, original: value })\n\n return clone as Value\n }\n\n if (Array.isArray(value)) {\n if (value.length > maximumRetrySafeIndexedPropertyCount) {\n markValueAsRetryUnsafe({ graph, value })\n\n return value\n }\n\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: Array.prototype,\n graph,\n isAllowedOwnProperty: ({ descriptor, key }) =>\n (key === 'length' || isArrayIndexProperty(key)) && 'value' in descriptor,\n value,\n })\n ) {\n return value\n }\n\n const clone: unknown[] = []\n\n recordRetryClone({ clone, graph, original: value })\n\n for (const entry of value) {\n clone.push(cloneRetrySafeValue(entry, graph))\n }\n\n mirrorObjectIntegrity({ source: value, target: clone })\n\n return clone as Value\n }\n\n if (value instanceof Map) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: Map.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new Map()\n\n recordRetryClone({ clone, graph, original: value })\n\n for (const [key, entry] of value) {\n clone.set(cloneRetrySafeValue(key, graph), cloneRetrySafeValue(entry, graph))\n }\n\n return clone as Value\n }\n\n if (value instanceof Set) {\n if (\n markUnsupportedSpecialObjectAsRetryUnsafe({\n expectedPrototype: Set.prototype,\n graph,\n value,\n })\n ) {\n return value\n }\n\n const clone = new Set()\n\n recordRetryClone({ clone, graph, original: value })\n\n for (const entry of value) {\n clone.add(cloneRetrySafeValue(entry, graph))\n }\n\n return clone as Value\n }\n\n if (hasUncloneableInternalState({ value })) {\n graph.isRetrySafe = false\n recordRetryClone({ clone: value, graph, original: value })\n\n return value\n }\n\n const clone = Object.create(Object.getPrototypeOf(value)) as Record<PropertyKey, unknown>\n\n recordRetryClone({ clone, graph, original: value })\n\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n\n if (!descriptor) {\n continue\n }\n\n if (!('value' in descriptor)) {\n graph.isRetrySafe = false\n } else {\n descriptor.value = cloneRetrySafeValue(descriptor.value, graph)\n }\n\n Object.defineProperty(clone, key, descriptor)\n }\n\n mirrorObjectIntegrity({ source: value, target: clone })\n\n return clone as Value\n}\n\nconst isSharedArrayBuffer = (value: unknown): value is SharedArrayBuffer =>\n typeof SharedArrayBuffer !== 'undefined' && value instanceof SharedArrayBuffer\n\nconst hasUncloneableInternalState = ({ value }: { value: object }): boolean => {\n let prototype = Object.getPrototypeOf(value)\n\n while (prototype && prototype !== Object.prototype) {\n const constructor = prototype.constructor\n const constructorSource =\n typeof constructor === 'function' ? Function.prototype.toString.call(constructor) : ''\n\n const hasPrototypeMethods = Reflect.ownKeys(prototype).some((key) => key !== 'constructor')\n\n if (\n constructorSource.includes('[native code]') ||\n /#[a-z_$]/i.test(constructorSource) ||\n hasPrototypeMethods\n ) {\n return true\n }\n\n prototype = Object.getPrototypeOf(prototype)\n }\n\n return false\n}\n\nconst createArrayBufferView = ({\n buffer,\n source,\n}: {\n buffer: ArrayBuffer\n source: ArrayBufferView\n}): ArrayBufferView => {\n if (Buffer.isBuffer(source)) {\n return Buffer.from(buffer, source.byteOffset, source.byteLength)\n }\n\n if (source instanceof DataView) {\n return new DataView(buffer, source.byteOffset, source.byteLength)\n }\n\n const TypedArray = source.constructor as new (\n buffer: ArrayBuffer,\n byteOffset: number,\n length: number,\n ) => ArrayBufferView\n\n return new TypedArray(buffer, source.byteOffset, (source as Uint8Array).length)\n}\n\nconst mirrorObjectIntegrity = ({ source, target }: { source: object; target: object }): void => {\n if (Object.isFrozen(source)) {\n Object.freeze(target)\n } else if (Object.isSealed(source)) {\n Object.seal(target)\n } else if (!Object.isExtensible(source)) {\n Object.preventExtensions(target)\n }\n}\n\nconst synchronizeRetrySafeValue = <Value>({\n allowUnprovenTargetReuse = false,\n deleteMissingProperties = true,\n originalsByClone,\n preservedMissingTargetKeys,\n source,\n synchronizedTargets = new WeakMap<object, object>(),\n target,\n}: {\n allowUnprovenTargetReuse?: boolean\n deleteMissingProperties?: boolean\n originalsByClone: WeakMap<object, object>\n preservedMissingTargetKeys?: ReadonlySet<PropertyKey>\n source: Value\n synchronizedTargets?: WeakMap<object, object>\n target: Value\n}): Value => {\n if (!source || typeof source !== 'object') {\n return source\n }\n\n const synchronizedTarget = synchronizedTargets.get(source)\n const originalValue = originalsByClone.get(source)\n const targetValue = (originalValue ?? (allowUnprovenTargetReuse ? target : undefined)) as Value\n\n if (source instanceof ArrayBuffer) {\n const synchronizedBuffer =\n synchronizedTarget instanceof ArrayBuffer &&\n synchronizedTarget.byteLength === source.byteLength\n ? synchronizedTarget\n : targetValue instanceof ArrayBuffer && targetValue.byteLength === source.byteLength\n ? targetValue\n : new ArrayBuffer(source.byteLength)\n\n synchronizedTargets.set(source, synchronizedBuffer)\n new Uint8Array(synchronizedBuffer).set(new Uint8Array(source))\n\n return synchronizedBuffer as Value\n }\n\n if (synchronizedTarget) {\n return synchronizedTarget as Value\n }\n\n if (Object.is(source, targetValue)) {\n synchronizedTargets.set(source, targetValue as object)\n\n return targetValue\n }\n\n if (source instanceof Date) {\n const synchronizedDate = targetValue instanceof Date ? targetValue : new Date(source)\n\n synchronizedTargets.set(source, synchronizedDate)\n synchronizedDate.setTime(source.getTime())\n\n return synchronizedDate as Value\n }\n\n if (source instanceof RegExp) {\n const synchronizedRegExp =\n targetValue instanceof RegExp &&\n targetValue.source === source.source &&\n targetValue.flags === source.flags\n ? targetValue\n : new RegExp(source.source, source.flags)\n\n synchronizedTargets.set(source, synchronizedRegExp)\n synchronizedRegExp.lastIndex = source.lastIndex\n\n return synchronizedRegExp as Value\n }\n\n if (source instanceof Headers) {\n const synchronizedHeaders = targetValue instanceof Headers ? targetValue : new Headers()\n\n synchronizedTargets.set(source, synchronizedHeaders)\n for (const key of [...synchronizedHeaders.keys()]) {\n synchronizedHeaders.delete(key)\n }\n for (const [key, value] of source) {\n synchronizedHeaders.append(key, value)\n }\n\n return synchronizedHeaders as Value\n }\n\n if (source instanceof URL) {\n const synchronizedURL = targetValue instanceof URL ? targetValue : new URL(source)\n\n synchronizedTargets.set(source, synchronizedURL)\n synchronizedURL.href = source.href\n\n return synchronizedURL as Value\n }\n\n if (source instanceof URLSearchParams) {\n const synchronizedSearchParams =\n targetValue instanceof URLSearchParams ? targetValue : new URLSearchParams()\n\n synchronizedTargets.set(source, synchronizedSearchParams)\n for (const key of [...synchronizedSearchParams.keys()]) {\n synchronizedSearchParams.delete(key)\n }\n for (const [key, value] of source) {\n synchronizedSearchParams.append(key, value)\n }\n\n return synchronizedSearchParams as Value\n }\n\n if (ArrayBuffer.isView(source)) {\n const sourceBuffer = source.buffer as ArrayBuffer\n const synchronizedBufferFromGraph = synchronizedTargets.get(sourceBuffer)\n const originalBuffer = originalsByClone.get(sourceBuffer)\n const synchronizedBuffer =\n synchronizedBufferFromGraph instanceof ArrayBuffer\n ? synchronizedBufferFromGraph\n : ArrayBuffer.isView(targetValue) && targetValue.buffer instanceof ArrayBuffer\n ? targetValue.buffer\n : originalBuffer instanceof ArrayBuffer\n ? originalBuffer\n : new ArrayBuffer(sourceBuffer.byteLength)\n\n synchronizedTargets.set(sourceBuffer, synchronizedBuffer)\n const synchronizedView =\n ArrayBuffer.isView(targetValue) &&\n targetValue.constructor === source.constructor &&\n targetValue.byteLength === source.byteLength &&\n targetValue.byteOffset === source.byteOffset\n ? targetValue\n : createArrayBufferView({ buffer: synchronizedBuffer, source })\n\n synchronizedTargets.set(source, synchronizedView)\n new Uint8Array(\n synchronizedView.buffer,\n synchronizedView.byteOffset,\n synchronizedView.byteLength,\n ).set(new Uint8Array(source.buffer, source.byteOffset, source.byteLength))\n\n return synchronizedView as Value\n }\n\n if (Array.isArray(source)) {\n const synchronizedArray = Array.isArray(targetValue) ? targetValue : []\n\n synchronizedTargets.set(source, synchronizedArray)\n\n for (let index = 0; index < source.length; index++) {\n const synchronizedEntry = synchronizeRetrySafeValue({\n originalsByClone,\n source: source[index],\n synchronizedTargets,\n target: synchronizedArray[index],\n })\n\n setSynchronizedProperty({ key: index, target: synchronizedArray, value: synchronizedEntry })\n }\n setSynchronizedProperty({ key: 'length', target: synchronizedArray, value: source.length })\n mirrorObjectIntegrity({ source, target: synchronizedArray })\n\n return synchronizedArray as Value\n }\n\n if (source instanceof Map) {\n const synchronizedMap = targetValue instanceof Map ? targetValue : new Map()\n\n synchronizedTargets.set(source, synchronizedMap)\n const synchronizedEntries: [unknown, unknown][] = []\n for (const [key, entry] of source) {\n const synchronizedKey = synchronizeRetrySafeValue({\n originalsByClone,\n source: key,\n synchronizedTargets,\n target: undefined,\n })\n const synchronizedEntry = synchronizeRetrySafeValue({\n originalsByClone,\n source: entry,\n synchronizedTargets,\n target: synchronizedMap.get(synchronizedKey),\n })\n\n synchronizedEntries.push([synchronizedKey, synchronizedEntry])\n }\n\n synchronizedMap.clear()\n for (const [key, entry] of synchronizedEntries) {\n synchronizedMap.set(key, entry)\n }\n\n return synchronizedMap as Value\n }\n\n if (source instanceof Set) {\n const synchronizedSet = targetValue instanceof Set ? targetValue : new Set()\n\n synchronizedTargets.set(source, synchronizedSet)\n const synchronizedEntries: unknown[] = []\n for (const entry of source) {\n synchronizedEntries.push(\n synchronizeRetrySafeValue({\n originalsByClone,\n source: entry,\n synchronizedTargets,\n target: undefined,\n }),\n )\n }\n\n synchronizedSet.clear()\n for (const entry of synchronizedEntries) {\n synchronizedSet.add(entry)\n }\n\n return synchronizedSet as Value\n }\n\n if (hasUncloneableInternalState({ value: source })) {\n synchronizedTargets.set(source, source)\n\n return source\n }\n\n const synchronizedObject =\n targetValue &&\n typeof targetValue === 'object' &&\n Object.getPrototypeOf(source) === Object.getPrototypeOf(targetValue)\n ? targetValue\n : Object.create(Object.getPrototypeOf(source))\n\n synchronizedTargets.set(source, synchronizedObject)\n\n const sourceRecord = source as Record<PropertyKey, unknown>\n const targetRecord = synchronizedObject as Record<PropertyKey, unknown>\n\n if (deleteMissingProperties) {\n for (const key of Reflect.ownKeys(targetRecord)) {\n if (!Object.hasOwn(sourceRecord, key) && !preservedMissingTargetKeys?.has(key)) {\n const descriptor = Object.getOwnPropertyDescriptor(targetRecord, key)\n\n if (descriptor?.configurable !== false) {\n delete targetRecord[key]\n }\n }\n }\n }\n\n for (const key of Reflect.ownKeys(sourceRecord)) {\n const synchronizedValue = synchronizeRetrySafeValue({\n originalsByClone,\n source: sourceRecord[key],\n synchronizedTargets,\n target: targetRecord[key],\n })\n\n setSynchronizedProperty({ key, target: targetRecord, value: synchronizedValue })\n }\n\n mirrorObjectIntegrity({ source, target: synchronizedObject })\n\n return synchronizedObject\n}\n\nconst setSynchronizedProperty = ({\n key,\n target,\n value,\n}: {\n key: PropertyKey\n target: object\n value: unknown\n}): void => {\n const descriptor = Object.getOwnPropertyDescriptor(target, key)\n const currentValue = Reflect.get(target, key)\n\n if (Object.is(currentValue, value)) {\n return\n }\n\n if (\n !descriptor ||\n ('value' in descriptor ? descriptor.writable !== false : descriptor.set !== undefined)\n ) {\n Reflect.set(target, key, value)\n }\n}\n\nconst retryRequestStateByRequest = new WeakMap<PayloadRequest, RetryRequestState>()\n\nexport const shouldRetryOperationRequest = ({\n didOwnAttemptTransaction,\n didReachFinalCommit,\n error,\n hasCallerTransaction,\n isRetrySafe,\n}: {\n didOwnAttemptTransaction: boolean\n didReachFinalCommit: boolean\n error: unknown\n hasCallerTransaction: boolean\n isRetrySafe: boolean\n}): boolean =>\n isRetrySafe &&\n !hasCallerTransaction &&\n didOwnAttemptTransaction &&\n (didReachFinalCommit || isConcurrentShadowOperationError(error))\n\n/** Applies mutable request changes from an attempt only after its database work succeeds. */\nexport const commitOperationRetryRequestContext = ({ req }: { req: PayloadRequest }): void => {\n const retryRequestState = retryRequestStateByRequest.get(req)\n\n if (!retryRequestState) {\n return\n }\n\n const { originalReq, originalsByClone } = retryRequestState\n\n try {\n const synchronizedTargets = new WeakMap<object, object>()\n\n originalReq.context = synchronizeRetrySafeValue({\n allowUnprovenTargetReuse: true,\n originalsByClone,\n preservedMissingTargetKeys: new Set([deferredCleanupScopeContextKey]),\n source: createIsolatedDeferredCleanupContext({ req }),\n synchronizedTargets,\n target: originalReq.context,\n })\n\n if (req.responseHeaders) {\n originalReq.responseHeaders = synchronizeRetrySafeValue({\n originalsByClone,\n source: req.responseHeaders,\n synchronizedTargets,\n target: originalReq.responseHeaders,\n })\n } else {\n delete originalReq.responseHeaders\n }\n } catch (err) {\n originalReq.payload.logger.error({\n err,\n msg: 'Failed to apply request state changes after committing an operation retry.',\n })\n } finally {\n refreshBranchState(originalReq)\n retryRequestStateByRequest.delete(req)\n }\n}\n\n/** Creates a request whose mutable operation state cannot leak into another transaction attempt. */\nexport const createOperationRetryRequest = async ({\n copyFileTempPath = false,\n req,\n}: {\n copyFileTempPath?: boolean\n req: PayloadRequest\n}): Promise<OperationRetryRequest> => {\n req.context ??= {}\n const cloneGraph = createRetryCloneGraph()\n const retryReq = isolateObjectProperty(req, [\n 'branch',\n 'context',\n 'data',\n 'fallbackLocale',\n 'file',\n 'files',\n 'headers',\n 'locale',\n 'payloadDataLoader',\n 'payloadUploadSizes',\n 'query',\n 'responseHeaders',\n 'routeParams',\n 'searchParams',\n 'transactionID',\n 'user',\n ])\n\n retryReq.context = cloneRetrySafeValue(createIsolatedDeferredCleanupContext({ req }), cloneGraph)\n retryReq.data = cloneRetrySafeValue(req.data, cloneGraph)\n retryReq.file = cloneRetrySafeValue(req.file, cloneGraph)\n retryReq.files = cloneRetrySafeValue(req.files, cloneGraph)\n retryReq.headers = cloneRetrySafeValue(req.headers, cloneGraph)\n retryReq.query = cloneRetrySafeValue(req.query, cloneGraph)\n retryReq.responseHeaders = cloneRetrySafeValue(req.responseHeaders, cloneGraph)\n retryReq.routeParams = cloneRetrySafeValue(req.routeParams, cloneGraph)\n Reflect.set(retryReq, 'searchParams', cloneRetrySafeValue(req.searchParams, cloneGraph))\n retryReq.user = cloneRetrySafeValue(req.user, cloneGraph)\n\n if (!cloneGraph.isRetrySafe) {\n return { isRetrySafe: false, req }\n }\n\n delete (retryReq as Partial<PayloadRequest>).payloadDataLoader\n delete retryReq.payloadUploadSizes\n delete retryReq.transactionID\n resetBranchState(retryReq)\n\n const fallbackLocale =\n req.fallbackLocale === false || typeof req.fallbackLocale === 'string'\n ? req.fallbackLocale\n : undefined\n const preparedReq = await createPayloadRequest({\n fallbackLocale,\n payload: req.payload,\n req: retryReq,\n })\n const sourceTempFilePath = preparedReq.file?.tempFilePath\n\n if (copyFileTempPath && sourceTempFilePath) {\n const extension = path.extname(sourceTempFilePath)\n const attemptTempFilePath = path.join(\n path.dirname(sourceTempFilePath),\n `${path.basename(sourceTempFilePath, extension)}-${randomUUID()}${extension}`,\n )\n\n await fs.copyFile(sourceTempFilePath, attemptTempFilePath, constants.COPYFILE_EXCL)\n preparedReq.file!.tempFilePath = attemptTempFilePath\n }\n\n retryRequestStateByRequest.set(preparedReq, {\n originalReq: req,\n originalsByClone: cloneGraph.originalsByClone,\n })\n\n return { isRetrySafe: true, req: preparedReq }\n}\n"],"names":["randomUUID","constants","fs","path","isConcurrentShadowOperationError","refreshBranchState","resetBranchState","createPayloadRequest","isolateObjectProperty","createIsolatedDeferredCleanupContext","deferredCleanupScopeContextKey","createRetryCloneGraph","clonesByOriginal","WeakMap","isRetrySafe","originalsByClone","recordRetryClone","clone","graph","original","set","typedArrayPrototype","Object","getPrototypeOf","Uint8Array","prototype","maximumRetrySafeIndexedPropertyCount","markValueAsRetryUnsafe","value","isArrayIndexProperty","key","index","Number","isInteger","String","isSupportedArrayBufferViewPrototype","Buffer","isBuffer","DataView","markUnsupportedSpecialObjectAsRetryUnsafe","expectedPrototype","isAllowedOwnProperty","hasSupportedPrototype","hasUnsupportedOwnProperty","Reflect","ownKeys","some","descriptor","getOwnPropertyDescriptor","cloneRetrySafeValue","existingClone","get","Date","RegExp","source","flags","lastIndex","Headers","URL","URLSearchParams","isSharedArrayBuffer","ArrayBuffer","structuredClone","isView","buffer","indexedPropertyCount","length","clonedBuffer","createArrayBufferView","Array","isArray","entry","push","mirrorObjectIntegrity","target","Map","Set","add","hasUncloneableInternalState","create","defineProperty","SharedArrayBuffer","constructor","constructorSource","Function","toString","call","hasPrototypeMethods","includes","test","from","byteOffset","byteLength","TypedArray","isFrozen","freeze","isSealed","seal","isExtensible","preventExtensions","synchronizeRetrySafeValue","allowUnprovenTargetReuse","deleteMissingProperties","preservedMissingTargetKeys","synchronizedTargets","synchronizedTarget","originalValue","targetValue","undefined","synchronizedBuffer","is","synchronizedDate","setTime","getTime","synchronizedRegExp","synchronizedHeaders","keys","delete","append","synchronizedURL","href","synchronizedSearchParams","sourceBuffer","synchronizedBufferFromGraph","originalBuffer","synchronizedView","synchronizedArray","synchronizedEntry","setSynchronizedProperty","synchronizedMap","synchronizedEntries","synchronizedKey","clear","synchronizedSet","synchronizedObject","sourceRecord","targetRecord","hasOwn","has","configurable","synchronizedValue","currentValue","writable","retryRequestStateByRequest","shouldRetryOperationRequest","didOwnAttemptTransaction","didReachFinalCommit","error","hasCallerTransaction","commitOperationRetryRequestContext","req","retryRequestState","originalReq","context","responseHeaders","err","payload","logger","msg","createOperationRetryRequest","copyFileTempPath","cloneGraph","retryReq","data","file","files","headers","query","routeParams","searchParams","user","payloadDataLoader","payloadUploadSizes","transactionID","fallbackLocale","preparedReq","sourceTempFilePath","tempFilePath","extension","extname","attemptTempFilePath","join","dirname","basename","copyFile","COPYFILE_EXCL"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throwOnAccessDenied.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeValidate/throwOnAccessDenied.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,eAAO,MAAM,kCAAkC,8BAA8B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/fields/hooks/beforeValidate/throwOnAccessDenied.ts"],"sourcesContent":["/** @internal Makes a write fail instead of removing a changed field when access is denied. */\nexport const throwOnFieldAccessDeniedContextKey = '_throwOnFieldAccessDenied'\n"],"names":["throwOnFieldAccessDeniedContextKey"],"mappings":"AAAA,4FAA4F,GAC5F,OAAO,MAAMA,qCAAqC,4BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appendBranchToFileURL.d.ts","sourceRoot":"","sources":["../../src/uploads/appendBranchToFileURL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD,eAAO,MAAM,qBAAqB,kBAG/B;IACD,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,IAAI,GAAG,MAAM,CAAA;CACnB,KAAG,IAAI,GAAG,MA2BV,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { resolveBranch } from '../branching/resolveBranch.js';
|
|
2
|
-
import { MAIN_BRANCH } from '../branching/types.js';
|
|
3
|
-
export const appendBranchToFileURL = ({ req, url })=>{
|
|
4
|
-
const branch = resolveBranch(req);
|
|
5
|
-
if (!url || branch === MAIN_BRANCH) {
|
|
6
|
-
return url;
|
|
7
|
-
}
|
|
8
|
-
const serverURL = req.payload.config.serverURL;
|
|
9
|
-
const isRelativeURL = url.startsWith('/') && !url.startsWith('//');
|
|
10
|
-
try {
|
|
11
|
-
const parsedURL = new URL(url, serverURL || 'http://payload.local');
|
|
12
|
-
if (!isRelativeURL) {
|
|
13
|
-
if (!serverURL || parsedURL.origin !== new URL(serverURL).origin) {
|
|
14
|
-
return url;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
parsedURL.searchParams.set('branch', branch);
|
|
18
|
-
return isRelativeURL ? `${parsedURL.pathname}${parsedURL.search}${parsedURL.hash}` : parsedURL.toString();
|
|
19
|
-
} catch {
|
|
20
|
-
return url;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=appendBranchToFileURL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/uploads/appendBranchToFileURL.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { resolveBranch } from '../branching/resolveBranch.js'\nimport { MAIN_BRANCH } from '../branching/types.js'\n\nexport const appendBranchToFileURL = ({\n req,\n url,\n}: {\n req: PayloadRequest\n url: null | string\n}): null | string => {\n const branch = resolveBranch(req)\n\n if (!url || branch === MAIN_BRANCH) {\n return url\n }\n\n const serverURL = req.payload.config.serverURL\n const isRelativeURL = url.startsWith('/') && !url.startsWith('//')\n\n try {\n const parsedURL = new URL(url, serverURL || 'http://payload.local')\n\n if (!isRelativeURL) {\n if (!serverURL || parsedURL.origin !== new URL(serverURL).origin) {\n return url\n }\n }\n\n parsedURL.searchParams.set('branch', branch)\n\n return isRelativeURL\n ? `${parsedURL.pathname}${parsedURL.search}${parsedURL.hash}`\n : parsedURL.toString()\n } catch {\n return url\n }\n}\n"],"names":["resolveBranch","MAIN_BRANCH","appendBranchToFileURL","req","url","branch","serverURL","payload","config","isRelativeURL","startsWith","parsedURL","URL","origin","searchParams","set","pathname","search","hash","toString"],"mappings":"AAEA,SAASA,aAAa,QAAQ,gCAA+B;AAC7D,SAASC,WAAW,QAAQ,wBAAuB;AAEnD,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,GAAG,EACHC,GAAG,EAIJ;IACC,MAAMC,SAASL,cAAcG;IAE7B,IAAI,CAACC,OAAOC,WAAWJ,aAAa;QAClC,OAAOG;IACT;IAEA,MAAME,YAAYH,IAAII,OAAO,CAACC,MAAM,CAACF,SAAS;IAC9C,MAAMG,gBAAgBL,IAAIM,UAAU,CAAC,QAAQ,CAACN,IAAIM,UAAU,CAAC;IAE7D,IAAI;QACF,MAAMC,YAAY,IAAIC,IAAIR,KAAKE,aAAa;QAE5C,IAAI,CAACG,eAAe;YAClB,IAAI,CAACH,aAAaK,UAAUE,MAAM,KAAK,IAAID,IAAIN,WAAWO,MAAM,EAAE;gBAChE,OAAOT;YACT;QACF;QAEAO,UAAUG,YAAY,CAACC,GAAG,CAAC,UAAUV;QAErC,OAAOI,gBACH,GAAGE,UAAUK,QAAQ,GAAGL,UAAUM,MAAM,GAAGN,UAAUO,IAAI,EAAE,GAC3DP,UAAUQ,QAAQ;IACxB,EAAE,OAAM;QACN,OAAOf;IACT;AACF,EAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
2
|
-
import type { SanitizedConfig } from '../config/types.js';
|
|
3
|
-
import type { PayloadRequest } from '../types/index.js';
|
|
4
|
-
type Args = {
|
|
5
|
-
collectionConfig: SanitizedCollectionConfig;
|
|
6
|
-
config: SanitizedConfig;
|
|
7
|
-
deleteFromAdapter?: boolean;
|
|
8
|
-
req: PayloadRequest;
|
|
9
|
-
retainedDoc?: null | Record<string, unknown>;
|
|
10
|
-
sourceDoc: Record<string, unknown>;
|
|
11
|
-
};
|
|
12
|
-
/** Deletes upload files referenced by `sourceDoc` only when `retainedDoc` does not use them. */
|
|
13
|
-
export declare const deleteUploadFilesExclusiveToDocument: ({ collectionConfig, config, deleteFromAdapter, req, retainedDoc, sourceDoc, }: Args) => Promise<void>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=deleteUploadFilesExclusiveToDocument.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteUploadFilesExclusiveToDocument.d.ts","sourceRoot":"","sources":["../../src/uploads/deleteUploadFilesExclusiveToDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,oCAAoC,kFAO9C,IAAI,KAAG,OAAO,CAAC,IAAI,CAqBrB,CAAA"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { deleteAssociatedFiles } from './deleteAssociatedFiles.js';
|
|
2
|
-
/** Deletes upload files referenced by `sourceDoc` only when `retainedDoc` does not use them. */ export const deleteUploadFilesExclusiveToDocument = async ({ collectionConfig, config, deleteFromAdapter = true, req, retainedDoc, sourceDoc })=>{
|
|
3
|
-
if (!collectionConfig.upload) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
const retainedFilenames = getUploadFilenames(retainedDoc);
|
|
7
|
-
const doc = filterDocumentFiles({
|
|
8
|
-
retainedFilenames,
|
|
9
|
-
sourceDoc
|
|
10
|
-
});
|
|
11
|
-
if (getUploadFilenames(doc).size > 0) {
|
|
12
|
-
await deleteAssociatedFiles({
|
|
13
|
-
collectionConfig,
|
|
14
|
-
config,
|
|
15
|
-
doc,
|
|
16
|
-
overrideDelete: true,
|
|
17
|
-
req
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
if (deleteFromAdapter) {
|
|
21
|
-
await collectionConfig.upload.deleteFiles?.({
|
|
22
|
-
req,
|
|
23
|
-
retainedDoc,
|
|
24
|
-
sourceDoc
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const filterDocumentFiles = ({ retainedFilenames, sourceDoc })=>{
|
|
29
|
-
const sourceFilename = typeof sourceDoc.filename === 'string' && !retainedFilenames.has(sourceDoc.filename) ? sourceDoc.filename : undefined;
|
|
30
|
-
const sourceVariants = isRecord(sourceDoc.variants) ? sourceDoc.variants : {};
|
|
31
|
-
const variants = Object.fromEntries(Object.entries(sourceVariants).filter(([, variant])=>{
|
|
32
|
-
if (!isRecord(variant) || typeof variant.filename !== 'string') {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
return !retainedFilenames.has(variant.filename);
|
|
36
|
-
}));
|
|
37
|
-
return {
|
|
38
|
-
...sourceDoc,
|
|
39
|
-
filename: sourceFilename,
|
|
40
|
-
variants
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
const getUploadFilenames = (doc)=>{
|
|
44
|
-
const filenames = new Set();
|
|
45
|
-
if (!doc) {
|
|
46
|
-
return filenames;
|
|
47
|
-
}
|
|
48
|
-
if (typeof doc.filename === 'string') {
|
|
49
|
-
filenames.add(doc.filename);
|
|
50
|
-
}
|
|
51
|
-
if (isRecord(doc.variants)) {
|
|
52
|
-
for (const variant of Object.values(doc.variants)){
|
|
53
|
-
if (isRecord(variant) && typeof variant.filename === 'string') {
|
|
54
|
-
filenames.add(variant.filename);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return filenames;
|
|
59
|
-
};
|
|
60
|
-
const isRecord = (value)=>Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=deleteUploadFilesExclusiveToDocument.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/uploads/deleteUploadFilesExclusiveToDocument.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { deleteAssociatedFiles } from './deleteAssociatedFiles.js'\n\ntype Args = {\n collectionConfig: SanitizedCollectionConfig\n config: SanitizedConfig\n deleteFromAdapter?: boolean\n req: PayloadRequest\n retainedDoc?: null | Record<string, unknown>\n sourceDoc: Record<string, unknown>\n}\n\n/** Deletes upload files referenced by `sourceDoc` only when `retainedDoc` does not use them. */\nexport const deleteUploadFilesExclusiveToDocument = async ({\n collectionConfig,\n config,\n deleteFromAdapter = true,\n req,\n retainedDoc,\n sourceDoc,\n}: Args): Promise<void> => {\n if (!collectionConfig.upload) {\n return\n }\n\n const retainedFilenames = getUploadFilenames(retainedDoc)\n const doc = filterDocumentFiles({ retainedFilenames, sourceDoc })\n\n if (getUploadFilenames(doc).size > 0) {\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n }\n\n if (deleteFromAdapter) {\n await collectionConfig.upload.deleteFiles?.({ req, retainedDoc, sourceDoc })\n }\n}\n\nconst filterDocumentFiles = ({\n retainedFilenames,\n sourceDoc,\n}: {\n retainedFilenames: Set<string>\n sourceDoc: Record<string, unknown>\n}): Record<string, unknown> => {\n const sourceFilename =\n typeof sourceDoc.filename === 'string' && !retainedFilenames.has(sourceDoc.filename)\n ? sourceDoc.filename\n : undefined\n const sourceVariants = isRecord(sourceDoc.variants) ? sourceDoc.variants : {}\n const variants = Object.fromEntries(\n Object.entries(sourceVariants).filter(([, variant]) => {\n if (!isRecord(variant) || typeof variant.filename !== 'string') {\n return false\n }\n\n return !retainedFilenames.has(variant.filename)\n }),\n )\n\n return {\n ...sourceDoc,\n filename: sourceFilename,\n variants,\n }\n}\n\nconst getUploadFilenames = (doc?: null | Record<string, unknown>): Set<string> => {\n const filenames = new Set<string>()\n\n if (!doc) {\n return filenames\n }\n\n if (typeof doc.filename === 'string') {\n filenames.add(doc.filename)\n }\n\n if (isRecord(doc.variants)) {\n for (const variant of Object.values(doc.variants)) {\n if (isRecord(variant) && typeof variant.filename === 'string') {\n filenames.add(variant.filename)\n }\n }\n }\n\n return filenames\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n Boolean(value) && typeof value === 'object' && !Array.isArray(value)\n"],"names":["deleteAssociatedFiles","deleteUploadFilesExclusiveToDocument","collectionConfig","config","deleteFromAdapter","req","retainedDoc","sourceDoc","upload","retainedFilenames","getUploadFilenames","doc","filterDocumentFiles","size","overrideDelete","deleteFiles","sourceFilename","filename","has","undefined","sourceVariants","isRecord","variants","Object","fromEntries","entries","filter","variant","filenames","Set","add","values","value","Boolean","Array","isArray"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,6BAA4B;AAWlE,8FAA8F,GAC9F,OAAO,MAAMC,uCAAuC,OAAO,EACzDC,gBAAgB,EAChBC,MAAM,EACNC,oBAAoB,IAAI,EACxBC,GAAG,EACHC,WAAW,EACXC,SAAS,EACJ;IACL,IAAI,CAACL,iBAAiBM,MAAM,EAAE;QAC5B;IACF;IAEA,MAAMC,oBAAoBC,mBAAmBJ;IAC7C,MAAMK,MAAMC,oBAAoB;QAAEH;QAAmBF;IAAU;IAE/D,IAAIG,mBAAmBC,KAAKE,IAAI,GAAG,GAAG;QACpC,MAAMb,sBAAsB;YAC1BE;YACAC;YACAQ;YACAG,gBAAgB;YAChBT;QACF;IACF;IAEA,IAAID,mBAAmB;QACrB,MAAMF,iBAAiBM,MAAM,CAACO,WAAW,GAAG;YAAEV;YAAKC;YAAaC;QAAU;IAC5E;AACF,EAAC;AAED,MAAMK,sBAAsB,CAAC,EAC3BH,iBAAiB,EACjBF,SAAS,EAIV;IACC,MAAMS,iBACJ,OAAOT,UAAUU,QAAQ,KAAK,YAAY,CAACR,kBAAkBS,GAAG,CAACX,UAAUU,QAAQ,IAC/EV,UAAUU,QAAQ,GAClBE;IACN,MAAMC,iBAAiBC,SAASd,UAAUe,QAAQ,IAAIf,UAAUe,QAAQ,GAAG,CAAC;IAC5E,MAAMA,WAAWC,OAAOC,WAAW,CACjCD,OAAOE,OAAO,CAACL,gBAAgBM,MAAM,CAAC,CAAC,GAAGC,QAAQ;QAChD,IAAI,CAACN,SAASM,YAAY,OAAOA,QAAQV,QAAQ,KAAK,UAAU;YAC9D,OAAO;QACT;QAEA,OAAO,CAACR,kBAAkBS,GAAG,CAACS,QAAQV,QAAQ;IAChD;IAGF,OAAO;QACL,GAAGV,SAAS;QACZU,UAAUD;QACVM;IACF;AACF;AAEA,MAAMZ,qBAAqB,CAACC;IAC1B,MAAMiB,YAAY,IAAIC;IAEtB,IAAI,CAAClB,KAAK;QACR,OAAOiB;IACT;IAEA,IAAI,OAAOjB,IAAIM,QAAQ,KAAK,UAAU;QACpCW,UAAUE,GAAG,CAACnB,IAAIM,QAAQ;IAC5B;IAEA,IAAII,SAASV,IAAIW,QAAQ,GAAG;QAC1B,KAAK,MAAMK,WAAWJ,OAAOQ,MAAM,CAACpB,IAAIW,QAAQ,EAAG;YACjD,IAAID,SAASM,YAAY,OAAOA,QAAQV,QAAQ,KAAK,UAAU;gBAC7DW,UAAUE,GAAG,CAACH,QAAQV,QAAQ;YAChC;QACF;IACF;IAEA,OAAOW;AACT;AAEA,MAAMP,WAAW,CAACW,QAChBC,QAAQD,UAAU,OAAOA,UAAU,YAAY,CAACE,MAAMC,OAAO,CAACH"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { FileHandle } from 'node:fs/promises';
|
|
2
|
-
export type FileIdentity = {
|
|
3
|
-
changeTimeNanoseconds: bigint;
|
|
4
|
-
device: bigint;
|
|
5
|
-
inode: bigint;
|
|
6
|
-
isRegularFile: boolean;
|
|
7
|
-
modificationTimeNanoseconds: bigint;
|
|
8
|
-
size: bigint;
|
|
9
|
-
};
|
|
10
|
-
export declare const getFileIdentity: ({ filePath, }: {
|
|
11
|
-
filePath: string;
|
|
12
|
-
}) => Promise<FileIdentity | undefined>;
|
|
13
|
-
export declare const getFileHandleIdentity: ({ fileHandle, }: {
|
|
14
|
-
fileHandle: FileHandle;
|
|
15
|
-
}) => Promise<FileIdentity>;
|
|
16
|
-
export declare const hasFileIdentity: ({ actual, expected, }: {
|
|
17
|
-
actual: FileIdentity | undefined;
|
|
18
|
-
expected: FileIdentity;
|
|
19
|
-
}) => boolean;
|
|
20
|
-
export declare const hasRenameStableFileIdentity: ({ actual, expected, }: {
|
|
21
|
-
actual: FileIdentity | undefined;
|
|
22
|
-
expected: FileIdentity;
|
|
23
|
-
}) => boolean;
|
|
24
|
-
//# sourceMappingURL=fileIdentity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileIdentity.d.ts","sourceRoot":"","sources":["../../src/uploads/fileIdentity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,MAAM,MAAM,YAAY,GAAG;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,2BAA2B,EAAE,MAAM,CAAA;IACnC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,kBAEzB;IACD,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAYnC,CAAA;AAED,eAAO,MAAM,qBAAqB,oBAE/B;IACD,UAAU,EAAE,UAAU,CAAA;CACvB,KAAG,OAAO,CAAC,YAAY,CAIvB,CAAA;AAED,eAAO,MAAM,eAAe,0BAGzB;IACD,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,YAAY,CAAA;CACvB,KAAG,OAO2B,CAAA;AAE/B,eAAO,MAAM,2BAA2B,0BAGrC;IACD,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,YAAY,CAAA;CACvB,KAAG,OAM2B,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs/promises';
|
|
2
|
-
export const getFileIdentity = async ({ filePath })=>{
|
|
3
|
-
try {
|
|
4
|
-
const stats = await fs.lstat(filePath, {
|
|
5
|
-
bigint: true
|
|
6
|
-
});
|
|
7
|
-
return createFileIdentity({
|
|
8
|
-
stats
|
|
9
|
-
});
|
|
10
|
-
} catch (error) {
|
|
11
|
-
if (error.code === 'ENOENT') {
|
|
12
|
-
return undefined;
|
|
13
|
-
}
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
export const getFileHandleIdentity = async ({ fileHandle })=>{
|
|
18
|
-
const stats = await fileHandle.stat({
|
|
19
|
-
bigint: true
|
|
20
|
-
});
|
|
21
|
-
return createFileIdentity({
|
|
22
|
-
stats
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
export const hasFileIdentity = ({ actual, expected })=>actual !== undefined && actual.changeTimeNanoseconds === expected.changeTimeNanoseconds && actual.device === expected.device && actual.inode === expected.inode && actual.isRegularFile === expected.isRegularFile && actual.modificationTimeNanoseconds === expected.modificationTimeNanoseconds && actual.size === expected.size;
|
|
26
|
-
export const hasRenameStableFileIdentity = ({ actual, expected })=>actual !== undefined && actual.device === expected.device && actual.inode === expected.inode && actual.isRegularFile === expected.isRegularFile && actual.modificationTimeNanoseconds === expected.modificationTimeNanoseconds && actual.size === expected.size;
|
|
27
|
-
const createFileIdentity = ({ stats })=>({
|
|
28
|
-
changeTimeNanoseconds: stats.ctimeNs,
|
|
29
|
-
device: stats.dev,
|
|
30
|
-
inode: stats.ino,
|
|
31
|
-
isRegularFile: stats.isFile(),
|
|
32
|
-
modificationTimeNanoseconds: stats.mtimeNs,
|
|
33
|
-
size: stats.size
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=fileIdentity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/uploads/fileIdentity.ts"],"sourcesContent":["import type { BigIntStats } from 'node:fs'\nimport type { FileHandle } from 'node:fs/promises'\n\nimport fs from 'node:fs/promises'\n\nexport type FileIdentity = {\n changeTimeNanoseconds: bigint\n device: bigint\n inode: bigint\n isRegularFile: boolean\n modificationTimeNanoseconds: bigint\n size: bigint\n}\n\nexport const getFileIdentity = async ({\n filePath,\n}: {\n filePath: string\n}): Promise<FileIdentity | undefined> => {\n try {\n const stats = await fs.lstat(filePath, { bigint: true })\n\n return createFileIdentity({ stats })\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') {\n return undefined\n }\n\n throw error\n }\n}\n\nexport const getFileHandleIdentity = async ({\n fileHandle,\n}: {\n fileHandle: FileHandle\n}): Promise<FileIdentity> => {\n const stats = await fileHandle.stat({ bigint: true })\n\n return createFileIdentity({ stats })\n}\n\nexport const hasFileIdentity = ({\n actual,\n expected,\n}: {\n actual: FileIdentity | undefined\n expected: FileIdentity\n}): boolean =>\n actual !== undefined &&\n actual.changeTimeNanoseconds === expected.changeTimeNanoseconds &&\n actual.device === expected.device &&\n actual.inode === expected.inode &&\n actual.isRegularFile === expected.isRegularFile &&\n actual.modificationTimeNanoseconds === expected.modificationTimeNanoseconds &&\n actual.size === expected.size\n\nexport const hasRenameStableFileIdentity = ({\n actual,\n expected,\n}: {\n actual: FileIdentity | undefined\n expected: FileIdentity\n}): boolean =>\n actual !== undefined &&\n actual.device === expected.device &&\n actual.inode === expected.inode &&\n actual.isRegularFile === expected.isRegularFile &&\n actual.modificationTimeNanoseconds === expected.modificationTimeNanoseconds &&\n actual.size === expected.size\n\nconst createFileIdentity = ({ stats }: { stats: BigIntStats }): FileIdentity => ({\n changeTimeNanoseconds: stats.ctimeNs,\n device: stats.dev,\n inode: stats.ino,\n isRegularFile: stats.isFile(),\n modificationTimeNanoseconds: stats.mtimeNs,\n size: stats.size,\n})\n"],"names":["fs","getFileIdentity","filePath","stats","lstat","bigint","createFileIdentity","error","code","undefined","getFileHandleIdentity","fileHandle","stat","hasFileIdentity","actual","expected","changeTimeNanoseconds","device","inode","isRegularFile","modificationTimeNanoseconds","size","hasRenameStableFileIdentity","ctimeNs","dev","ino","isFile","mtimeNs"],"mappings":"AAGA,OAAOA,QAAQ,mBAAkB;AAWjC,OAAO,MAAMC,kBAAkB,OAAO,EACpCC,QAAQ,EAGT;IACC,IAAI;QACF,MAAMC,QAAQ,MAAMH,GAAGI,KAAK,CAACF,UAAU;YAAEG,QAAQ;QAAK;QAEtD,OAAOC,mBAAmB;YAAEH;QAAM;IACpC,EAAE,OAAOI,OAAO;QACd,IAAI,AAACA,MAAgCC,IAAI,KAAK,UAAU;YACtD,OAAOC;QACT;QAEA,MAAMF;IACR;AACF,EAAC;AAED,OAAO,MAAMG,wBAAwB,OAAO,EAC1CC,UAAU,EAGX;IACC,MAAMR,QAAQ,MAAMQ,WAAWC,IAAI,CAAC;QAAEP,QAAQ;IAAK;IAEnD,OAAOC,mBAAmB;QAAEH;IAAM;AACpC,EAAC;AAED,OAAO,MAAMU,kBAAkB,CAAC,EAC9BC,MAAM,EACNC,QAAQ,EAIT,GACCD,WAAWL,aACXK,OAAOE,qBAAqB,KAAKD,SAASC,qBAAqB,IAC/DF,OAAOG,MAAM,KAAKF,SAASE,MAAM,IACjCH,OAAOI,KAAK,KAAKH,SAASG,KAAK,IAC/BJ,OAAOK,aAAa,KAAKJ,SAASI,aAAa,IAC/CL,OAAOM,2BAA2B,KAAKL,SAASK,2BAA2B,IAC3EN,OAAOO,IAAI,KAAKN,SAASM,IAAI,CAAA;AAE/B,OAAO,MAAMC,8BAA8B,CAAC,EAC1CR,MAAM,EACNC,QAAQ,EAIT,GACCD,WAAWL,aACXK,OAAOG,MAAM,KAAKF,SAASE,MAAM,IACjCH,OAAOI,KAAK,KAAKH,SAASG,KAAK,IAC/BJ,OAAOK,aAAa,KAAKJ,SAASI,aAAa,IAC/CL,OAAOM,2BAA2B,KAAKL,SAASK,2BAA2B,IAC3EN,OAAOO,IAAI,KAAKN,SAASM,IAAI,CAAA;AAE/B,MAAMf,qBAAqB,CAAC,EAAEH,KAAK,EAA0B,GAAoB,CAAA;QAC/Ea,uBAAuBb,MAAMoB,OAAO;QACpCN,QAAQd,MAAMqB,GAAG;QACjBN,OAAOf,MAAMsB,GAAG;QAChBN,eAAehB,MAAMuB,MAAM;QAC3BN,6BAA6BjB,MAAMwB,OAAO;QAC1CN,MAAMlB,MAAMkB,IAAI;IAClB,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { FileIdentity } from './fileIdentity.js';
|
|
2
|
-
export type QuarantinedFile = {
|
|
3
|
-
directoryPath: string;
|
|
4
|
-
fileIdentity: FileIdentity;
|
|
5
|
-
filePath: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const quarantineFile: ({ filePath, }: {
|
|
8
|
-
filePath: string;
|
|
9
|
-
}) => Promise<QuarantinedFile | undefined>;
|
|
10
|
-
export declare const discardQuarantinedFile: ({ quarantinedFile, }: {
|
|
11
|
-
quarantinedFile: QuarantinedFile;
|
|
12
|
-
}) => Promise<void>;
|
|
13
|
-
export declare const restoreQuarantinedFile: ({ quarantinedFile, targetFilePath, }: {
|
|
14
|
-
quarantinedFile: QuarantinedFile;
|
|
15
|
-
targetFilePath: string;
|
|
16
|
-
}) => Promise<void>;
|
|
17
|
-
//# sourceMappingURL=fileQuarantine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileQuarantine.d.ts","sourceRoot":"","sources":["../../src/uploads/fileQuarantine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,cAAc,kBAExB;IACD,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAgCtC,CAAA;AAED,eAAO,MAAM,sBAAsB,yBAEhC;IACD,eAAe,EAAE,eAAe,CAAA;CACjC,KAAG,OAAO,CAAC,IAAI,CAEf,CAAA;AAED,eAAO,MAAM,sBAAsB,yCAGhC;IACD,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;CACvB,KAAG,OAAO,CAAC,IAAI,CAMf,CAAA"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import fs from 'node:fs/promises';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { getFileIdentity } from './fileIdentity.js';
|
|
5
|
-
import { linkFileWithoutOverwrite } from './linkFileWithoutOverwrite.js';
|
|
6
|
-
export const quarantineFile = async ({ filePath })=>{
|
|
7
|
-
const directoryPath = path.join(path.dirname(filePath), `.payload-file-quarantine-${randomUUID()}`);
|
|
8
|
-
await fs.mkdir(directoryPath, {
|
|
9
|
-
mode: 0o700
|
|
10
|
-
});
|
|
11
|
-
const quarantinedFilePath = path.join(directoryPath, 'file');
|
|
12
|
-
try {
|
|
13
|
-
await fs.rename(filePath, quarantinedFilePath);
|
|
14
|
-
} catch (error) {
|
|
15
|
-
await fs.rm(directoryPath, {
|
|
16
|
-
force: true,
|
|
17
|
-
recursive: true
|
|
18
|
-
}).catch(()=>undefined);
|
|
19
|
-
if (error.code === 'ENOENT') {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
const fileIdentity = await getFileIdentity({
|
|
25
|
-
filePath: quarantinedFilePath
|
|
26
|
-
});
|
|
27
|
-
if (!fileIdentity) {
|
|
28
|
-
throw new Error('The quarantined file was not present after it was moved.');
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
directoryPath,
|
|
32
|
-
fileIdentity,
|
|
33
|
-
filePath: quarantinedFilePath
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export const discardQuarantinedFile = async ({ quarantinedFile })=>{
|
|
37
|
-
await fs.rm(quarantinedFile.directoryPath, {
|
|
38
|
-
force: true,
|
|
39
|
-
recursive: true
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
export const restoreQuarantinedFile = async ({ quarantinedFile, targetFilePath })=>{
|
|
43
|
-
await linkFileWithoutOverwrite({
|
|
44
|
-
sourceFilePath: quarantinedFile.filePath,
|
|
45
|
-
targetFilePath
|
|
46
|
-
});
|
|
47
|
-
await discardQuarantinedFile({
|
|
48
|
-
quarantinedFile
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=fileQuarantine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/uploads/fileQuarantine.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto'\nimport fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport type { FileIdentity } from './fileIdentity.js'\n\nimport { getFileIdentity } from './fileIdentity.js'\nimport { linkFileWithoutOverwrite } from './linkFileWithoutOverwrite.js'\n\nexport type QuarantinedFile = {\n directoryPath: string\n fileIdentity: FileIdentity\n filePath: string\n}\n\nexport const quarantineFile = async ({\n filePath,\n}: {\n filePath: string\n}): Promise<QuarantinedFile | undefined> => {\n const directoryPath = path.join(\n path.dirname(filePath),\n `.payload-file-quarantine-${randomUUID()}`,\n )\n\n await fs.mkdir(directoryPath, { mode: 0o700 })\n const quarantinedFilePath = path.join(directoryPath, 'file')\n\n try {\n await fs.rename(filePath, quarantinedFilePath)\n } catch (error) {\n await fs.rm(directoryPath, { force: true, recursive: true }).catch(() => undefined)\n\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') {\n return undefined\n }\n\n throw error\n }\n\n const fileIdentity = await getFileIdentity({ filePath: quarantinedFilePath })\n\n if (!fileIdentity) {\n throw new Error('The quarantined file was not present after it was moved.')\n }\n\n return {\n directoryPath,\n fileIdentity,\n filePath: quarantinedFilePath,\n }\n}\n\nexport const discardQuarantinedFile = async ({\n quarantinedFile,\n}: {\n quarantinedFile: QuarantinedFile\n}): Promise<void> => {\n await fs.rm(quarantinedFile.directoryPath, { force: true, recursive: true })\n}\n\nexport const restoreQuarantinedFile = async ({\n quarantinedFile,\n targetFilePath,\n}: {\n quarantinedFile: QuarantinedFile\n targetFilePath: string\n}): Promise<void> => {\n await linkFileWithoutOverwrite({\n sourceFilePath: quarantinedFile.filePath,\n targetFilePath,\n })\n await discardQuarantinedFile({ quarantinedFile })\n}\n"],"names":["randomUUID","fs","path","getFileIdentity","linkFileWithoutOverwrite","quarantineFile","filePath","directoryPath","join","dirname","mkdir","mode","quarantinedFilePath","rename","error","rm","force","recursive","catch","undefined","code","fileIdentity","Error","discardQuarantinedFile","quarantinedFile","restoreQuarantinedFile","targetFilePath","sourceFilePath"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAa;AACxC,OAAOC,QAAQ,mBAAkB;AACjC,OAAOC,UAAU,YAAW;AAI5B,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,wBAAwB,QAAQ,gCAA+B;AAQxE,OAAO,MAAMC,iBAAiB,OAAO,EACnCC,QAAQ,EAGT;IACC,MAAMC,gBAAgBL,KAAKM,IAAI,CAC7BN,KAAKO,OAAO,CAACH,WACb,CAAC,yBAAyB,EAAEN,cAAc;IAG5C,MAAMC,GAAGS,KAAK,CAACH,eAAe;QAAEI,MAAM;IAAM;IAC5C,MAAMC,sBAAsBV,KAAKM,IAAI,CAACD,eAAe;IAErD,IAAI;QACF,MAAMN,GAAGY,MAAM,CAACP,UAAUM;IAC5B,EAAE,OAAOE,OAAO;QACd,MAAMb,GAAGc,EAAE,CAACR,eAAe;YAAES,OAAO;YAAMC,WAAW;QAAK,GAAGC,KAAK,CAAC,IAAMC;QAEzE,IAAI,AAACL,MAAgCM,IAAI,KAAK,UAAU;YACtD,OAAOD;QACT;QAEA,MAAML;IACR;IAEA,MAAMO,eAAe,MAAMlB,gBAAgB;QAAEG,UAAUM;IAAoB;IAE3E,IAAI,CAACS,cAAc;QACjB,MAAM,IAAIC,MAAM;IAClB;IAEA,OAAO;QACLf;QACAc;QACAf,UAAUM;IACZ;AACF,EAAC;AAED,OAAO,MAAMW,yBAAyB,OAAO,EAC3CC,eAAe,EAGhB;IACC,MAAMvB,GAAGc,EAAE,CAACS,gBAAgBjB,aAAa,EAAE;QAAES,OAAO;QAAMC,WAAW;IAAK;AAC5E,EAAC;AAED,OAAO,MAAMQ,yBAAyB,OAAO,EAC3CD,eAAe,EACfE,cAAc,EAIf;IACC,MAAMtB,yBAAyB;QAC7BuB,gBAAgBH,gBAAgBlB,QAAQ;QACxCoB;IACF;IACA,MAAMH,uBAAuB;QAAEC;IAAgB;AACjD,EAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Atomically installs a same-filesystem file only when the target path is absent.
|
|
3
|
-
*
|
|
4
|
-
* Hard links provide this guarantee on supported Windows and POSIX filesystems. If the
|
|
5
|
-
* filesystem does not support them, the caller keeps its private backup or quarantine.
|
|
6
|
-
* A copy fallback is intentionally unsafe here: a failed copy can leave a partial target
|
|
7
|
-
* that cannot then be removed without risking a concurrent replacement.
|
|
8
|
-
*/
|
|
9
|
-
export declare const linkFileWithoutOverwrite: ({ sourceFilePath, targetFilePath, }: {
|
|
10
|
-
sourceFilePath: string;
|
|
11
|
-
targetFilePath: string;
|
|
12
|
-
}) => Promise<void>;
|
|
13
|
-
//# sourceMappingURL=linkFileWithoutOverwrite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linkFileWithoutOverwrite.d.ts","sourceRoot":"","sources":["../../src/uploads/linkFileWithoutOverwrite.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,wCAGlC;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB,KAAG,OAAO,CAAC,IAAI,CAEf,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs/promises';
|
|
2
|
-
/**
|
|
3
|
-
* Atomically installs a same-filesystem file only when the target path is absent.
|
|
4
|
-
*
|
|
5
|
-
* Hard links provide this guarantee on supported Windows and POSIX filesystems. If the
|
|
6
|
-
* filesystem does not support them, the caller keeps its private backup or quarantine.
|
|
7
|
-
* A copy fallback is intentionally unsafe here: a failed copy can leave a partial target
|
|
8
|
-
* that cannot then be removed without risking a concurrent replacement.
|
|
9
|
-
*/ export const linkFileWithoutOverwrite = async ({ sourceFilePath, targetFilePath })=>{
|
|
10
|
-
await fs.link(sourceFilePath, targetFilePath);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=linkFileWithoutOverwrite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/uploads/linkFileWithoutOverwrite.ts"],"sourcesContent":["import fs from 'node:fs/promises'\n\n/**\n * Atomically installs a same-filesystem file only when the target path is absent.\n *\n * Hard links provide this guarantee on supported Windows and POSIX filesystems. If the\n * filesystem does not support them, the caller keeps its private backup or quarantine.\n * A copy fallback is intentionally unsafe here: a failed copy can leave a partial target\n * that cannot then be removed without risking a concurrent replacement.\n */\nexport const linkFileWithoutOverwrite = async ({\n sourceFilePath,\n targetFilePath,\n}: {\n sourceFilePath: string\n targetFilePath: string\n}): Promise<void> => {\n await fs.link(sourceFilePath, targetFilePath)\n}\n"],"names":["fs","linkFileWithoutOverwrite","sourceFilePath","targetFilePath","link"],"mappings":"AAAA,OAAOA,QAAQ,mBAAkB;AAEjC;;;;;;;CAOC,GACD,OAAO,MAAMC,2BAA2B,OAAO,EAC7CC,cAAc,EACdC,cAAc,EAIf;IACC,MAAMH,GAAGI,IAAI,CAACF,gBAAgBC;AAChC,EAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { FileIdentity } from './fileIdentity.js';
|
|
2
|
-
import type { FileToSave } from './types.js';
|
|
3
|
-
type UploadFileRollback = {
|
|
4
|
-
backupFileIdentity?: FileIdentity;
|
|
5
|
-
backupFilePath?: string;
|
|
6
|
-
directoryPath: string;
|
|
7
|
-
expectedDestinationFileIdentity?: FileIdentity;
|
|
8
|
-
filePath: string;
|
|
9
|
-
publicationState: 'failed' | 'indeterminate' | 'not-published' | 'owned';
|
|
10
|
-
publishQueue: Promise<void>;
|
|
11
|
-
stagedFilePaths: Set<string>;
|
|
12
|
-
uploadedFileIdentity?: FileIdentity;
|
|
13
|
-
};
|
|
14
|
-
export type UploadFileRollbacks = Map<string, UploadFileRollback>;
|
|
15
|
-
export declare const stageUploadFileRollback: ({ file, rollbacks, }: {
|
|
16
|
-
file: FileToSave;
|
|
17
|
-
rollbacks: UploadFileRollbacks;
|
|
18
|
-
}) => Promise<FileToSave>;
|
|
19
|
-
export declare const publishUploadedFile: ({ file, rollbacks, stagedFile, }: {
|
|
20
|
-
file: FileToSave;
|
|
21
|
-
rollbacks: UploadFileRollbacks;
|
|
22
|
-
stagedFile: FileToSave;
|
|
23
|
-
}) => Promise<void>;
|
|
24
|
-
export declare const cleanupUploadFileRollbacks: ({ rollbacks, }: {
|
|
25
|
-
rollbacks: UploadFileRollbacks;
|
|
26
|
-
}) => Promise<void>;
|
|
27
|
-
export declare const rollbackUploadFiles: ({ rollbacks, }: {
|
|
28
|
-
rollbacks: UploadFileRollbacks;
|
|
29
|
-
}) => Promise<void>;
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=uploadFileRollback.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFileRollback.d.ts","sourceRoot":"","sources":["../../src/uploads/uploadFileRollback.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAU5C,KAAK,kBAAkB,GAAG;IACxB,kBAAkB,CAAC,EAAE,YAAY,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,+BAA+B,CAAC,EAAE,YAAY,CAAA;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,QAAQ,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAAA;IACxE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,oBAAoB,CAAC,EAAE,YAAY,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAEjE,eAAO,MAAM,uBAAuB,yBAGjC;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,mBAAmB,CAAA;CAC/B,KAAG,OAAO,CAAC,UAAU,CAarB,CAAA;AAED,eAAO,MAAM,mBAAmB,qCAI7B;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;CACvB,KAAG,OAAO,CAAC,IAAI,CAwEf,CAAA;AAED,eAAO,MAAM,0BAA0B,mBAEpC;IACD,SAAS,EAAE,mBAAmB,CAAA;CAC/B,KAAG,OAAO,CAAC,IAAI,CAaf,CAAA;AAED,eAAO,MAAM,mBAAmB,mBAE7B;IACD,SAAS,EAAE,mBAAmB,CAAA;CAC/B,KAAG,OAAO,CAAC,IAAI,CAcf,CAAA"}
|