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
|
@@ -43,7 +43,7 @@ export type RouterAdapterRouter = {
|
|
|
43
43
|
*/
|
|
44
44
|
replace: (path: string, options?: {
|
|
45
45
|
scroll?: boolean;
|
|
46
|
-
}) => void;
|
|
46
|
+
}) => Promise<void> | void;
|
|
47
47
|
/**
|
|
48
48
|
* Use this property to standardize behaviors across different router implementations.
|
|
49
49
|
* Set it up to sync client state to the URL without triggering a second server load.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/admin/adapters/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAAA;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5D;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/admin/adapters/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAAA;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5D;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/E;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/admin/adapters/router.ts"],"sourcesContent":["import type React from 'react'\n\n/**\n * Client-side router adapter to abstract away framework-specific routing implementations.\n * This way plugins and server components can use server-only APIs without directly importing any framework-specific modules.\n *\n * @example\n * ```tsx\n * // Next.js router adapter (simplified):\n * import { useRouter as useNextRouter, usePathname as useNextPathname } from 'next/navigation'\n *\n * const NextRouterAdapter: RouterAdapterComponent = ({ children }) => {\n * const router = useNextRouter()\n * const pathname = useNextPathname()\n *\n * return (\n * <RouterAdapterContext value={{ router, pathname, ... }}>\n * {children}\n * </RouterAdapterContext>\n * )\n * }\n * ```\n */\nexport type RouterAdapterComponent = React.ComponentType<{ children: React.ReactNode }>\n\nexport type RouterAdapterRouter = {\n /**\n * Navigate back to the previous page in the history stack.\n */\n back: () => void\n /**\n * Navigate to a new path.\n */\n push: (path: string, options?: { scroll?: boolean }) => void\n /**\n * Refresh the current route.\n */\n refresh: () => void\n /**\n * Replace the current path with a new one.\n */\n replace: (path: string, options?: { scroll?: boolean }) => void\n /**\n * Use this property to standardize behaviors across different router implementations.\n * Set it up to sync client state to the URL without triggering a second server load.\n *\n * In Next.js, calling `window.history.replaceState` directly is sufficient, as Next.js does not observe history mutations.\n * In TanStack Router, however, `history.replaceState` is monkeypatched to notify the router of changes.\n */\n replaceState?: (url: string) => void\n}\n\nexport type LinkAdapterProps = {\n children?: React.ReactNode\n href: string\n prefetch?: boolean\n ref?: React.Ref<HTMLAnchorElement>\n replace?: boolean\n scroll?: boolean\n} & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>\n"],"names":[],"mappings":"AAoDA,WAO+D"}
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/adapters/router.ts"],"sourcesContent":["import type React from 'react'\n\n/**\n * Client-side router adapter to abstract away framework-specific routing implementations.\n * This way plugins and server components can use server-only APIs without directly importing any framework-specific modules.\n *\n * @example\n * ```tsx\n * // Next.js router adapter (simplified):\n * import { useRouter as useNextRouter, usePathname as useNextPathname } from 'next/navigation'\n *\n * const NextRouterAdapter: RouterAdapterComponent = ({ children }) => {\n * const router = useNextRouter()\n * const pathname = useNextPathname()\n *\n * return (\n * <RouterAdapterContext value={{ router, pathname, ... }}>\n * {children}\n * </RouterAdapterContext>\n * )\n * }\n * ```\n */\nexport type RouterAdapterComponent = React.ComponentType<{ children: React.ReactNode }>\n\nexport type RouterAdapterRouter = {\n /**\n * Navigate back to the previous page in the history stack.\n */\n back: () => void\n /**\n * Navigate to a new path.\n */\n push: (path: string, options?: { scroll?: boolean }) => void\n /**\n * Refresh the current route.\n */\n refresh: () => void\n /**\n * Replace the current path with a new one.\n */\n replace: (path: string, options?: { scroll?: boolean }) => Promise<void> | void\n /**\n * Use this property to standardize behaviors across different router implementations.\n * Set it up to sync client state to the URL without triggering a second server load.\n *\n * In Next.js, calling `window.history.replaceState` directly is sufficient, as Next.js does not observe history mutations.\n * In TanStack Router, however, `history.replaceState` is monkeypatched to notify the router of changes.\n */\n replaceState?: (url: string) => void\n}\n\nexport type LinkAdapterProps = {\n children?: React.ReactNode\n href: string\n prefetch?: boolean\n ref?: React.Ref<HTMLAnchorElement>\n replace?: boolean\n scroll?: boolean\n} & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>\n"],"names":[],"mappings":"AAoDA,WAO+D"}
|
|
@@ -20,10 +20,6 @@ export type VersionField = {
|
|
|
20
20
|
};
|
|
21
21
|
export type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {
|
|
22
22
|
baseVersionField: BaseVersionField;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated remove in 4.0. react-diff-viewer-continued is no longer a dependency
|
|
25
|
-
*/
|
|
26
|
-
diffMethod: any;
|
|
27
23
|
field: TClientField;
|
|
28
24
|
/**
|
|
29
25
|
* Permissions at this level of the field. If this field is unnamed, this will be `SanitizedFieldsPermissions` - if it is named, it will be `SanitizedFieldPermissions`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAAI;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC
|
|
1
|
+
{"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAAI;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,KAAK,EAAE,YAAY,CAAA;IACnB;;OAEG;IACH,gBAAgB,EAAE,yBAAyB,GAAG,0BAA0B,CAAA;IACxE;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAC5D;IACF,WAAW,EAAE,YAAY,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/admin/forms/Diff.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport type { ClientField, Field, FieldTypes, Tab } from '../../fields/config/types.js'\nimport type {\n ClientFieldWithOptionalType,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from '../../index.js'\n\nexport type VersionTab = {\n fields: VersionField[]\n name?: string\n} & Pick<Tab, 'label'>\n\nexport type BaseVersionField = {\n CustomComponent?: React.ReactNode\n fields: VersionField[]\n path: string\n rows?: VersionField[][]\n schemaPath: string\n tabs?: VersionTab[]\n type: FieldTypes\n}\n\nexport type VersionField = {\n field?: BaseVersionField\n fieldByLocale?: Record<string, BaseVersionField>\n}\n\nexport type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {\n baseVersionField: BaseVersionField\n
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/forms/Diff.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport type { ClientField, Field, FieldTypes, Tab } from '../../fields/config/types.js'\nimport type {\n ClientFieldWithOptionalType,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from '../../index.js'\n\nexport type VersionTab = {\n fields: VersionField[]\n name?: string\n} & Pick<Tab, 'label'>\n\nexport type BaseVersionField = {\n CustomComponent?: React.ReactNode\n fields: VersionField[]\n path: string\n rows?: VersionField[][]\n schemaPath: string\n tabs?: VersionTab[]\n type: FieldTypes\n}\n\nexport type VersionField = {\n field?: BaseVersionField\n fieldByLocale?: Record<string, BaseVersionField>\n}\n\nexport type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {\n baseVersionField: BaseVersionField\n field: TClientField\n /**\n * Permissions at this level of the field. If this field is unnamed, this will be `SanitizedFieldsPermissions` - if it is named, it will be `SanitizedFieldPermissions`\n */\n fieldPermissions: SanitizedFieldPermissions | SanitizedFieldsPermissions\n /**\n * If this field is localized, this will be the locale of the field\n */\n locale?: string\n nestingLevel?: number\n parentIsLocalized: boolean\n /**\n * Field value from the version being compared from\n */\n valueFrom: unknown\n /**\n * Field value from the version being compared to\n */\n valueTo: unknown\n}\n\nexport type FieldDiffServerProps<\n TField extends Field = Field,\n TClientField extends ClientFieldWithOptionalType = ClientField,\n> = {\n clientField: TClientField\n field: TField\n i18n: I18nClient\n req: PayloadRequest\n selectedLocales: string[]\n} & Omit<FieldDiffClientProps, 'field'>\n"],"names":[],"mappings":"AAqDA,WASuC"}
|
|
@@ -92,8 +92,6 @@ export type FormStateWithoutComponents = {
|
|
|
92
92
|
[path: string]: FieldStateWithoutComponents;
|
|
93
93
|
};
|
|
94
94
|
export type BuildFormStateArgs = {
|
|
95
|
-
/** The branch that the admin form is editing. */
|
|
96
|
-
branch?: string;
|
|
97
95
|
/**
|
|
98
96
|
* If true, will check if the document has been modified since it was loaded.
|
|
99
97
|
* This helps detect stale data when multiple users are editing the same document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Form.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE7E,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,aAAa,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3B,CAAA;IACD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,gBAAgB,CAAC,EAAE;QACjB;;;WAGG;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,CAAA;QAC9D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KACxB,CAAA;IACD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;IAChC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;AAE9E,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,cAAc,EAAE,4BAA4B,GAAG,SAAS,CAAA;IACxD,cAAc,EAAE,mBAAmB,CAAA;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG,WAAW,CAAA;IACpC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,qBAAqB,CAAC,EAAE,SAAS,CAAA;IAIjC,QAAQ,CAAC,EAAE,MAAM,kBAAkB,CAAA;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mFAAmF;IACnF,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC9B,GAAG,CACA;IACE,cAAc,EAAE,MAAM,CAAA;IAGtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GACD;IACE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GACD;IACE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/admin/forms/Form.ts"],"sourcesContent":["import { type SupportedLanguages } from '@payloadcms/translations'\n\nimport type { SanitizedDocumentPermissions } from '../../auth/types.js'\nimport type { Field, Option, TabAsField, Validate } from '../../fields/config/types.js'\nimport type { TypedLocale } from '../../index.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { PayloadRequest, SelectType, Where } from '../../types/index.js'\n\nexport type Data = {\n [key: string]: any\n}\n\nexport type Row = {\n addedByServer?: FieldState['addedByServer']\n blockType?: string\n collapsed?: boolean\n customComponents?: {\n RowLabel?: React.ReactNode\n }\n id: string\n isLoading?: boolean\n lastRenderedPath?: string\n}\n\nexport type FilterOptionsResult = {\n [relation: string]: boolean | Where\n}\n\nexport type FieldState = {\n /**\n * This is used to determine if the field was added by the server.\n * This ensures the field is not ignored by the client when merging form state.\n * This can happen because the current local state is treated as the source of truth.\n * See `mergeServerFormState` for more details.\n */\n addedByServer?: boolean\n /**\n * If the field is a `blocks` field, this will contain the slugs of blocks that are allowed, based on the result of `field.filterOptions`.\n * If this is undefined, all blocks are allowed.\n * If this is an empty array, no blocks are allowed.\n */\n blocksFilterOptions?: string[]\n customComponents?: {\n /**\n * This is used by UI fields, as they can have arbitrary components defined if used\n * as a vessel to bring in custom components.\n */\n [key: string]: React.ReactNode | React.ReactNode[] | undefined\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n Description?: React.ReactNode\n Error?: React.ReactNode\n Field?: React.ReactNode\n Label?: React.ReactNode\n }\n disableFormData?: boolean\n errorMessage?: string\n errorPaths?: string[]\n /**\n * The fieldSchema may be part of the form state if `includeSchema: true` is passed to buildFormState.\n * This will never be in the form state of the client.\n */\n fieldSchema?: Field | TabAsField\n filterOptions?: FilterOptionsResult\n initialValue?: unknown\n /**\n * Every time a field is changed locally, this flag is set to true. Prevents form state from server from overwriting local changes.\n * After merging server form state, this flag is reset.\n *\n * @experimental This property is experimental and may change in the future. Use at your own risk.\n */\n isModified?: boolean\n /**\n * The path of the field when its custom components were last rendered.\n * This is used to denote if a field has been rendered, and if so,\n * what path it was rendered under last.\n *\n * If this path is undefined, or, if it is different\n * from the current path of a given field, the field's components will be re-rendered.\n */\n lastRenderedPath?: string\n passesCondition?: boolean\n rows?: Row[]\n /**\n * The result of running `field.filterOptions` on select fields.\n */\n selectFilterOptions?: Option[]\n valid?: boolean\n validate?: Validate\n value?: unknown\n}\n\nexport type FieldStateWithoutComponents = Omit<FieldState, 'customComponents'>\n\nexport type FormState = {\n [path: string]: FieldState\n}\n\nexport type FormStateWithoutComponents = {\n [path: string]: FieldStateWithoutComponents\n}\n\nexport type BuildFormStateArgs = {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/forms/Form.ts"],"sourcesContent":["import { type SupportedLanguages } from '@payloadcms/translations'\n\nimport type { SanitizedDocumentPermissions } from '../../auth/types.js'\nimport type { Field, Option, TabAsField, Validate } from '../../fields/config/types.js'\nimport type { TypedLocale } from '../../index.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { PayloadRequest, SelectType, Where } from '../../types/index.js'\n\nexport type Data = {\n [key: string]: any\n}\n\nexport type Row = {\n addedByServer?: FieldState['addedByServer']\n blockType?: string\n collapsed?: boolean\n customComponents?: {\n RowLabel?: React.ReactNode\n }\n id: string\n isLoading?: boolean\n lastRenderedPath?: string\n}\n\nexport type FilterOptionsResult = {\n [relation: string]: boolean | Where\n}\n\nexport type FieldState = {\n /**\n * This is used to determine if the field was added by the server.\n * This ensures the field is not ignored by the client when merging form state.\n * This can happen because the current local state is treated as the source of truth.\n * See `mergeServerFormState` for more details.\n */\n addedByServer?: boolean\n /**\n * If the field is a `blocks` field, this will contain the slugs of blocks that are allowed, based on the result of `field.filterOptions`.\n * If this is undefined, all blocks are allowed.\n * If this is an empty array, no blocks are allowed.\n */\n blocksFilterOptions?: string[]\n customComponents?: {\n /**\n * This is used by UI fields, as they can have arbitrary components defined if used\n * as a vessel to bring in custom components.\n */\n [key: string]: React.ReactNode | React.ReactNode[] | undefined\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n Description?: React.ReactNode\n Error?: React.ReactNode\n Field?: React.ReactNode\n Label?: React.ReactNode\n }\n disableFormData?: boolean\n errorMessage?: string\n errorPaths?: string[]\n /**\n * The fieldSchema may be part of the form state if `includeSchema: true` is passed to buildFormState.\n * This will never be in the form state of the client.\n */\n fieldSchema?: Field | TabAsField\n filterOptions?: FilterOptionsResult\n initialValue?: unknown\n /**\n * Every time a field is changed locally, this flag is set to true. Prevents form state from server from overwriting local changes.\n * After merging server form state, this flag is reset.\n *\n * @experimental This property is experimental and may change in the future. Use at your own risk.\n */\n isModified?: boolean\n /**\n * The path of the field when its custom components were last rendered.\n * This is used to denote if a field has been rendered, and if so,\n * what path it was rendered under last.\n *\n * If this path is undefined, or, if it is different\n * from the current path of a given field, the field's components will be re-rendered.\n */\n lastRenderedPath?: string\n passesCondition?: boolean\n rows?: Row[]\n /**\n * The result of running `field.filterOptions` on select fields.\n */\n selectFilterOptions?: Option[]\n valid?: boolean\n validate?: Validate\n value?: unknown\n}\n\nexport type FieldStateWithoutComponents = Omit<FieldState, 'customComponents'>\n\nexport type FormState = {\n [path: string]: FieldState\n}\n\nexport type FormStateWithoutComponents = {\n [path: string]: FieldStateWithoutComponents\n}\n\nexport type BuildFormStateArgs = {\n /**\n * If true, will check if the document has been modified since it was loaded.\n * This helps detect stale data when multiple users are editing the same document.\n */\n checkForStaleData?: boolean\n data?: Data\n docPermissions: SanitizedDocumentPermissions | undefined\n docPreferences: DocumentPreferences\n /**\n * In case `formState` is not the top-level, document form state, this can be passed to\n * provide the top-level form state.\n */\n documentFormState?: FormState\n fallbackLocale?: false | TypedLocale\n formState?: FormState\n id?: number | string\n initialBlockData?: Data\n initialBlockFormState?: FormState\n /*\n If not i18n was passed, the language can be passed to init i18n\n */\n language?: keyof SupportedLanguages\n locale?: string\n /**\n * If true, will not render RSCs and instead return a simple string in their place.\n * This is useful for environments that lack RSC support, such as Jest.\n * Form state can still be built, but any server components will be omitted.\n * @default false\n */\n mockRSCs?: boolean\n operation?: 'create' | 'update'\n /**\n * The original updatedAt timestamp from when the document was initially loaded.\n * Used with checkForStaleData to detect if the document has been modified.\n */\n originalUpdatedAt?: string\n readOnly?: boolean\n /**\n * If true, will render field components within their state object.\n * Performance optimization: Setting to `false` ensures that only fields that have changed paths will re-render, e.g. new array rows, etc.\n * For example, you only need to render ALL fields on initial render, not on every onChange.\n */\n renderAllFields?: boolean\n req: PayloadRequest\n /**\n * If true, will return a fresh URL for live preview based on the current form state.\n * Note: this will run on every form state event, so if your `livePreview.url` function is long running or expensive,\n * ensure it caches itself as needed.\n */\n returnLivePreviewURL?: boolean\n returnLockStatus?: boolean\n /**\n * If true, will return a fresh URL for preview based on the current form state.\n * Note: this will run on every form state event, so if your `preview` function is long running or expensive,\n * ensure it caches itself as needed.\n */\n returnPreviewURL?: boolean\n schemaPath: string\n select?: SelectType\n /**\n * When true, sets `user: true` when calling `getClientConfig`.\n * This will retrieve the client config in its entirety, even when unauthenticated.\n * For example, the create-first-user view needs the entire config, but there is no user yet.\n *\n * @experimental This property is experimental and may change in the future. Use at your own risk.\n */\n skipClientConfigAuth?: boolean\n skipValidation?: boolean\n updateLastEdited?: boolean\n /** The authenticated user after read access for client-facing field components. */\n user?: PayloadRequest['user']\n} & (\n | {\n collectionSlug: string\n // Do not type it as never. This still makes it so that either collectionSlug or globalSlug is required, but makes it easier to provide both collectionSlug and globalSlug if it's\n // unclear which one is actually available.\n globalSlug?: string\n widgetSlug?: string\n }\n | {\n collectionSlug?: string\n globalSlug: string\n widgetSlug?: string\n }\n | {\n collectionSlug?: string\n globalSlug?: string\n widgetSlug: string\n }\n)\n"],"names":[],"mappings":"AAsGA,WA0FC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initAdminContext.d.ts","sourceRoot":"","sources":["../../src/admin/initAdminContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAA;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"initAdminContext.d.ts","sourceRoot":"","sources":["../../src/admin/initAdminContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAA;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAWxD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC,CAAA;AAEhE,kGAAkG;AAClG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iEAAiE;IACjE,SAAS,CAAC,EAAE,CACV,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,EAC1D,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC1C,iFAAiF;IACjF,UAAU,EAAE,CACV,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,KACrD,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACjC,gFAAgF;IAChF,UAAU,EAAE,CACV,aAAa,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,EAC1C,GAAG,EAAE,MAAM,EACX,GAAG,SAAS,EAAE,OAAO,EAAE,KACpB,OAAO,CAAC,YAAY,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,aAAa,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,aAAa,EACb,aAAa,EACb,SAAS,EACT,GAAG,EACH,SAAS,EACT,UAAU,EACV,aAAa,GACd,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,CAwI9C"}
|
|
@@ -3,12 +3,10 @@ import * as qs from 'qs-esm';
|
|
|
3
3
|
import { applyUserReadAccess } from '../auth/applyUserReadAccess.js';
|
|
4
4
|
import { executeAuthStrategies } from '../auth/executeAuthStrategies.js';
|
|
5
5
|
import { getAccessResults } from '../auth/getAccessResults.js';
|
|
6
|
-
import { assertBranchReadable } from '../branching/assertBranchReadable.js';
|
|
7
6
|
import { getPayload } from '../index.js';
|
|
8
7
|
import { createPayloadRequest } from '../utilities/createPayloadRequest.js';
|
|
9
8
|
import { getRequestLanguage } from '../utilities/getRequestLanguage.js';
|
|
10
9
|
import { parseCookies } from '../utilities/parseCookies.js';
|
|
11
|
-
import { getRequestBranch } from './getRequestBranch.js';
|
|
12
10
|
import { getRequestLocale } from './getRequestLocale.js';
|
|
13
11
|
/**
|
|
14
12
|
* Creates the request context used by framework adapters to render the admin panel.
|
|
@@ -82,14 +80,6 @@ import { getRequestLocale } from './getRequestLocale.js';
|
|
|
82
80
|
});
|
|
83
81
|
const { locale } = cache?.getLocale ? await cache.getLocale(resolveLocale, payload, req.user?.collection, req.user?.id, req.query.locale) : await resolveLocale();
|
|
84
82
|
req.locale = locale?.code;
|
|
85
|
-
if (!req.branch && !req.context?._branchBypass) {
|
|
86
|
-
req.branch = await getRequestBranch({
|
|
87
|
-
req
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
await assertBranchReadable({
|
|
91
|
-
req
|
|
92
|
-
});
|
|
93
83
|
let userWithReadAccess = req.user;
|
|
94
84
|
if (!hasUserOverride && req.user) {
|
|
95
85
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/admin/initAdminContext.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\n\nimport { initI18n } from '@payloadcms/translations'\nimport * as qs from 'qs-esm'\n\nimport type { ImportMap } from '../cli/commands/generateImportMap/generateImportMap.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { CreatePayloadRequestArgs } from '../utilities/createPayloadRequest.js'\nimport type { ServerAdapter } from './adapters/server.js'\nimport type { AdminContext } from './functions/index.js'\n\nimport { applyUserReadAccess } from '../auth/applyUserReadAccess.js'\nimport { executeAuthStrategies } from '../auth/executeAuthStrategies.js'\nimport { getAccessResults } from '../auth/getAccessResults.js'\nimport { assertBranchReadable } from '../branching/assertBranchReadable.js'\nimport { getPayload } from '../index.js'\nimport { createPayloadRequest } from '../utilities/createPayloadRequest.js'\nimport { getRequestLanguage } from '../utilities/getRequestLanguage.js'\nimport { parseCookies } from '../utilities/parseCookies.js'\nimport { getRequestBranch } from './getRequestBranch.js'\nimport { getRequestLocale } from './getRequestLocale.js'\n\nexport type PartialAdminContext = {\n i18n: I18nClient\n} & Pick<PayloadRequest, 'payload' | 'responseHeaders' | 'user'>\n\n/** Framework-provided request-scoped caching hooks used to deduplicate admin context creation. */\nexport type AdminContextCache = {\n /** Reuses locale preference resolution across admin contexts. */\n getLocale?: (\n resolveLocale: () => Promise<Pick<AdminContext, 'locale'>>,\n ...cacheArgs: unknown[]\n ) => Promise<Pick<AdminContext, 'locale'>>\n /** Reuses Payload, i18n, and authentication state within the current request. */\n getPartial: (\n createPartialContext: () => Promise<PartialAdminContext>,\n ) => Promise<PartialAdminContext>\n /** Reuses a complete admin context for the supplied key and cache arguments. */\n getRequest: (\n createContext: () => Promise<AdminContext>,\n key: string,\n ...cacheArgs: unknown[]\n ) => Promise<AdminContext>\n}\n\nexport type InitAdminContextArgs = {\n /**\n * Optional framework-owned request-scoped cache.\n * Framework adapters control its lifetime to prevent request state from leaking between requests.\n */\n cache?: AdminContextCache\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n /** Identifies the complete admin context within `cache`; required when a cache is supplied. */\n key?: string\n overrides?: Omit<CreatePayloadRequestArgs, 'payload'>\n requestURL?: string\n serverAdapter: ServerAdapter\n}\n\n/**\n * Creates the request context used by framework adapters to render the admin panel.\n */\nexport async function initAdminContext({\n cache,\n canSetHeaders,\n configPromise,\n importMap,\n key,\n overrides,\n requestURL,\n serverAdapter,\n}: InitAdminContextArgs): Promise<AdminContext> {\n if (cache && !key) {\n throw new Error('initAdminContext requires a key when cache is provided')\n }\n\n const headers = await serverAdapter.getHeaders()\n const cookies = parseCookies(headers)\n\n const createPartialContext = async (): Promise<PartialAdminContext> => {\n const config = await configPromise\n const payload = await getPayload({ config, cron: true, importMap })\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const { responseHeaders, user } = await executeAuthStrategies({\n canSetHeaders,\n headers,\n payload,\n })\n\n return {\n i18n,\n payload,\n responseHeaders,\n user,\n }\n }\n\n const partialContext = cache\n ? await cache.getPartial(createPartialContext)\n : await createPartialContext()\n\n const createContext = async (): Promise<AdminContext> => {\n const { i18n, payload, responseHeaders, user } = partialContext\n const { req: reqOverrides, ...optionsOverrides } = overrides || {}\n const hasOptionsUserOverride = Object.hasOwn(optionsOverrides, 'user')\n const hasReqUserOverride = Object.hasOwn(reqOverrides ?? {}, 'user')\n const hasUserOverride = hasOptionsUserOverride || hasReqUserOverride\n const userOverride = hasOptionsUserOverride ? optionsOverrides.user : reqOverrides?.user\n const requestDefaults = getRequestDefaults({ requestURL })\n\n const req = await createPayloadRequest({\n req: {\n headers,\n host: headers.get('host') ?? undefined,\n i18n: i18n as I18n,\n responseHeaders,\n server: serverAdapter,\n user,\n ...requestDefaults,\n ...(reqOverrides || {}),\n },\n ...(optionsOverrides || {}),\n payload,\n })\n\n if (hasUserOverride && userOverride == null) {\n req.user = null\n }\n\n const resolveLocale = async (): Promise<Pick<AdminContext, 'locale'>> => ({\n locale: await getRequestLocale({ req }),\n })\n const { locale } = cache?.getLocale\n ? await cache.getLocale(\n resolveLocale,\n payload,\n req.user?.collection,\n req.user?.id,\n req.query.locale,\n )\n : await resolveLocale()\n\n req.locale = locale?.code\n\n if (!req.branch && !(req.context as Record<string, unknown> | undefined)?._branchBypass) {\n req.branch = await getRequestBranch({ req })\n }\n\n await assertBranchReadable({ req })\n\n let userWithReadAccess = req.user\n\n if (!hasUserOverride && req.user) {\n try {\n const collectionSlug = req.user.collection ?? payload.config.admin.user\n const collection = payload.collections[collectionSlug]?.config\n\n if (!collection?.auth) {\n throw new Error('Authenticated user collection not found')\n }\n\n userWithReadAccess = await applyUserReadAccess({\n collection,\n depth: collection.auth.depth,\n overrideAccess: false,\n req,\n showHiddenFields: false,\n user: req.user,\n })\n } catch (error) {\n payload.logger.error({ err: error })\n req.user = null\n userWithReadAccess = null\n }\n }\n\n const permissions = await getAccessResults({ req })\n\n return {\n cookies,\n locale,\n permissions,\n req,\n user: userWithReadAccess,\n }\n }\n\n const result = cache\n ? await cache.getRequest(createContext, key!, overrides)\n : await createContext()\n\n return {\n ...result,\n req: {\n ...result.req,\n ...(result.req.context\n ? {\n context: { ...result.req.context },\n }\n : {}),\n },\n }\n}\n\nfunction getRequestDefaults({\n requestURL,\n}: {\n requestURL?: string\n}): Partial<Pick<PayloadRequest, 'query' | 'url'>> {\n if (!requestURL) {\n return {}\n }\n\n try {\n const url = new URL(requestURL)\n\n return {\n ...(url.search\n ? {\n query: qs.parse(url.search, {\n depth: 10,\n ignoreQueryPrefix: true,\n }) as PayloadRequest['query'],\n }\n : {}),\n url: requestURL,\n }\n } catch {\n return {}\n }\n}\n"],"names":["initI18n","qs","applyUserReadAccess","executeAuthStrategies","getAccessResults","assertBranchReadable","getPayload","createPayloadRequest","getRequestLanguage","parseCookies","getRequestBranch","getRequestLocale","initAdminContext","cache","canSetHeaders","configPromise","importMap","key","overrides","requestURL","serverAdapter","Error","headers","getHeaders","cookies","createPartialContext","config","payload","cron","languageCode","i18n","context","language","responseHeaders","user","partialContext","getPartial","createContext","req","reqOverrides","optionsOverrides","hasOptionsUserOverride","Object","hasOwn","hasReqUserOverride","hasUserOverride","userOverride","requestDefaults","getRequestDefaults","host","get","undefined","server","resolveLocale","locale","getLocale","collection","id","query","code","branch","_branchBypass","userWithReadAccess","collectionSlug","admin","collections","auth","depth","overrideAccess","showHiddenFields","error","logger","err","permissions","result","getRequest","url","URL","search","parse","ignoreQueryPrefix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/admin/initAdminContext.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\n\nimport { initI18n } from '@payloadcms/translations'\nimport * as qs from 'qs-esm'\n\nimport type { ImportMap } from '../cli/commands/generateImportMap/generateImportMap.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { CreatePayloadRequestArgs } from '../utilities/createPayloadRequest.js'\nimport type { ServerAdapter } from './adapters/server.js'\nimport type { AdminContext } from './functions/index.js'\n\nimport { applyUserReadAccess } from '../auth/applyUserReadAccess.js'\nimport { executeAuthStrategies } from '../auth/executeAuthStrategies.js'\nimport { getAccessResults } from '../auth/getAccessResults.js'\nimport { getPayload } from '../index.js'\nimport { createPayloadRequest } from '../utilities/createPayloadRequest.js'\nimport { getRequestLanguage } from '../utilities/getRequestLanguage.js'\nimport { parseCookies } from '../utilities/parseCookies.js'\nimport { getRequestLocale } from './getRequestLocale.js'\n\nexport type PartialAdminContext = {\n i18n: I18nClient\n} & Pick<PayloadRequest, 'payload' | 'responseHeaders' | 'user'>\n\n/** Framework-provided request-scoped caching hooks used to deduplicate admin context creation. */\nexport type AdminContextCache = {\n /** Reuses locale preference resolution across admin contexts. */\n getLocale?: (\n resolveLocale: () => Promise<Pick<AdminContext, 'locale'>>,\n ...cacheArgs: unknown[]\n ) => Promise<Pick<AdminContext, 'locale'>>\n /** Reuses Payload, i18n, and authentication state within the current request. */\n getPartial: (\n createPartialContext: () => Promise<PartialAdminContext>,\n ) => Promise<PartialAdminContext>\n /** Reuses a complete admin context for the supplied key and cache arguments. */\n getRequest: (\n createContext: () => Promise<AdminContext>,\n key: string,\n ...cacheArgs: unknown[]\n ) => Promise<AdminContext>\n}\n\nexport type InitAdminContextArgs = {\n /**\n * Optional framework-owned request-scoped cache.\n * Framework adapters control its lifetime to prevent request state from leaking between requests.\n */\n cache?: AdminContextCache\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n /** Identifies the complete admin context within `cache`; required when a cache is supplied. */\n key?: string\n overrides?: Omit<CreatePayloadRequestArgs, 'payload'>\n requestURL?: string\n serverAdapter: ServerAdapter\n}\n\n/**\n * Creates the request context used by framework adapters to render the admin panel.\n */\nexport async function initAdminContext({\n cache,\n canSetHeaders,\n configPromise,\n importMap,\n key,\n overrides,\n requestURL,\n serverAdapter,\n}: InitAdminContextArgs): Promise<AdminContext> {\n if (cache && !key) {\n throw new Error('initAdminContext requires a key when cache is provided')\n }\n\n const headers = await serverAdapter.getHeaders()\n const cookies = parseCookies(headers)\n\n const createPartialContext = async (): Promise<PartialAdminContext> => {\n const config = await configPromise\n const payload = await getPayload({ config, cron: true, importMap })\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const { responseHeaders, user } = await executeAuthStrategies({\n canSetHeaders,\n headers,\n payload,\n })\n\n return {\n i18n,\n payload,\n responseHeaders,\n user,\n }\n }\n\n const partialContext = cache\n ? await cache.getPartial(createPartialContext)\n : await createPartialContext()\n\n const createContext = async (): Promise<AdminContext> => {\n const { i18n, payload, responseHeaders, user } = partialContext\n const { req: reqOverrides, ...optionsOverrides } = overrides || {}\n const hasOptionsUserOverride = Object.hasOwn(optionsOverrides, 'user')\n const hasReqUserOverride = Object.hasOwn(reqOverrides ?? {}, 'user')\n const hasUserOverride = hasOptionsUserOverride || hasReqUserOverride\n const userOverride = hasOptionsUserOverride ? optionsOverrides.user : reqOverrides?.user\n const requestDefaults = getRequestDefaults({ requestURL })\n\n const req = await createPayloadRequest({\n req: {\n headers,\n host: headers.get('host') ?? undefined,\n i18n: i18n as I18n,\n responseHeaders,\n server: serverAdapter,\n user,\n ...requestDefaults,\n ...(reqOverrides || {}),\n },\n ...(optionsOverrides || {}),\n payload,\n })\n\n if (hasUserOverride && userOverride == null) {\n req.user = null\n }\n\n const resolveLocale = async (): Promise<Pick<AdminContext, 'locale'>> => ({\n locale: await getRequestLocale({ req }),\n })\n const { locale } = cache?.getLocale\n ? await cache.getLocale(\n resolveLocale,\n payload,\n req.user?.collection,\n req.user?.id,\n req.query.locale,\n )\n : await resolveLocale()\n\n req.locale = locale?.code\n\n let userWithReadAccess = req.user\n\n if (!hasUserOverride && req.user) {\n try {\n const collectionSlug = req.user.collection ?? payload.config.admin.user\n const collection = payload.collections[collectionSlug]?.config\n\n if (!collection?.auth) {\n throw new Error('Authenticated user collection not found')\n }\n\n userWithReadAccess = await applyUserReadAccess({\n collection,\n depth: collection.auth.depth,\n overrideAccess: false,\n req,\n showHiddenFields: false,\n user: req.user,\n })\n } catch (error) {\n payload.logger.error({ err: error })\n req.user = null\n userWithReadAccess = null\n }\n }\n\n const permissions = await getAccessResults({ req })\n\n return {\n cookies,\n locale,\n permissions,\n req,\n user: userWithReadAccess,\n }\n }\n\n const result = cache\n ? await cache.getRequest(createContext, key!, overrides)\n : await createContext()\n\n return {\n ...result,\n req: {\n ...result.req,\n ...(result.req.context\n ? {\n context: { ...result.req.context },\n }\n : {}),\n },\n }\n}\n\nfunction getRequestDefaults({\n requestURL,\n}: {\n requestURL?: string\n}): Partial<Pick<PayloadRequest, 'query' | 'url'>> {\n if (!requestURL) {\n return {}\n }\n\n try {\n const url = new URL(requestURL)\n\n return {\n ...(url.search\n ? {\n query: qs.parse(url.search, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n }\n : {}),\n url: requestURL,\n }\n } catch {\n return {}\n }\n}\n"],"names":["initI18n","qs","applyUserReadAccess","executeAuthStrategies","getAccessResults","getPayload","createPayloadRequest","getRequestLanguage","parseCookies","getRequestLocale","initAdminContext","cache","canSetHeaders","configPromise","importMap","key","overrides","requestURL","serverAdapter","Error","headers","getHeaders","cookies","createPartialContext","config","payload","cron","languageCode","i18n","context","language","responseHeaders","user","partialContext","getPartial","createContext","req","reqOverrides","optionsOverrides","hasOptionsUserOverride","Object","hasOwn","hasReqUserOverride","hasUserOverride","userOverride","requestDefaults","getRequestDefaults","host","get","undefined","server","resolveLocale","locale","getLocale","collection","id","query","code","userWithReadAccess","collectionSlug","admin","collections","auth","depth","overrideAccess","showHiddenFields","error","logger","err","permissions","result","getRequest","url","URL","search","parse","ignoreQueryPrefix"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
2
|
+
import type { AuthenticatedUser } from '../index.js';
|
|
3
|
+
import type { PayloadRequest } from '../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Starts a login session for the user and signs the JWT for it, the same token a password login
|
|
6
|
+
* returns. Payload's JWT strategy accepts it. Revoke `sid` if the login fails after this.
|
|
7
|
+
*/
|
|
8
|
+
export declare const createAuthToken: ({ collectionConfig, email, req, shouldCreateRefreshToken, user, }: {
|
|
9
|
+
collectionConfig: SanitizedCollectionConfig;
|
|
10
|
+
/** The `email` claim of the token. */
|
|
11
|
+
email: string;
|
|
12
|
+
req: PayloadRequest;
|
|
13
|
+
/**
|
|
14
|
+
* Also return a refresh token for the session, which `refreshAuthToken` trades for a new token.
|
|
15
|
+
* The session then lasts `auth.refreshTokens.expiration` from each refresh, or 30 days when the
|
|
16
|
+
* collection doesn't enable refresh tokens. Requires `auth.useSessions`.
|
|
17
|
+
*/
|
|
18
|
+
shouldCreateRefreshToken?: boolean;
|
|
19
|
+
user: AuthenticatedUser;
|
|
20
|
+
}) => Promise<{
|
|
21
|
+
exp: number;
|
|
22
|
+
refreshToken?: string;
|
|
23
|
+
sid?: string;
|
|
24
|
+
token: string;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=createAuthToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAuthToken.d.ts","sourceRoot":"","sources":["../../src/auth/createAuthToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAOvD;;;GAGG;AACH,eAAO,MAAM,eAAe,sEAMzB;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,IAAI,EAAE,iBAAiB,CAAA;CACxB,KAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0B9E,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getFieldsToSign } from './getFieldsToSign.js';
|
|
2
|
+
import { jwtSign } from './jwt.js';
|
|
3
|
+
import { createRefreshToken, getRefreshTokenExpiration } from './refreshAuthToken.js';
|
|
4
|
+
import { addSessionToUser } from './sessions.js';
|
|
5
|
+
/**
|
|
6
|
+
* Starts a login session for the user and signs the JWT for it, the same token a password login
|
|
7
|
+
* returns. Payload's JWT strategy accepts it. Revoke `sid` if the login fails after this.
|
|
8
|
+
*/ export const createAuthToken = async ({ collectionConfig, email, req, shouldCreateRefreshToken = false, user })=>{
|
|
9
|
+
const { session, sid } = await addSessionToUser({
|
|
10
|
+
collectionConfig,
|
|
11
|
+
payload: req.payload,
|
|
12
|
+
req,
|
|
13
|
+
sessionExpiration: shouldCreateRefreshToken ? getRefreshTokenExpiration(collectionConfig) : undefined,
|
|
14
|
+
user
|
|
15
|
+
});
|
|
16
|
+
const { exp, token } = await jwtSign({
|
|
17
|
+
fieldsToSign: getFieldsToSign({
|
|
18
|
+
collectionConfig,
|
|
19
|
+
email,
|
|
20
|
+
sid,
|
|
21
|
+
user
|
|
22
|
+
}),
|
|
23
|
+
secret: req.payload.secret,
|
|
24
|
+
tokenExpiration: collectionConfig.auth.tokenExpiration
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
exp,
|
|
28
|
+
refreshToken: shouldCreateRefreshToken && session ? createRefreshToken({
|
|
29
|
+
collectionConfig,
|
|
30
|
+
req,
|
|
31
|
+
session,
|
|
32
|
+
userID: user.id
|
|
33
|
+
}) : undefined,
|
|
34
|
+
sid,
|
|
35
|
+
token
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=createAuthToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/auth/createAuthToken.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { AuthenticatedUser } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { getFieldsToSign } from './getFieldsToSign.js'\nimport { jwtSign } from './jwt.js'\nimport { createRefreshToken, getRefreshTokenExpiration } from './refreshAuthToken.js'\nimport { addSessionToUser } from './sessions.js'\n\n/**\n * Starts a login session for the user and signs the JWT for it, the same token a password login\n * returns. Payload's JWT strategy accepts it. Revoke `sid` if the login fails after this.\n */\nexport const createAuthToken = async ({\n collectionConfig,\n email,\n req,\n shouldCreateRefreshToken = false,\n user,\n}: {\n collectionConfig: SanitizedCollectionConfig\n /** The `email` claim of the token. */\n email: string\n req: PayloadRequest\n /**\n * Also return a refresh token for the session, which `refreshAuthToken` trades for a new token.\n * The session then lasts `auth.refreshTokens.expiration` from each refresh, or 30 days when the\n * collection doesn't enable refresh tokens. Requires `auth.useSessions`.\n */\n shouldCreateRefreshToken?: boolean\n user: AuthenticatedUser\n}): Promise<{ exp: number; refreshToken?: string; sid?: string; token: string }> => {\n const { session, sid } = await addSessionToUser({\n collectionConfig,\n payload: req.payload,\n req,\n sessionExpiration: shouldCreateRefreshToken\n ? getRefreshTokenExpiration(collectionConfig)\n : undefined,\n user,\n })\n\n const { exp, token } = await jwtSign({\n fieldsToSign: getFieldsToSign({ collectionConfig, email, sid, user }),\n secret: req.payload.secret,\n tokenExpiration: collectionConfig.auth.tokenExpiration,\n })\n\n return {\n exp,\n refreshToken:\n shouldCreateRefreshToken && session\n ? createRefreshToken({ collectionConfig, req, session, userID: user.id })\n : undefined,\n sid,\n token,\n }\n}\n"],"names":["getFieldsToSign","jwtSign","createRefreshToken","getRefreshTokenExpiration","addSessionToUser","createAuthToken","collectionConfig","email","req","shouldCreateRefreshToken","user","session","sid","payload","sessionExpiration","undefined","exp","token","fieldsToSign","secret","tokenExpiration","auth","refreshToken","userID","id"],"mappings":"AAIA,SAASA,eAAe,QAAQ,uBAAsB;AACtD,SAASC,OAAO,QAAQ,WAAU;AAClC,SAASC,kBAAkB,EAAEC,yBAAyB,QAAQ,wBAAuB;AACrF,SAASC,gBAAgB,QAAQ,gBAAe;AAEhD;;;CAGC,GACD,OAAO,MAAMC,kBAAkB,OAAO,EACpCC,gBAAgB,EAChBC,KAAK,EACLC,GAAG,EACHC,2BAA2B,KAAK,EAChCC,IAAI,EAaL;IACC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EAAE,GAAG,MAAMR,iBAAiB;QAC9CE;QACAO,SAASL,IAAIK,OAAO;QACpBL;QACAM,mBAAmBL,2BACfN,0BAA0BG,oBAC1BS;QACJL;IACF;IAEA,MAAM,EAAEM,GAAG,EAAEC,KAAK,EAAE,GAAG,MAAMhB,QAAQ;QACnCiB,cAAclB,gBAAgB;YAAEM;YAAkBC;YAAOK;YAAKF;QAAK;QACnES,QAAQX,IAAIK,OAAO,CAACM,MAAM;QAC1BC,iBAAiBd,iBAAiBe,IAAI,CAACD,eAAe;IACxD;IAEA,OAAO;QACLJ;QACAM,cACEb,4BAA4BE,UACxBT,mBAAmB;YAAEI;YAAkBE;YAAKG;YAASY,QAAQb,KAAKc,EAAE;QAAC,KACrET;QACNH;QACAK;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,eAAO,MAAM,cAAc,EAAE,cAyC5B,CAAA"}
|
|
@@ -12,9 +12,10 @@ export const refreshHandler = async (req)=>{
|
|
|
12
12
|
});
|
|
13
13
|
const result = await refreshOperation({
|
|
14
14
|
collection,
|
|
15
|
+
refreshToken: typeof req.data?.refreshToken === 'string' ? req.data.refreshToken : undefined,
|
|
15
16
|
req
|
|
16
17
|
});
|
|
17
|
-
const { refreshedToken, ...resultWithoutToken } = result;
|
|
18
|
+
const { refreshedToken, refreshToken: _refreshToken, ...resultWithoutToken } = result;
|
|
18
19
|
if (result.setCookie) {
|
|
19
20
|
const cookie = generatePayloadCookie({
|
|
20
21
|
collectionAuthConfig: collection.config.auth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { httpStatus } from '../../utilities/httpStatus.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n const { refreshedToken, ...resultWithoutToken } = result\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: refreshedToken,\n })\n\n headers.set('Set-Cookie', cookie)\n }\n\n const responseResult = collection.config.auth.removeTokenFromResponses\n ? resultWithoutToken\n : result\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...responseResult,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["getRequestCollection","headersWithCors","httpStatus","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","refreshedToken","resultWithoutToken","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","set","responseResult","removeTokenFromResponses","Response","json","message","status","OK"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,gCAA+B;AAC1D,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaP,qBAAqBM;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUR,gBAAgB;QAC9BQ,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { httpStatus } from '../../utilities/httpStatus.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n refreshToken: typeof req.data?.refreshToken === 'string' ? req.data.refreshToken : undefined,\n req,\n })\n\n const { refreshedToken, refreshToken: _refreshToken, ...resultWithoutToken } = result\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: refreshedToken,\n })\n\n headers.set('Set-Cookie', cookie)\n }\n\n const responseResult = collection.config.auth.removeTokenFromResponses\n ? resultWithoutToken\n : result\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...responseResult,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["getRequestCollection","headersWithCors","httpStatus","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","refreshToken","data","undefined","refreshedToken","_refreshToken","resultWithoutToken","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","set","responseResult","removeTokenFromResponses","Response","json","message","status","OK"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,gCAA+B;AAC1D,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaP,qBAAqBM;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUR,gBAAgB;QAC9BQ,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;QACAK,cAAc,OAAON,IAAIO,IAAI,EAAED,iBAAiB,WAAWN,IAAIO,IAAI,CAACD,YAAY,GAAGE;QACnFR;IACF;IAEA,MAAM,EAAES,cAAc,EAAEH,cAAcI,aAAa,EAAE,GAAGC,oBAAoB,GAAGN;IAE/E,IAAIA,OAAOO,SAAS,EAAE;QACpB,MAAMC,SAAShB,sBAAsB;YACnCiB,sBAAsBb,WAAWc,MAAM,CAACC,IAAI;YAC5CC,cAAcjB,IAAIkB,OAAO,CAACH,MAAM,CAACE,YAAY;YAC7CE,OAAOV;QACT;QAEAN,QAAQiB,GAAG,CAAC,cAAcP;IAC5B;IAEA,MAAMQ,iBAAiBpB,WAAWc,MAAM,CAACC,IAAI,CAACM,wBAAwB,GAClEX,qBACAN;IAEJ,OAAOkB,SAASC,IAAI,CAClB;QACEC,SAASvB,EAAE;QACX,GAAGmB,cAAc;IACnB,GACA;QACElB;QACAuB,QAAQ9B,WAAW+B,EAAE;IACvB;AAEJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/getFieldsToSign.ts"],"sourcesContent":["import type { CollectionConfig } from '../collections/config/types.js'\nimport type { Field, TabAsField } from '../fields/config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { fieldAffectsData, tabHasName } from '../fields/config/types.js'\n\nconst reservedJWTFields = new Set(['collection', 'email', 'exp', 'iat', 'id', 'sid'])\n\ntype TraverseFieldsArgs = {\n data: Record<string, unknown>\n fields: (Field | TabAsField)[]\n result: Record<string, unknown>\n}\nconst traverseFields = ({\n data,\n // parent,\n fields,\n result,\n}: TraverseFieldsArgs) => {\n fields.forEach((field) => {\n switch (field.type) {\n case 'collapsible':\n case 'row': {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n break\n }\n case 'group': {\n if (fieldAffectsData(field)) {\n const groupData: Record<string, unknown> =\n (data[field.name] as Record<string, unknown>) ?? {}\n let targetResult\n if (typeof field.saveToJWT === 'string') {\n targetResult = field.saveToJWT\n result[field.saveToJWT] = groupData\n } else if (field.saveToJWT) {\n targetResult = field.name\n result[field.name] = groupData\n }\n const groupResult = (targetResult ? result[targetResult] : result) as Record<\n string,\n unknown\n >\n traverseFields({\n data: groupData,\n fields: field.fields,\n result: groupResult,\n })\n break\n } else {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n\n break\n }\n }\n case 'tab': {\n if (tabHasName(field)) {\n const tabData: Record<string, unknown> =\n (data[field.name] as Record<string, unknown>) ?? {}\n let targetResult\n if (typeof field.saveToJWT === 'string') {\n targetResult = field.saveToJWT\n result[field.saveToJWT] = tabData\n } else if (field.saveToJWT) {\n targetResult = field.name\n result[field.name] = tabData\n }\n const tabResult = (targetResult ? result[targetResult] : result) as Record<\n string,\n unknown\n >\n traverseFields({\n data: tabData,\n fields: field.fields,\n result: tabResult,\n })\n } else {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n }\n break\n }\n case 'tabs': {\n traverseFields({\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n result,\n })\n break\n }\n default:\n if (fieldAffectsData(field)) {\n if (field.saveToJWT) {\n if (typeof field.saveToJWT === 'string') {\n result[field.saveToJWT] = data[field.name]\n delete result[field.name]\n } else {\n result[field.name] = data[field.name]
|
|
1
|
+
{"version":3,"sources":["../../src/auth/getFieldsToSign.ts"],"sourcesContent":["import type { CollectionConfig } from '../collections/config/types.js'\nimport type { Field, TabAsField } from '../fields/config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { fieldAffectsData, tabHasName } from '../fields/config/types.js'\n\nconst reservedJWTFields = new Set(['collection', 'email', 'exp', 'iat', 'id', 'sid'])\n\ntype TraverseFieldsArgs = {\n data: Record<string, unknown>\n fields: (Field | TabAsField)[]\n result: Record<string, unknown>\n}\nconst traverseFields = ({\n data,\n // parent,\n fields,\n result,\n}: TraverseFieldsArgs) => {\n fields.forEach((field) => {\n switch (field.type) {\n case 'collapsible':\n case 'row': {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n break\n }\n case 'group': {\n if (fieldAffectsData(field)) {\n const groupData: Record<string, unknown> =\n (data[field.name] as Record<string, unknown>) ?? {}\n let targetResult\n if (typeof field.saveToJWT === 'string') {\n targetResult = field.saveToJWT\n result[field.saveToJWT] = groupData\n } else if (field.saveToJWT) {\n targetResult = field.name\n result[field.name] = groupData\n }\n const groupResult = (targetResult ? result[targetResult] : result) as Record<\n string,\n unknown\n >\n traverseFields({\n data: groupData,\n fields: field.fields,\n result: groupResult,\n })\n break\n } else {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n\n break\n }\n }\n case 'tab': {\n if (tabHasName(field)) {\n const tabData: Record<string, unknown> =\n (data[field.name] as Record<string, unknown>) ?? {}\n let targetResult\n if (typeof field.saveToJWT === 'string') {\n targetResult = field.saveToJWT\n result[field.saveToJWT] = tabData\n } else if (field.saveToJWT) {\n targetResult = field.name\n result[field.name] = tabData\n }\n const tabResult = (targetResult ? result[targetResult] : result) as Record<\n string,\n unknown\n >\n traverseFields({\n data: tabData,\n fields: field.fields,\n result: tabResult,\n })\n } else {\n traverseFields({\n data,\n fields: field.fields,\n result,\n })\n }\n break\n }\n case 'tabs': {\n traverseFields({\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n result,\n })\n break\n }\n default:\n if (fieldAffectsData(field)) {\n if (field.saveToJWT) {\n if (typeof field.saveToJWT === 'string') {\n result[field.saveToJWT] = data[field.name]\n delete result[field.name]\n } else {\n result[field.name] = data[field.name]\n }\n } else if (field.saveToJWT === false) {\n delete result[field.name]\n }\n }\n }\n })\n return result\n}\nexport const getFieldsToSign = (args: {\n collectionConfig: CollectionConfig\n email: string\n sid?: string\n user: PayloadRequest['user']\n}): Record<string, unknown> => {\n const { collectionConfig, email, sid, user } = args\n\n const fieldsToSign = Object.create(null) as Record<string, unknown>\n\n traverseFields({\n data: user!,\n fields: collectionConfig.fields,\n result: fieldsToSign,\n })\n\n for (const fieldName of reservedJWTFields) {\n delete fieldsToSign[fieldName]\n }\n\n fieldsToSign.id = user?.id\n fieldsToSign.collection = collectionConfig.slug\n fieldsToSign.email = email\n\n if (sid) {\n fieldsToSign.sid = sid\n }\n\n return fieldsToSign\n}\n"],"names":["fieldAffectsData","tabHasName","reservedJWTFields","Set","traverseFields","data","fields","result","forEach","field","type","groupData","name","targetResult","saveToJWT","groupResult","tabData","tabResult","tabs","map","tab","getFieldsToSign","args","collectionConfig","email","sid","user","fieldsToSign","Object","create","fieldName","id","collection","slug"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithCookie.d.ts","sourceRoot":"","sources":["../../src/auth/loginWithCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtF,KAAK,mBAAmB,CAAC,qBAAqB,SAAS,OAAO,IAAI;IAChE,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,qBAAqB,CAAA;CAC7C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,kBAAkB,EAChC,qBAAqB,SAAS,OAAO,GAAG,KAAK,2EAQ5C,mBAAmB,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC;IACtD,MAAM,EAAE,qBAAqB,SAAS,IAAI,GAAG,YAAY,GAAG,MAAM,CAAA;IAClE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;CAC3B,
|
|
1
|
+
{"version":3,"file":"loginWithCookie.d.ts","sourceRoot":"","sources":["../../src/auth/loginWithCookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtF,KAAK,mBAAmB,CAAC,qBAAqB,SAAS,OAAO,IAAI;IAChE,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,qBAAqB,CAAA;CAC7C,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,kBAAkB,EAChC,qBAAqB,SAAS,OAAO,GAAG,KAAK,2EAQ5C,mBAAmB,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC;IACtD,MAAM,EAAE,qBAAqB,SAAS,IAAI,GAAG,YAAY,GAAG,MAAM,CAAA;IAClE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;CAC3B,CAsBA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/loginWithCookie.ts"],"sourcesContent":["import type { Collection } from '../collections/config/types.js'\nimport type { AuthCollectionSlug } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { generateCookie } from './cookies.js'\nimport type { LoginResult } from './operations/login.js'\n\nimport { generatePayloadCookie } from './cookies.js'\nimport { loginOperation } from './operations/login.js'\n\ntype CookieObject = Extract<ReturnType<typeof generateCookie<true>>, { name: string }>\n\ntype LoginWithCookieArgs<TReturnCookieAsObject extends boolean> = {\n collection: Collection\n data: Parameters<typeof loginOperation>[0]['data']\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n /** Return the cookie as parts rather than a serialized header string. */\n returnCookieAsObject?: TReturnCookieAsObject\n}\n\n/**\n * Runs the login operation and builds the auth cookie from its token, then\n * applies `auth.removeTokenFromResponses` to the returned result.\n *\n * The order matters: the token has to be read before the flag strips it, or the\n * caller ends up returning a user with no way to establish a session. Shared by\n * the REST login handler and the framework adapters' `login` server function so\n * that ordering only exists in one place.\n */\nexport const loginWithCookie = async <\n TSlug extends AuthCollectionSlug,\n TReturnCookieAsObject extends boolean = false,\n>({\n collection,\n data,\n depth,\n overrideAccess,\n req,\n returnCookieAsObject,\n}: LoginWithCookieArgs<TReturnCookieAsObject>): Promise<{\n cookie: TReturnCookieAsObject extends true ? CookieObject : string\n result: LoginResult<TSlug>\n}> => {\n const result = await loginOperation({\n collection,\n data,\n depth,\n overrideAccess,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n returnCookieAsObject: returnCookieAsObject ?? false,\n token: result.token!,\n })
|
|
1
|
+
{"version":3,"sources":["../../src/auth/loginWithCookie.ts"],"sourcesContent":["import type { Collection } from '../collections/config/types.js'\nimport type { AuthCollectionSlug } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { generateCookie } from './cookies.js'\nimport type { LoginResult } from './operations/login.js'\n\nimport { generatePayloadCookie } from './cookies.js'\nimport { loginOperation } from './operations/login.js'\n\ntype CookieObject = Extract<ReturnType<typeof generateCookie<true>>, { name: string }>\n\ntype LoginWithCookieArgs<TReturnCookieAsObject extends boolean> = {\n collection: Collection\n data: Parameters<typeof loginOperation>[0]['data']\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n /** Return the cookie as parts rather than a serialized header string. */\n returnCookieAsObject?: TReturnCookieAsObject\n}\n\n/**\n * Runs the login operation and builds the auth cookie from its token, then\n * applies `auth.removeTokenFromResponses` to the returned result.\n *\n * The order matters: the token has to be read before the flag strips it, or the\n * caller ends up returning a user with no way to establish a session. Shared by\n * the REST login handler and the framework adapters' `login` server function so\n * that ordering only exists in one place.\n */\nexport const loginWithCookie = async <\n TSlug extends AuthCollectionSlug,\n TReturnCookieAsObject extends boolean = false,\n>({\n collection,\n data,\n depth,\n overrideAccess,\n req,\n returnCookieAsObject,\n}: LoginWithCookieArgs<TReturnCookieAsObject>): Promise<{\n cookie: TReturnCookieAsObject extends true ? CookieObject : string\n result: LoginResult<TSlug>\n}> => {\n const result = await loginOperation({\n collection,\n data,\n depth,\n overrideAccess,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n returnCookieAsObject: returnCookieAsObject ?? false,\n token: result.token!,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.refreshToken\n delete result.token\n }\n\n return { cookie, result }\n}\n"],"names":["generatePayloadCookie","loginOperation","loginWithCookie","collection","data","depth","overrideAccess","req","returnCookieAsObject","result","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","removeTokenFromResponses","refreshToken"],"mappings":"AAMA,SAASA,qBAAqB,QAAQ,eAAc;AACpD,SAASC,cAAc,QAAQ,wBAAuB;AActD;;;;;;;;CAQC,GACD,OAAO,MAAMC,kBAAkB,OAG7B,EACAC,UAAU,EACVC,IAAI,EACJC,KAAK,EACLC,cAAc,EACdC,GAAG,EACHC,oBAAoB,EACuB;IAI3C,MAAMC,SAAS,MAAMR,eAAe;QAClCE;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,MAAMG,SAASV,sBAAsB;QACnCW,sBAAsBR,WAAWS,MAAM,CAACC,IAAI;QAC5CC,cAAcP,IAAIQ,OAAO,CAACH,MAAM,CAACE,YAAY;QAC7CN,sBAAsBA,wBAAwB;QAC9CQ,OAAOP,OAAOO,KAAK;IACrB;IAEA,IAAIb,WAAWS,MAAM,CAACC,IAAI,CAACI,wBAAwB,EAAE;QACnD,OAAOR,OAAOS,YAAY;QAC1B,OAAOT,OAAOO,KAAK;IACrB;IAEA,OAAO;QAAEN;QAAQD;IAAO;AAC1B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gCAAgC,EAChC,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAA;AAEjD,wBAAsB,UAAU,CAAC,KAAK,SAAS,kBAAkB,EAC/D,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gCAAgC,EAChC,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAA;AAEjD,wBAAsB,UAAU,CAAC,KAAK,SAAS,kBAAkB,EAC/D,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAkC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type {\n AuthCollectionSlug,\n AuthOperationsFromCollectionSlug,\n Payload,\n RequestContext,\n} from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { SharedLocalAPIOptions } from '../../../types/operations.js'\nimport type { LoginResult } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createPayloadRequest } from '../../../utilities/createPayloadRequest.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n context?: RequestContext\n data: AuthOperationsFromCollectionSlug<TSlug>['login']\n depth?: number\n fallbackLocale?: string\n locale?: string\n req?: Partial<PayloadRequest>\n showHiddenFields?: boolean\n trash?: boolean\n} & Pick<SharedLocalAPIOptions, 'overrideAccess'>\n\nexport async function loginLocal<TSlug extends AuthCollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<LoginResult<TSlug>> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = false,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createPayloadRequest({ ...options, payload }),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n"],"names":["APIError","createPayloadRequest","loginOperation","loginLocal","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","token"],"mappings":"AAUA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,oBAAoB,QAAQ,6CAA4C;AACjF,SAASC,cAAc,QAAQ,cAAa;AAc5C,OAAO,eAAeC,WACpBC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,KAAK,EACtBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,qBAAqB;YAAE,GAAGI,OAAO;YAAED;QAAQ;QACtDO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,KAAK;IACrB;IAEA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type {\n AuthCollectionSlug,\n AuthOperationsFromCollectionSlug,\n Payload,\n RequestContext,\n} from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { SharedLocalAPIOptions } from '../../../types/operations.js'\nimport type { LoginResult } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createPayloadRequest } from '../../../utilities/createPayloadRequest.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n context?: RequestContext\n data: AuthOperationsFromCollectionSlug<TSlug>['login']\n depth?: number\n fallbackLocale?: string\n locale?: string\n req?: Partial<PayloadRequest>\n showHiddenFields?: boolean\n trash?: boolean\n} & Pick<SharedLocalAPIOptions, 'overrideAccess'>\n\nexport async function loginLocal<TSlug extends AuthCollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<LoginResult<TSlug>> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = false,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createPayloadRequest({ ...options, payload }),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.refreshToken\n delete result.token\n }\n\n return result\n}\n"],"names":["APIError","createPayloadRequest","loginOperation","loginLocal","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","refreshToken","token"],"mappings":"AAUA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,oBAAoB,QAAQ,6CAA4C;AACjF,SAASC,cAAc,QAAQ,cAAa;AAc5C,OAAO,eAAeC,WACpBC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,KAAK,EACtBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,qBAAqB;YAAE,GAAGI,OAAO;YAAED;QAAQ;QACtDO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,YAAY;QAC1B,OAAOJ,OAAOK,KAAK;IACrB;IAEA,OAAOL;AACT"}
|
|
@@ -4,6 +4,8 @@ import type { PayloadRequest } from '../../types/index.js';
|
|
|
4
4
|
import type { AuthRuntimeFields } from '../types.js';
|
|
5
5
|
export type LoginResult<TSlug extends AuthCollectionSlug> = {
|
|
6
6
|
exp?: number;
|
|
7
|
+
/** With `auth.refreshTokens`, trades for a new token after this one expires. */
|
|
8
|
+
refreshToken?: string;
|
|
7
9
|
token?: string;
|
|
8
10
|
user?: AuthRuntimeFields & DataFromCollectionSlug<TSlug>;
|
|
9
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,UAAU,EACV,sBAAsB,EACvB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,gBAAgB,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,UAAU,EACV,sBAAsB,EACvB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,gBAAgB,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAyBpD,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,kBAAkB,IAAI;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACxD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,KAAK,wBAAwB,CAAC,KAAK,SAAS,kBAAkB,IAAI;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;CACpC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,kBAAkB,yCAIlE,wBAAwB,CAAC,KAAK,CAAC,SAQjC,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,KAAK,SAAS,kBAAkB,gBACrD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAsV5B,CAAA"}
|
|
@@ -7,11 +7,10 @@ import { assertNoValidationWrite } from '../../utilities/assertNoValidationWrite
|
|
|
7
7
|
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
8
8
|
import { sanitizeInternalFields } from '../../utilities/sanitizeInternalFields.js';
|
|
9
9
|
import { applyUserReadAccess } from '../applyUserReadAccess.js';
|
|
10
|
-
import {
|
|
10
|
+
import { createAuthToken } from '../createAuthToken.js';
|
|
11
11
|
import { getLoginOptions } from '../getLoginOptions.js';
|
|
12
12
|
import { isUserLocked } from '../isUserLocked.js';
|
|
13
|
-
import {
|
|
14
|
-
import { addSessionToUser, revokeSession } from '../sessions.js';
|
|
13
|
+
import { revokeSession } from '../sessions.js';
|
|
15
14
|
import { authenticateLocalStrategy } from '../strategies/local/authenticate.js';
|
|
16
15
|
import { generatePasswordSaltHash } from '../strategies/local/generatePasswordSaltHash.js';
|
|
17
16
|
import { incrementLoginAttempts } from '../strategies/local/incrementLoginAttempts.js';
|
|
@@ -43,7 +42,7 @@ export const loginOperation = async (incomingArgs)=>{
|
|
|
43
42
|
operation: 'login',
|
|
44
43
|
overrideAccess: args.overrideAccess
|
|
45
44
|
});
|
|
46
|
-
const { collection: { config: collectionConfig }, data, depth, overrideAccess = false, req, req: { payload
|
|
45
|
+
const { collection: { config: collectionConfig }, data, depth, overrideAccess = false, req, req: { payload }, showHiddenFields } = args;
|
|
47
46
|
// /////////////////////////////////////
|
|
48
47
|
// Login
|
|
49
48
|
// /////////////////////////////////////
|
|
@@ -219,21 +218,14 @@ export const loginOperation = async (incomingArgs)=>{
|
|
|
219
218
|
user
|
|
220
219
|
});
|
|
221
220
|
}
|
|
222
|
-
const
|
|
221
|
+
const { exp, refreshToken, token, ...session } = await createAuthToken({
|
|
223
222
|
collectionConfig,
|
|
224
223
|
email: sanitizedEmail,
|
|
225
|
-
user
|
|
226
|
-
};
|
|
227
|
-
const session = await addSessionToUser({
|
|
228
|
-
collectionConfig,
|
|
229
|
-
payload,
|
|
230
224
|
req,
|
|
225
|
+
shouldCreateRefreshToken: Boolean(collectionConfig.auth.refreshTokens),
|
|
231
226
|
user
|
|
232
227
|
});
|
|
233
228
|
sid = session.sid;
|
|
234
|
-
if (sid) {
|
|
235
|
-
fieldsToSignArgs.sid = sid;
|
|
236
|
-
}
|
|
237
229
|
if (authResult.shouldUpdatePasswordHash && typeof authenticatedHash === 'string' && typeof authenticatedSalt === 'string') {
|
|
238
230
|
try {
|
|
239
231
|
const { hash, salt } = await generatePasswordSaltHash({
|
|
@@ -273,7 +265,6 @@ export const loginOperation = async (incomingArgs)=>{
|
|
|
273
265
|
});
|
|
274
266
|
}
|
|
275
267
|
}
|
|
276
|
-
const fieldsToSign = getFieldsToSign(fieldsToSignArgs);
|
|
277
268
|
if (maxLoginAttemptsEnabled) {
|
|
278
269
|
await resetLoginAttempts({
|
|
279
270
|
collection: collectionConfig,
|
|
@@ -295,11 +286,6 @@ export const loginOperation = async (incomingArgs)=>{
|
|
|
295
286
|
}) || user;
|
|
296
287
|
}
|
|
297
288
|
}
|
|
298
|
-
const { exp, token } = await jwtSign({
|
|
299
|
-
fieldsToSign,
|
|
300
|
-
secret,
|
|
301
|
-
tokenExpiration: collectionConfig.auth.tokenExpiration
|
|
302
|
-
});
|
|
303
289
|
req.user = user;
|
|
304
290
|
// /////////////////////////////////////
|
|
305
291
|
// afterLogin - Collection
|
|
@@ -328,6 +314,7 @@ export const loginOperation = async (incomingArgs)=>{
|
|
|
328
314
|
});
|
|
329
315
|
let result = {
|
|
330
316
|
exp,
|
|
317
|
+
refreshToken,
|
|
331
318
|
token,
|
|
332
319
|
user: userWithReadAccess
|
|
333
320
|
};
|