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
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { defaultRefreshTokenExpiration } from '../collections/config/defaults.js';
|
|
2
|
+
import { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js';
|
|
3
|
+
import { getFieldsToSign } from './getFieldsToSign.js';
|
|
4
|
+
import { jwtSign } from './jwt.js';
|
|
5
|
+
import { removeExpiredSessions, revokeSession } from './sessions.js';
|
|
6
|
+
/**
|
|
7
|
+
* How long an already used refresh token still works, in milliseconds. Clients that send requests
|
|
8
|
+
* in parallel can refresh twice at once.
|
|
9
|
+
*/ const reuseInterval = 30 * 1000;
|
|
10
|
+
/**
|
|
11
|
+
* Trades a refresh token from `createAuthToken` or an earlier refresh for a new token and a new
|
|
12
|
+
* refresh token. Every refresh moves the session's `expiresAt`, which the refresh token remembers,
|
|
13
|
+
* so a refresh token with an outdated one was already used. That means it was copied, and its
|
|
14
|
+
* session is logged out.
|
|
15
|
+
*
|
|
16
|
+
* @returns `null` when the refresh token is invalid, its session ended, or it was reused
|
|
17
|
+
*/ export const refreshAuthToken = async ({ collection, refreshToken, req })=>{
|
|
18
|
+
assertNoValidationWrite(req);
|
|
19
|
+
const contents = readRefreshToken({
|
|
20
|
+
refreshToken,
|
|
21
|
+
req
|
|
22
|
+
});
|
|
23
|
+
const collectionConfig = contents && req.payload.collections[contents.collection]?.config;
|
|
24
|
+
if (!contents || !collectionConfig || collection && collection !== contents.collection) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const user = await req.payload.db.findOne({
|
|
28
|
+
collection: collectionConfig.slug,
|
|
29
|
+
req,
|
|
30
|
+
where: {
|
|
31
|
+
id: {
|
|
32
|
+
equals: contents.userID
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const session = removeExpiredSessions(user?.sessions ?? []).find(({ id })=>id === contents.sid);
|
|
37
|
+
if (!user || !session) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const expiration = getRefreshTokenExpiration(collectionConfig);
|
|
41
|
+
const sessionExpiresAt = new Date(session.expiresAt).getTime();
|
|
42
|
+
const refreshedAt = sessionExpiresAt - expiration * 1000;
|
|
43
|
+
if (sessionExpiresAt === contents.expiresAt) {
|
|
44
|
+
session.expiresAt = new Date(Date.now() + expiration * 1000);
|
|
45
|
+
await req.payload.db.updateOne({
|
|
46
|
+
id: user.id,
|
|
47
|
+
collection: collectionConfig.slug,
|
|
48
|
+
data: {
|
|
49
|
+
...user,
|
|
50
|
+
// Prevent updatedAt from being updated when only refreshing a session
|
|
51
|
+
sessions: removeExpiredSessions(user.sessions),
|
|
52
|
+
updatedAt: null
|
|
53
|
+
},
|
|
54
|
+
req,
|
|
55
|
+
returning: false
|
|
56
|
+
});
|
|
57
|
+
} else if (Date.now() - refreshedAt >= reuseInterval) {
|
|
58
|
+
await revokeSession({
|
|
59
|
+
collectionConfig,
|
|
60
|
+
payload: req.payload,
|
|
61
|
+
req,
|
|
62
|
+
sid: session.id,
|
|
63
|
+
user
|
|
64
|
+
});
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
// Otherwise the client refreshed twice at once, and gets the current session again
|
|
68
|
+
const { exp, token } = await jwtSign({
|
|
69
|
+
fieldsToSign: getFieldsToSign({
|
|
70
|
+
collectionConfig,
|
|
71
|
+
email: user.email,
|
|
72
|
+
sid: session.id,
|
|
73
|
+
user
|
|
74
|
+
}),
|
|
75
|
+
secret: req.payload.secret,
|
|
76
|
+
tokenExpiration: collectionConfig.auth.tokenExpiration
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
collectionConfig,
|
|
80
|
+
exp,
|
|
81
|
+
refreshToken: createRefreshToken({
|
|
82
|
+
collectionConfig,
|
|
83
|
+
req,
|
|
84
|
+
session,
|
|
85
|
+
userID: user.id
|
|
86
|
+
}),
|
|
87
|
+
token,
|
|
88
|
+
user
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
/** How many seconds a session with a refresh token lasts from each refresh. */ export const getRefreshTokenExpiration = (collectionConfig)=>collectionConfig.auth.refreshTokens ? collectionConfig.auth.refreshTokens.expiration : defaultRefreshTokenExpiration;
|
|
92
|
+
export const createRefreshToken = ({ collectionConfig, req, session, userID })=>req.payload.encrypt(JSON.stringify({
|
|
93
|
+
collection: collectionConfig.slug,
|
|
94
|
+
expiresAt: new Date(session.expiresAt).getTime(),
|
|
95
|
+
sid: session.id,
|
|
96
|
+
userID
|
|
97
|
+
}));
|
|
98
|
+
const readRefreshToken = ({ refreshToken, req })=>{
|
|
99
|
+
// Only the v1 format is authenticated. Older formats decrypt anything without an error.
|
|
100
|
+
if (!refreshToken.startsWith('v1:')) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
// Only the current secret, since previous secrets can be public, like a default from source code
|
|
105
|
+
return JSON.parse(req.payload.decrypt(refreshToken, {
|
|
106
|
+
secret: req.payload.config.secret
|
|
107
|
+
}));
|
|
108
|
+
} catch {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=refreshAuthToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/auth/refreshAuthToken.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { AuthenticatedUser, UserSession } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { defaultRefreshTokenExpiration } from '../collections/config/defaults.js'\nimport { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js'\nimport { getFieldsToSign } from './getFieldsToSign.js'\nimport { jwtSign } from './jwt.js'\nimport { removeExpiredSessions, revokeSession } from './sessions.js'\n\n/**\n * How long an already used refresh token still works, in milliseconds. Clients that send requests\n * in parallel can refresh twice at once.\n */\nconst reuseInterval = 30 * 1000\n\n/** What a refresh token points to. It's encrypted, so clients can't read or change it. */\ntype RefreshTokenContents = {\n collection: string\n /** The session's `expiresAt` when the refresh token was created. Every refresh moves it. */\n expiresAt: number\n sid: string\n userID: number | string\n}\n\n/**\n * Trades a refresh token from `createAuthToken` or an earlier refresh for a new token and a new\n * refresh token. Every refresh moves the session's `expiresAt`, which the refresh token remembers,\n * so a refresh token with an outdated one was already used. That means it was copied, and its\n * session is logged out.\n *\n * @returns `null` when the refresh token is invalid, its session ended, or it was reused\n */\nexport const refreshAuthToken = async ({\n collection,\n refreshToken,\n req,\n}: {\n /** Only accept refresh tokens of this collection. */\n collection?: string\n refreshToken: string\n req: PayloadRequest\n}): Promise<{\n collectionConfig: SanitizedCollectionConfig\n exp: number\n refreshToken: string\n token: string\n user: AuthenticatedUser\n} | null> => {\n assertNoValidationWrite(req)\n\n const contents = readRefreshToken({ refreshToken, req })\n const collectionConfig = contents && req.payload.collections[contents.collection]?.config\n\n if (!contents || !collectionConfig || (collection && collection !== contents.collection)) {\n return null\n }\n\n const user = await req.payload.db.findOne<AuthenticatedUser>({\n collection: collectionConfig.slug,\n req,\n where: { id: { equals: contents.userID } },\n })\n const session = removeExpiredSessions(user?.sessions ?? []).find(({ id }) => id === contents.sid)\n\n if (!user || !session) {\n return null\n }\n\n const expiration = getRefreshTokenExpiration(collectionConfig)\n const sessionExpiresAt = new Date(session.expiresAt).getTime()\n const refreshedAt = sessionExpiresAt - expiration * 1000\n\n if (sessionExpiresAt === contents.expiresAt) {\n session.expiresAt = new Date(Date.now() + expiration * 1000)\n\n await req.payload.db.updateOne({\n id: user.id,\n collection: collectionConfig.slug,\n data: {\n ...user,\n // Prevent updatedAt from being updated when only refreshing a session\n sessions: removeExpiredSessions(user.sessions!),\n updatedAt: null,\n },\n req,\n returning: false,\n })\n } else if (Date.now() - refreshedAt >= reuseInterval) {\n await revokeSession({ collectionConfig, payload: req.payload, req, sid: session.id, user })\n\n return null\n }\n // Otherwise the client refreshed twice at once, and gets the current session again\n\n const { exp, token } = await jwtSign({\n fieldsToSign: getFieldsToSign({ collectionConfig, email: user.email!, sid: session.id, user }),\n secret: req.payload.secret,\n tokenExpiration: collectionConfig.auth.tokenExpiration,\n })\n\n return {\n collectionConfig,\n exp,\n refreshToken: createRefreshToken({ collectionConfig, req, session, userID: user.id }),\n token,\n user,\n }\n}\n\n/** How many seconds a session with a refresh token lasts from each refresh. */\nexport const getRefreshTokenExpiration = (collectionConfig: SanitizedCollectionConfig): number =>\n collectionConfig.auth.refreshTokens\n ? collectionConfig.auth.refreshTokens.expiration\n : defaultRefreshTokenExpiration\n\nexport const createRefreshToken = ({\n collectionConfig,\n req,\n session,\n userID,\n}: {\n collectionConfig: SanitizedCollectionConfig\n req: PayloadRequest\n session: UserSession\n userID: number | string\n}): string =>\n req.payload.encrypt(\n JSON.stringify({\n collection: collectionConfig.slug,\n expiresAt: new Date(session.expiresAt).getTime(),\n sid: session.id,\n userID,\n } satisfies RefreshTokenContents),\n )\n\nconst readRefreshToken = ({\n refreshToken,\n req,\n}: {\n refreshToken: string\n req: PayloadRequest\n}): RefreshTokenContents | undefined => {\n // Only the v1 format is authenticated. Older formats decrypt anything without an error.\n if (!refreshToken.startsWith('v1:')) {\n return undefined\n }\n\n try {\n // Only the current secret, since previous secrets can be public, like a default from source code\n return JSON.parse(req.payload.decrypt(refreshToken, { secret: req.payload.config.secret }))\n } catch {\n return undefined\n }\n}\n"],"names":["defaultRefreshTokenExpiration","assertNoValidationWrite","getFieldsToSign","jwtSign","removeExpiredSessions","revokeSession","reuseInterval","refreshAuthToken","collection","refreshToken","req","contents","readRefreshToken","collectionConfig","payload","collections","config","user","db","findOne","slug","where","id","equals","userID","session","sessions","find","sid","expiration","getRefreshTokenExpiration","sessionExpiresAt","Date","expiresAt","getTime","refreshedAt","now","updateOne","data","updatedAt","returning","exp","token","fieldsToSign","email","secret","tokenExpiration","auth","createRefreshToken","refreshTokens","encrypt","JSON","stringify","startsWith","undefined","parse","decrypt"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/serverFunctions/cookies.ts"],"sourcesContent":["import type { CookieOptions } from '../../admin/adapters/cookies.js'\nimport type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { Auth } from '../types.js'\n\nimport { generateExpiredPayloadCookie, generatePayloadCookie } from '../cookies.js'\n\n/**\n * Object form returned by `generatePayloadCookie`/`generateExpiredPayloadCookie`\n * when `returnCookieAsObject` is `true`.\n */\nexport type GeneratedCookie = {\n domain?: string\n expires?: string\n httpOnly?: boolean\n maxAge?: number\n name: string\n path?: string\n sameSite?: 'Lax' | 'None' | 'Strict'\n secure?: boolean\n value: string | undefined\n}\n\n// `generateCookie` emits capitalized `SameSite` values (as they appear in the\n// header); `CookieOptions` takes the lowercase form.\nconst toCookieOptions = (cookie: GeneratedCookie): CookieOptions => ({\n domain: cookie.domain,\n expires: cookie.expires ? new Date(cookie.expires) : undefined,\n httpOnly: cookie.httpOnly,\n maxAge: cookie.maxAge,\n path: cookie.path,\n sameSite: cookie.sameSite?.toLowerCase() as CookieOptions['sameSite'],\n secure: cookie.secure,\n})\n\ntype AuthCookieArgs = {\n authConfig: Auth\n cookiePrefix: string\n serverAdapter: ServerAdapter\n}\n\n/** Writes an already-generated cookie through the framework's cookie API. */\nexport async function applyAuthCookie({\n cookie,\n serverAdapter,\n}: {\n cookie: GeneratedCookie\n serverAdapter: ServerAdapter\n}): Promise<void> {\n if (!cookie.value) {\n return\n }\n\n await serverAdapter.setCookie(cookie.name, cookie.value, toCookieOptions(cookie))\n}\n\n/** Writes the Payload auth cookie for `token` through the framework's cookie API. */\nexport async function setAuthCookie({\n authConfig,\n cookiePrefix,\n serverAdapter,\n token,\n}: { token: string } & AuthCookieArgs): Promise<void> {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: authConfig,\n cookiePrefix,\n returnCookieAsObject: true,\n token,\n })
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/serverFunctions/cookies.ts"],"sourcesContent":["import type { CookieOptions } from '../../admin/adapters/cookies.js'\nimport type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { Auth } from '../types.js'\n\nimport { generateExpiredPayloadCookie, generatePayloadCookie } from '../cookies.js'\n\n/**\n * Object form returned by `generatePayloadCookie`/`generateExpiredPayloadCookie`\n * when `returnCookieAsObject` is `true`.\n */\nexport type GeneratedCookie = {\n domain?: string\n expires?: string\n httpOnly?: boolean\n maxAge?: number\n name: string\n path?: string\n sameSite?: 'Lax' | 'None' | 'Strict'\n secure?: boolean\n value: string | undefined\n}\n\n// `generateCookie` emits capitalized `SameSite` values (as they appear in the\n// header); `CookieOptions` takes the lowercase form.\nconst toCookieOptions = (cookie: GeneratedCookie): CookieOptions => ({\n domain: cookie.domain,\n expires: cookie.expires ? new Date(cookie.expires) : undefined,\n httpOnly: cookie.httpOnly,\n maxAge: cookie.maxAge,\n path: cookie.path,\n sameSite: cookie.sameSite?.toLowerCase() as CookieOptions['sameSite'],\n secure: cookie.secure,\n})\n\ntype AuthCookieArgs = {\n authConfig: Auth\n cookiePrefix: string\n serverAdapter: ServerAdapter\n}\n\n/** Writes an already-generated cookie through the framework's cookie API. */\nexport async function applyAuthCookie({\n cookie,\n serverAdapter,\n}: {\n cookie: GeneratedCookie\n serverAdapter: ServerAdapter\n}): Promise<void> {\n if (!cookie.value) {\n return\n }\n\n await serverAdapter.setCookie(cookie.name, cookie.value, toCookieOptions(cookie))\n}\n\n/** Writes the Payload auth cookie for `token` through the framework's cookie API. */\nexport async function setAuthCookie({\n authConfig,\n cookiePrefix,\n serverAdapter,\n token,\n}: { token: string } & AuthCookieArgs): Promise<void> {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: authConfig,\n cookiePrefix,\n returnCookieAsObject: true,\n token,\n })\n\n await applyAuthCookie({ cookie, serverAdapter })\n}\n\n/**\n * Expires the Payload auth cookie. Written with the same `domain`/`path`/`secure`\n * attributes it was set with — a mismatched `domain` leaves the original cookie\n * in place.\n */\nexport async function clearAuthCookie({\n authConfig,\n cookiePrefix,\n serverAdapter,\n}: AuthCookieArgs): Promise<void> {\n const cookie = generateExpiredPayloadCookie({\n collectionAuthConfig: authConfig,\n cookiePrefix,\n returnCookieAsObject: true,\n })\n\n await serverAdapter.setCookie(cookie.name, '', toCookieOptions(cookie))\n}\n\n/** Reads the request's existing Payload auth cookie, if any. */\nexport async function getExistingAuthToken({\n cookiePrefix,\n serverAdapter,\n}: {\n cookiePrefix: string\n serverAdapter: ServerAdapter\n}): Promise<{ name: string; value: string } | undefined> {\n const store = await serverAdapter.getCookies()\n const allCookies = store.getAll?.()\n\n if (allCookies) {\n return allCookies.find((cookie) => cookie.name.startsWith(cookiePrefix))\n }\n\n return store.get(`${cookiePrefix}-token`) ?? undefined\n}\n"],"names":["generateExpiredPayloadCookie","generatePayloadCookie","toCookieOptions","cookie","domain","expires","Date","undefined","httpOnly","maxAge","path","sameSite","toLowerCase","secure","applyAuthCookie","serverAdapter","value","setCookie","name","setAuthCookie","authConfig","cookiePrefix","token","collectionAuthConfig","returnCookieAsObject","clearAuthCookie","getExistingAuthToken","store","getCookies","allCookies","getAll","find","startsWith","get"],"mappings":"AAIA,SAASA,4BAA4B,EAAEC,qBAAqB,QAAQ,gBAAe;AAkBnF,8EAA8E;AAC9E,qDAAqD;AACrD,MAAMC,kBAAkB,CAACC,SAA4C,CAAA;QACnEC,QAAQD,OAAOC,MAAM;QACrBC,SAASF,OAAOE,OAAO,GAAG,IAAIC,KAAKH,OAAOE,OAAO,IAAIE;QACrDC,UAAUL,OAAOK,QAAQ;QACzBC,QAAQN,OAAOM,MAAM;QACrBC,MAAMP,OAAOO,IAAI;QACjBC,UAAUR,OAAOQ,QAAQ,EAAEC;QAC3BC,QAAQV,OAAOU,MAAM;IACvB,CAAA;AAQA,2EAA2E,GAC3E,OAAO,eAAeC,gBAAgB,EACpCX,MAAM,EACNY,aAAa,EAId;IACC,IAAI,CAACZ,OAAOa,KAAK,EAAE;QACjB;IACF;IAEA,MAAMD,cAAcE,SAAS,CAACd,OAAOe,IAAI,EAAEf,OAAOa,KAAK,EAAEd,gBAAgBC;AAC3E;AAEA,mFAAmF,GACnF,OAAO,eAAegB,cAAc,EAClCC,UAAU,EACVC,YAAY,EACZN,aAAa,EACbO,KAAK,EAC8B;IACnC,MAAMnB,SAASF,sBAAsB;QACnCsB,sBAAsBH;QACtBC;QACAG,sBAAsB;QACtBF;IACF;IAEA,MAAMR,gBAAgB;QAAEX;QAAQY;IAAc;AAChD;AAEA;;;;CAIC,GACD,OAAO,eAAeU,gBAAgB,EACpCL,UAAU,EACVC,YAAY,EACZN,aAAa,EACE;IACf,MAAMZ,SAASH,6BAA6B;QAC1CuB,sBAAsBH;QACtBC;QACAG,sBAAsB;IACxB;IAEA,MAAMT,cAAcE,SAAS,CAACd,OAAOe,IAAI,EAAE,IAAIhB,gBAAgBC;AACjE;AAEA,8DAA8D,GAC9D,OAAO,eAAeuB,qBAAqB,EACzCL,YAAY,EACZN,aAAa,EAId;IACC,MAAMY,QAAQ,MAAMZ,cAAca,UAAU;IAC5C,MAAMC,aAAaF,MAAMG,MAAM;IAE/B,IAAID,YAAY;QACd,OAAOA,WAAWE,IAAI,CAAC,CAAC5B,SAAWA,OAAOe,IAAI,CAACc,UAAU,CAACX;IAC5D;IAEA,OAAOM,MAAMM,GAAG,CAAC,GAAGZ,aAAa,MAAM,CAAC,KAAKd;AAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/serverFunctions/login.ts"],"sourcesContent":["import type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { AuthCollectionSlug } from '../../index.js'\nimport type { MaybePromise } from '../../types/index.js'\nimport type { LoginResult } from '../operations/login.js'\n\nimport { getPayload } from '../../index.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { loginWithCookie } from '../loginWithCookie.js'\nimport { applyAuthCookie } from './cookies.js'\n\nexport type LoginArgs<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n config: MaybePromise<SanitizedConfig>\n password: string\n serverAdapter: ServerAdapter\n} & ({ email: string; username?: never } | { email?: never; username: string })\n\n/**\n * `LoginArgs` as the adapters expose it — they bind `serverAdapter` themselves.\n * Distributes over the email/username union so the either-or survives; a plain\n * `Omit` collapses the union and accepts both keys at once.\n */\nexport type LoginArgsWithoutServerAdapter<TSlug extends AuthCollectionSlug> =\n LoginArgs<TSlug> extends infer TArgs\n ? TArgs extends unknown\n ? Omit<TArgs, 'serverAdapter'>\n : never\n : never\n\n/**\n * Logs a user in and writes the auth cookie through the supplied `serverAdapter`,\n * so the function is framework-agnostic; each adapter binds its own.\n */\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n serverAdapter,\n username,\n}: LoginArgs<TSlug>): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config, cron: true })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n let loginData\n\n if (loginWithUsername) {\n loginData = username ? { password, username } : { email, password }\n } else {\n loginData = { email, password }\n }\n\n const collectionConfig = payload.collections[collection]!\n\n const { cookie, result } = await loginWithCookie({\n collection: collectionConfig,\n data: loginData as Parameters<typeof loginWithCookie>[0]['data'],\n overrideAccess: true,\n req: await createPayloadRequest({ payload }),\n returnCookieAsObject: true,\n })\n\n await applyAuthCookie({ cookie, serverAdapter })\n\n return result
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/serverFunctions/login.ts"],"sourcesContent":["import type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { AuthCollectionSlug } from '../../index.js'\nimport type { MaybePromise } from '../../types/index.js'\nimport type { LoginResult } from '../operations/login.js'\n\nimport { getPayload } from '../../index.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { loginWithCookie } from '../loginWithCookie.js'\nimport { applyAuthCookie } from './cookies.js'\n\nexport type LoginArgs<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n config: MaybePromise<SanitizedConfig>\n password: string\n serverAdapter: ServerAdapter\n} & ({ email: string; username?: never } | { email?: never; username: string })\n\n/**\n * `LoginArgs` as the adapters expose it — they bind `serverAdapter` themselves.\n * Distributes over the email/username union so the either-or survives; a plain\n * `Omit` collapses the union and accepts both keys at once.\n */\nexport type LoginArgsWithoutServerAdapter<TSlug extends AuthCollectionSlug> =\n LoginArgs<TSlug> extends infer TArgs\n ? TArgs extends unknown\n ? Omit<TArgs, 'serverAdapter'>\n : never\n : never\n\n/**\n * Logs a user in and writes the auth cookie through the supplied `serverAdapter`,\n * so the function is framework-agnostic; each adapter binds its own.\n */\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n serverAdapter,\n username,\n}: LoginArgs<TSlug>): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config, cron: true })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n let loginData\n\n if (loginWithUsername) {\n loginData = username ? { password, username } : { email, password }\n } else {\n loginData = { email, password }\n }\n\n const collectionConfig = payload.collections[collection]!\n\n const { cookie, result } = await loginWithCookie({\n collection: collectionConfig,\n data: loginData as Parameters<typeof loginWithCookie>[0]['data'],\n overrideAccess: true,\n req: await createPayloadRequest({ payload }),\n returnCookieAsObject: true,\n })\n\n await applyAuthCookie({ cookie, serverAdapter })\n\n return result\n}\n"],"names":["getPayload","createPayloadRequest","loginWithCookie","applyAuthCookie","login","collection","config","email","password","serverAdapter","username","payload","cron","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","loginData","collectionConfig","cookie","result","data","overrideAccess","req","returnCookieAsObject"],"mappings":"AAMA,SAASA,UAAU,QAAQ,iBAAgB;AAC3C,SAASC,oBAAoB,QAAQ,0CAAyC;AAC9E,SAASC,eAAe,QAAQ,wBAAuB;AACvD,SAASC,eAAe,QAAQ,eAAc;AAqB9C;;;CAGC,GACD,OAAO,eAAeC,MAAwC,EAC5DC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,aAAa,EACbC,QAAQ,EACS;IACjB,MAAMC,UAAU,MAAMX,WAAW;QAAEM;QAAQM,MAAM;IAAK;IAEtD,MAAMC,aAAaF,QAAQG,WAAW,CAACT,WAAW,EAAEC,OAAOS;IAE3D,IAAI,CAACF,YAAY;QACf,MAAM,IAAIG,MAAM,CAAC,qCAAqC,EAAEX,YAAY;IACtE;IAEA,MAAMY,oBAAoBJ,WAAWI,iBAAiB,IAAI;IAE1D,IAAIA,mBAAmB;QACrB,IAAIA,kBAAkBC,eAAe,EAAE;YACrC,IAAI,CAACX,SAAS,CAACG,UAAU;gBACvB,MAAM,IAAIM,MAAM;YAClB;QACF,OAAO;YACL,IAAI,CAACN,UAAU;gBACb,MAAM,IAAIM,MAAM;YAClB;QACF;IACF,OAAO;QACL,IAAI,CAACT,OAAO;YACV,MAAM,IAAIS,MAAM;QAClB;IACF;IAEA,IAAIG;IAEJ,IAAIF,mBAAmB;QACrBE,YAAYT,WAAW;YAAEF;YAAUE;QAAS,IAAI;YAAEH;YAAOC;QAAS;IACpE,OAAO;QACLW,YAAY;YAAEZ;YAAOC;QAAS;IAChC;IAEA,MAAMY,mBAAmBT,QAAQG,WAAW,CAACT,WAAW;IAExD,MAAM,EAAEgB,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMpB,gBAAgB;QAC/CG,YAAYe;QACZG,MAAMJ;QACNK,gBAAgB;QAChBC,KAAK,MAAMxB,qBAAqB;YAAEU;QAAQ;QAC1Ce,sBAAsB;IACxB;IAEA,MAAMvB,gBAAgB;QAAEkB;QAAQZ;IAAc;IAE9C,OAAOa;AACT"}
|
package/dist/auth/sessions.d.ts
CHANGED
|
@@ -7,14 +7,21 @@ import type { Payload, PayloadRequest } from '../types/index.js';
|
|
|
7
7
|
export declare const removeExpiredSessions: (sessions: UserSession[]) => UserSession[];
|
|
8
8
|
/**
|
|
9
9
|
* Adds a session to the user and removes expired sessions
|
|
10
|
-
* @returns The session ID (sid) if sessions are used
|
|
10
|
+
* @returns The session and its ID (sid) if sessions are used
|
|
11
11
|
*/
|
|
12
|
-
export declare const addSessionToUser: ({ collectionConfig, payload, req, user, }: {
|
|
12
|
+
export declare const addSessionToUser: ({ collectionConfig, payload, req, sessionExpiration, user, }: {
|
|
13
13
|
collectionConfig: SanitizedCollectionConfig;
|
|
14
14
|
payload: Payload;
|
|
15
15
|
req: PayloadRequest;
|
|
16
|
+
/**
|
|
17
|
+
* Seconds until the session expires.
|
|
18
|
+
*
|
|
19
|
+
* @default collectionConfig.auth.tokenExpiration
|
|
20
|
+
*/
|
|
21
|
+
sessionExpiration?: number;
|
|
16
22
|
user: AuthenticatedUser;
|
|
17
23
|
}) => Promise<{
|
|
24
|
+
session?: UserSession;
|
|
18
25
|
sid?: string;
|
|
19
26
|
}>;
|
|
20
27
|
export declare const revokeSession: ({ collectionConfig, payload, req, sid, user, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/auth/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIhE;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAc,WAAW,EAAE,KAAG,WAAW,EAO1E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/auth/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIhE;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAc,WAAW,EAAE,KAAG,WAAW,EAO1E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,iEAM1B;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,iBAAiB,CAAA;CACxB,KAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAwClD,CAAA;AAED,eAAO,MAAM,aAAa,mDAMvB;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB,KAAG,OAAO,CAAC,IAAI,CAaf,CAAA"}
|
package/dist/auth/sessions.js
CHANGED
|
@@ -11,17 +11,17 @@ import { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js
|
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* Adds a session to the user and removes expired sessions
|
|
14
|
-
* @returns The session ID (sid) if sessions are used
|
|
15
|
-
*/ export const addSessionToUser = async ({ collectionConfig, payload, req, user })=>{
|
|
14
|
+
* @returns The session and its ID (sid) if sessions are used
|
|
15
|
+
*/ export const addSessionToUser = async ({ collectionConfig, payload, req, sessionExpiration = collectionConfig.auth.tokenExpiration, user })=>{
|
|
16
16
|
assertNoValidationWrite(req);
|
|
17
|
+
let session;
|
|
17
18
|
let sid;
|
|
18
19
|
if (collectionConfig.auth.useSessions) {
|
|
19
20
|
// Add session to user
|
|
20
21
|
sid = uuid();
|
|
21
22
|
const now = new Date();
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
const session = {
|
|
23
|
+
const expiresAt = new Date(now.getTime() + sessionExpiration * 1000);
|
|
24
|
+
session = {
|
|
25
25
|
id: sid,
|
|
26
26
|
createdAt: now,
|
|
27
27
|
expiresAt
|
|
@@ -49,6 +49,7 @@ import { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js
|
|
|
49
49
|
user._strategy = 'local-jwt';
|
|
50
50
|
}
|
|
51
51
|
return {
|
|
52
|
+
session,
|
|
52
53
|
sid
|
|
53
54
|
};
|
|
54
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/sessions.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { AuthenticatedUser, User, UserSession } from '../index.js'\nimport type { Payload, PayloadRequest } from '../types/index.js'\n\nimport { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js'\n\n/**\n * Removes expired sessions from an array of sessions\n */\nexport const removeExpiredSessions = (sessions: UserSession[]): UserSession[] => {\n const now = new Date()\n\n return sessions.filter(({ expiresAt }) => {\n const expiry = expiresAt instanceof Date ? expiresAt : new Date(expiresAt)\n return expiry > now\n })\n}\n\n/**\n * Adds a session to the user and removes expired sessions\n * @returns The session ID (sid) if sessions are used\n */\nexport const addSessionToUser = async ({\n collectionConfig,\n payload,\n req,\n user,\n}: {\n collectionConfig: SanitizedCollectionConfig\n payload: Payload\n req: PayloadRequest\n user: AuthenticatedUser\n}): Promise<{ sid?: string }> => {\n assertNoValidationWrite(req)\n\n let sid: string | undefined\n if (collectionConfig.auth.useSessions) {\n // Add session to user\n sid = uuid()\n const now = new Date()\n const
|
|
1
|
+
{"version":3,"sources":["../../src/auth/sessions.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { AuthenticatedUser, User, UserSession } from '../index.js'\nimport type { Payload, PayloadRequest } from '../types/index.js'\n\nimport { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js'\n\n/**\n * Removes expired sessions from an array of sessions\n */\nexport const removeExpiredSessions = (sessions: UserSession[]): UserSession[] => {\n const now = new Date()\n\n return sessions.filter(({ expiresAt }) => {\n const expiry = expiresAt instanceof Date ? expiresAt : new Date(expiresAt)\n return expiry > now\n })\n}\n\n/**\n * Adds a session to the user and removes expired sessions\n * @returns The session and its ID (sid) if sessions are used\n */\nexport const addSessionToUser = async ({\n collectionConfig,\n payload,\n req,\n sessionExpiration = collectionConfig.auth.tokenExpiration,\n user,\n}: {\n collectionConfig: SanitizedCollectionConfig\n payload: Payload\n req: PayloadRequest\n /**\n * Seconds until the session expires.\n *\n * @default collectionConfig.auth.tokenExpiration\n */\n sessionExpiration?: number\n user: AuthenticatedUser\n}): Promise<{ session?: UserSession; sid?: string }> => {\n assertNoValidationWrite(req)\n\n let session: undefined | UserSession\n let sid: string | undefined\n if (collectionConfig.auth.useSessions) {\n // Add session to user\n sid = uuid()\n const now = new Date()\n const expiresAt = new Date(now.getTime() + sessionExpiration * 1000)\n\n session = { id: sid, createdAt: now, expiresAt }\n\n if (!user.sessions?.length) {\n user.sessions = [session]\n } else {\n user.sessions = removeExpiredSessions(user.sessions)\n user.sessions.push(session)\n }\n\n await payload.db.updateOne({\n id: user.id,\n collection: collectionConfig.slug,\n data: {\n ...user,\n // Prevent updatedAt from being updated when only adding a session\n updatedAt: null,\n },\n req,\n returning: false,\n })\n\n user.collection = collectionConfig.slug\n user._strategy = 'local-jwt'\n }\n\n return {\n session,\n sid,\n }\n}\n\nexport const revokeSession = async ({\n collectionConfig,\n payload,\n req,\n sid,\n user,\n}: {\n collectionConfig: SanitizedCollectionConfig\n payload: Payload\n req: PayloadRequest\n sid: string\n user: null | User\n}): Promise<void> => {\n assertNoValidationWrite(req)\n\n if (collectionConfig.auth.useSessions && user && user.sessions?.length) {\n user.sessions = user.sessions.filter((session) => session.id !== sid)\n await payload.db.updateOne({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n returning: false,\n })\n }\n}\n"],"names":["v4","uuid","assertNoValidationWrite","removeExpiredSessions","sessions","now","Date","filter","expiresAt","expiry","addSessionToUser","collectionConfig","payload","req","sessionExpiration","auth","tokenExpiration","user","session","sid","useSessions","getTime","id","createdAt","length","push","db","updateOne","collection","slug","data","updatedAt","returning","_strategy","revokeSession"],"mappings":"AAAA,SAASA,MAAMC,IAAI,QAAQ,OAAM;AAMjC,SAASC,uBAAuB,QAAQ,0CAAyC;AAEjF;;CAEC,GACD,OAAO,MAAMC,wBAAwB,CAACC;IACpC,MAAMC,MAAM,IAAIC;IAEhB,OAAOF,SAASG,MAAM,CAAC,CAAC,EAAEC,SAAS,EAAE;QACnC,MAAMC,SAASD,qBAAqBF,OAAOE,YAAY,IAAIF,KAAKE;QAChE,OAAOC,SAASJ;IAClB;AACF,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMK,mBAAmB,OAAO,EACrCC,gBAAgB,EAChBC,OAAO,EACPC,GAAG,EACHC,oBAAoBH,iBAAiBI,IAAI,CAACC,eAAe,EACzDC,IAAI,EAYL;IACCf,wBAAwBW;IAExB,IAAIK;IACJ,IAAIC;IACJ,IAAIR,iBAAiBI,IAAI,CAACK,WAAW,EAAE;QACrC,sBAAsB;QACtBD,MAAMlB;QACN,MAAMI,MAAM,IAAIC;QAChB,MAAME,YAAY,IAAIF,KAAKD,IAAIgB,OAAO,KAAKP,oBAAoB;QAE/DI,UAAU;YAAEI,IAAIH;YAAKI,WAAWlB;YAAKG;QAAU;QAE/C,IAAI,CAACS,KAAKb,QAAQ,EAAEoB,QAAQ;YAC1BP,KAAKb,QAAQ,GAAG;gBAACc;aAAQ;QAC3B,OAAO;YACLD,KAAKb,QAAQ,GAAGD,sBAAsBc,KAAKb,QAAQ;YACnDa,KAAKb,QAAQ,CAACqB,IAAI,CAACP;QACrB;QAEA,MAAMN,QAAQc,EAAE,CAACC,SAAS,CAAC;YACzBL,IAAIL,KAAKK,EAAE;YACXM,YAAYjB,iBAAiBkB,IAAI;YACjCC,MAAM;gBACJ,GAAGb,IAAI;gBACP,kEAAkE;gBAClEc,WAAW;YACb;YACAlB;YACAmB,WAAW;QACb;QAEAf,KAAKW,UAAU,GAAGjB,iBAAiBkB,IAAI;QACvCZ,KAAKgB,SAAS,GAAG;IACnB;IAEA,OAAO;QACLf;QACAC;IACF;AACF,EAAC;AAED,OAAO,MAAMe,gBAAgB,OAAO,EAClCvB,gBAAgB,EAChBC,OAAO,EACPC,GAAG,EACHM,GAAG,EACHF,IAAI,EAOL;IACCf,wBAAwBW;IAExB,IAAIF,iBAAiBI,IAAI,CAACK,WAAW,IAAIH,QAAQA,KAAKb,QAAQ,EAAEoB,QAAQ;QACtEP,KAAKb,QAAQ,GAAGa,KAAKb,QAAQ,CAACG,MAAM,CAAC,CAACW,UAAYA,QAAQI,EAAE,KAAKH;QACjE,MAAMP,QAAQc,EAAE,CAACC,SAAS,CAAC;YACzBL,IAAIL,KAAKK,EAAE;YACXM,YAAYjB,iBAAiBkB,IAAI;YACjCC,MAAMb;YACNJ;YACAmB,WAAW;QACb;IACF;AACF,EAAC"}
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -250,6 +250,27 @@ export interface IncomingAuthType {
|
|
|
250
250
|
* Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.
|
|
251
251
|
*/
|
|
252
252
|
maxLoginAttempts?: number;
|
|
253
|
+
/**
|
|
254
|
+
* Lets clients stay logged in after their token expires. Logins also return a refresh token,
|
|
255
|
+
* which the refresh operation trades for a new token and a new refresh token. Each refresh token
|
|
256
|
+
* works once: when a used one comes back, its session is logged out. Requires `useSessions`.
|
|
257
|
+
*
|
|
258
|
+
* Refresh tokens don't expire on their own. They work as long as their login session, which lasts
|
|
259
|
+
* `expiration` from the last refresh instead of `tokenExpiration`.
|
|
260
|
+
*
|
|
261
|
+
* @default false
|
|
262
|
+
* @link https://payloadcms.com/docs/authentication/overview#refresh-tokens
|
|
263
|
+
*/
|
|
264
|
+
refreshTokens?: {
|
|
265
|
+
/**
|
|
266
|
+
* How many seconds a login session with a refresh token lasts without a refresh, which is
|
|
267
|
+
* how long its refresh token can be used. Every refresh starts this time again. The token
|
|
268
|
+
* itself still expires after `tokenExpiration`.
|
|
269
|
+
*
|
|
270
|
+
* @default 2592000 (30 days)
|
|
271
|
+
*/
|
|
272
|
+
expiration?: number;
|
|
273
|
+
} | boolean;
|
|
253
274
|
/***
|
|
254
275
|
* Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.
|
|
255
276
|
*/
|
|
@@ -295,9 +316,12 @@ export type VerifyConfig = {
|
|
|
295
316
|
generateEmailHTML?: GenerateVerifyEmailHTML;
|
|
296
317
|
generateEmailSubject?: GenerateVerifyEmailSubject;
|
|
297
318
|
};
|
|
298
|
-
export interface Auth extends Omit<IncomingAuthType, 'cookies' | 'forgotPassword' | 'lockTime' | 'loginWithUsername' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>, Required<Pick<IncomingAuthType, 'forgotPassword' | 'lockTime' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>> {
|
|
319
|
+
export interface Auth extends Omit<IncomingAuthType, 'cookies' | 'forgotPassword' | 'lockTime' | 'loginWithUsername' | 'maxLoginAttempts' | 'refreshTokens' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>, Required<Pick<IncomingAuthType, 'forgotPassword' | 'lockTime' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>> {
|
|
299
320
|
cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>;
|
|
300
321
|
loginWithUsername: false | Required<LoginWithUsernameOptions>;
|
|
322
|
+
refreshTokens: {
|
|
323
|
+
expiration: number;
|
|
324
|
+
} | false;
|
|
301
325
|
}
|
|
302
326
|
export declare function hasWhereAccessResult(result: boolean | Where): result is Where;
|
|
303
327
|
export {};
|
package/dist/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n /** Permission to validate candidate block data without saving. */\n validate: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n /** Permission to validate candidate field data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n validate: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n /** Permission to validate collection candidate data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n validate?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n /** Permission to validate global candidate data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n validate?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`).\n * Server authentication APIs may retain complete fields, while response boundaries apply read access.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /** The request that initiated authentication, when available. */\n req?: PayloadRequest\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\ntype AuthCookies = {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n}\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: AuthCookies\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Controls whether Payload's built-in local auth strategy is disabled. Set to `true` to disable\n * local authentication or `false` to keep it enabled.\n *\n * Pass an object to disable local authentication while configuring how its fields are retained.\n * Only disable local authentication if you have replaced Payload's auth mechanisms with your own.\n * @default false\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n /**\n * When auth fields are retained, make the password field optional.\n */\n optionalPassword?: true\n }\n | boolean\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n /**\n * The minimum number of milliseconds between password reset emails for the same user.\n * @default 15000\n * Set to 0 to disable.\n */\n minRequestInterval?: number\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?:\n | {\n /**\n * Allows administrators to reveal stored API keys from the Admin Panel.\n * @default false\n */\n reveal?: boolean\n }\n | boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends Omit<\n IncomingAuthType,\n | 'cookies'\n | 'forgotPassword'\n | 'lockTime'\n | 'loginWithUsername'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >,\n Required<\n Pick<\n IncomingAuthType,\n | 'forgotPassword'\n | 'lockTime'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >\n > {\n cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>\n loginWithUsername: false | Required<LoginWithUsernameOptions>\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AA4XA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
|
|
1
|
+
{"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n /** Permission to validate candidate block data without saving. */\n validate: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n /** Permission to validate candidate field data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n validate: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n /** Permission to validate collection candidate data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n validate?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n /** Permission to validate global candidate data without saving. */\n validate?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n validate?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`).\n * Server authentication APIs may retain complete fields, while response boundaries apply read access.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /** The request that initiated authentication, when available. */\n req?: PayloadRequest\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\ntype AuthCookies = {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n}\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: AuthCookies\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Controls whether Payload's built-in local auth strategy is disabled. Set to `true` to disable\n * local authentication or `false` to keep it enabled.\n *\n * Pass an object to disable local authentication while configuring how its fields are retained.\n * Only disable local authentication if you have replaced Payload's auth mechanisms with your own.\n * @default false\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n /**\n * When auth fields are retained, make the password field optional.\n */\n optionalPassword?: true\n }\n | boolean\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n /**\n * The minimum number of milliseconds between password reset emails for the same user.\n * @default 15000\n * Set to 0 to disable.\n */\n minRequestInterval?: number\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /**\n * Lets clients stay logged in after their token expires. Logins also return a refresh token,\n * which the refresh operation trades for a new token and a new refresh token. Each refresh token\n * works once: when a used one comes back, its session is logged out. Requires `useSessions`.\n *\n * Refresh tokens don't expire on their own. They work as long as their login session, which lasts\n * `expiration` from the last refresh instead of `tokenExpiration`.\n *\n * @default false\n * @link https://payloadcms.com/docs/authentication/overview#refresh-tokens\n */\n refreshTokens?:\n | {\n /**\n * How many seconds a login session with a refresh token lasts without a refresh, which is\n * how long its refresh token can be used. Every refresh starts this time again. The token\n * itself still expires after `tokenExpiration`.\n *\n * @default 2592000 (30 days)\n */\n expiration?: number\n }\n | boolean\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?:\n | {\n /**\n * Allows administrators to reveal stored API keys from the Admin Panel.\n * @default false\n */\n reveal?: boolean\n }\n | boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends\n Omit<\n IncomingAuthType,\n | 'cookies'\n | 'forgotPassword'\n | 'lockTime'\n | 'loginWithUsername'\n | 'maxLoginAttempts'\n | 'refreshTokens'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >,\n Required<\n Pick<\n IncomingAuthType,\n | 'forgotPassword'\n | 'lockTime'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >\n > {\n cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>\n loginWithUsername: false | Required<LoginWithUsernameOptions>\n refreshTokens: { expiration: number } | false\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AAsZA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
|
|
@@ -18,7 +18,7 @@ export declare const getGlobalValidationResult: ({ slug, error, req, }: {
|
|
|
18
18
|
errors: import("../../../index.js").ValidationFieldError[];
|
|
19
19
|
schema?: import("../../../index.js").EntityInputSchema | undefined;
|
|
20
20
|
} | undefined;
|
|
21
|
-
export declare const getCollectionSchema: ({ slug, req
|
|
21
|
+
export declare const getCollectionSchema: ({ slug, req }: {
|
|
22
22
|
req: PayloadRequest;
|
|
23
23
|
slug: CollectionSlug;
|
|
24
24
|
}) => import("../../../index.js").EntityInputSchema | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/data/utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,mBAAmB,CAAA;AAc1B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,4DAA4D,CAAA;AAEnE,eAAO,MAAM,6BAA6B,0BAIvC;IACD,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;CACrB;;;;aAQA,CAAA;AAED,eAAO,MAAM,yBAAyB,0BAInC;IACD,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB;;;;aAQA,CAAA;AAED,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/data/utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,mBAAmB,CAAA;AAc1B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,4DAA4D,CAAA;AAEnE,eAAO,MAAM,6BAA6B,0BAIvC;IACD,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;CACrB;;;;aAQA,CAAA;AAED,eAAO,MAAM,yBAAyB,0BAInC;IACD,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB;;;;aAQA,CAAA;AAED,eAAO,MAAM,mBAAmB,kBAAmB;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,yDACvC,CAAA;AAEzD,eAAO,MAAM,cAAc,YAAa;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;IACC,KAAK;IACL,cAAc;IACd,MAAM;IACN,cAAc;IACd,QAAQ;;;IACR,MAAM;IACN,gBAAgB;CAChB,CAAA;AAEF,eAAO,MAAM,qBAAqB,mCAI/B;IACD,UAAU,EAAE,cAAc,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CACgE,CAAA;AAE1F,eAAO,MAAM,4BAA4B,mCAItC;IACD,UAAU,EAAE,cAAc,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAC4D,CAAA;AAEtF,eAAO,MAAM,iBAAiB,6BAI3B;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CACsD,CAAA;AAEhF,eAAO,MAAM,wBAAwB,6BAIlC;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CACkD,CAAA;AAE5E,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,IAI1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/commands/data/utilities.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type {\n CollectionSlug,\n GlobalSlug,\n Payload,\n PayloadRequest,\n PopulateType,\n SelectType,\n} from '../../../index.js'\n\nimport { ValidationError } from '../../../errors/ValidationError.js'\nimport {\n getCollectionInputSchema,\n getGlobalInputSchema,\n} from '../../../utilities/entityInputSchema/getEntityInputSchema.js'\nimport {\n getCollectionVirtualFieldNames,\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utilities/getVirtualFieldNames.js'\nimport { transformPointDataToPayload } from '../../../utilities/transformPointDataToPayload.js'\n\nexport {\n validateCollectionData,\n validateGlobalData,\n} from '../../../utilities/entityInputSchema/validateEntityData.js'\n\nexport const getCollectionValidationResult = ({\n slug,\n error,\n req,\n}: {\n error: unknown\n req: PayloadRequest\n slug: CollectionSlug\n}) => {\n if (!(error instanceof ValidationError)) {\n return undefined\n }\n\n const schema = getCollectionInputSchema({ collectionSlug: slug, req })\n\n return { slug, errors: error.data.errors, ...(schema ? { schema } : {}) }\n}\n\nexport const getGlobalValidationResult = ({\n slug,\n error,\n req,\n}: {\n error: unknown\n req: PayloadRequest\n slug: GlobalSlug\n}) => {\n if (!(error instanceof ValidationError)) {\n return undefined\n }\n\n const schema = getGlobalInputSchema({ globalSlug: slug, req })\n\n return { slug, errors: error.data.errors, ...(schema ? { schema } : {}) }\n}\n\nexport const getCollectionSchema = ({
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/commands/data/utilities.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type {\n CollectionSlug,\n GlobalSlug,\n Payload,\n PayloadRequest,\n PopulateType,\n SelectType,\n} from '../../../index.js'\n\nimport { ValidationError } from '../../../errors/ValidationError.js'\nimport {\n getCollectionInputSchema,\n getGlobalInputSchema,\n} from '../../../utilities/entityInputSchema/getEntityInputSchema.js'\nimport {\n getCollectionVirtualFieldNames,\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utilities/getVirtualFieldNames.js'\nimport { transformPointDataToPayload } from '../../../utilities/transformPointDataToPayload.js'\n\nexport {\n validateCollectionData,\n validateGlobalData,\n} from '../../../utilities/entityInputSchema/validateEntityData.js'\n\nexport const getCollectionValidationResult = ({\n slug,\n error,\n req,\n}: {\n error: unknown\n req: PayloadRequest\n slug: CollectionSlug\n}) => {\n if (!(error instanceof ValidationError)) {\n return undefined\n }\n\n const schema = getCollectionInputSchema({ collectionSlug: slug, req })\n\n return { slug, errors: error.data.errors, ...(schema ? { schema } : {}) }\n}\n\nexport const getGlobalValidationResult = ({\n slug,\n error,\n req,\n}: {\n error: unknown\n req: PayloadRequest\n slug: GlobalSlug\n}) => {\n if (!(error instanceof ValidationError)) {\n return undefined\n }\n\n const schema = getGlobalInputSchema({ globalSlug: slug, req })\n\n return { slug, errors: error.data.errors, ...(schema ? { schema } : {}) }\n}\n\nexport const getCollectionSchema = ({ slug, req }: { req: PayloadRequest; slug: CollectionSlug }) =>\n getCollectionInputSchema({ collectionSlug: slug, req })\n\nexport const getReadOptions = (options: {\n depth: number\n fallbackLocale?: false | string\n locale?: string\n overrideAccess: boolean\n populate?: PopulateType\n select?: SelectType\n showHiddenFields?: boolean\n}) => ({\n depth: options.depth,\n fallbackLocale: options.fallbackLocale,\n locale: options.locale,\n overrideAccess: options.overrideAccess,\n populate: options.populate,\n select: options.select,\n showHiddenFields: options.showHiddenFields,\n})\n\nexport const prepareCollectionData = ({\n collection,\n data,\n payload,\n}: {\n collection: CollectionSlug\n data: Record<string, unknown>\n payload: Payload\n}): Record<string, unknown> =>\n transformPointDataToPayload(stripCollectionVirtualFields({ collection, data, payload }))\n\nexport const stripCollectionVirtualFields = ({\n collection,\n data,\n payload,\n}: {\n collection: CollectionSlug\n data: Record<string, unknown>\n payload: Payload\n}): Record<string, unknown> =>\n stripVirtualFields(data, getCollectionVirtualFieldNames(payload.config, collection))\n\nexport const prepareGlobalData = ({\n slug,\n data,\n payload,\n}: {\n data: Record<string, unknown>\n payload: Payload\n slug: GlobalSlug\n}): Record<string, unknown> =>\n transformPointDataToPayload(stripGlobalVirtualFields({ slug, data, payload }))\n\nexport const stripGlobalVirtualFields = ({\n slug,\n data,\n payload,\n}: {\n data: Record<string, unknown>\n payload: Payload\n slug: GlobalSlug\n}): Record<string, unknown> =>\n stripVirtualFields(data, getGlobalVirtualFieldNames(payload.config, slug))\n\nexport const printJSON = (value: unknown): void => {\n console.log(\n JSON.stringify(value, (_key, item) => (typeof item === 'bigint' ? item.toString() : item), 2),\n )\n}\n"],"names":["ValidationError","getCollectionInputSchema","getGlobalInputSchema","getCollectionVirtualFieldNames","getGlobalVirtualFieldNames","stripVirtualFields","transformPointDataToPayload","validateCollectionData","validateGlobalData","getCollectionValidationResult","slug","error","req","undefined","schema","collectionSlug","errors","data","getGlobalValidationResult","globalSlug","getCollectionSchema","getReadOptions","options","depth","fallbackLocale","locale","overrideAccess","populate","select","showHiddenFields","prepareCollectionData","collection","payload","stripCollectionVirtualFields","config","prepareGlobalData","stripGlobalVirtualFields","printJSON","value","console","log","JSON","stringify","_key","item","toString"],"mappings":"AAAA,6BAA6B,GAU7B,SAASA,eAAe,QAAQ,qCAAoC;AACpE,SACEC,wBAAwB,EACxBC,oBAAoB,QACf,+DAA8D;AACrE,SACEC,8BAA8B,EAC9BC,0BAA0B,EAC1BC,kBAAkB,QACb,6CAA4C;AACnD,SAASC,2BAA2B,QAAQ,oDAAmD;AAE/F,SACEC,sBAAsB,EACtBC,kBAAkB,QACb,6DAA4D;AAEnE,OAAO,MAAMC,gCAAgC,CAAC,EAC5CC,IAAI,EACJC,KAAK,EACLC,GAAG,EAKJ;IACC,IAAI,CAAED,CAAAA,iBAAiBX,eAAc,GAAI;QACvC,OAAOa;IACT;IAEA,MAAMC,SAASb,yBAAyB;QAAEc,gBAAgBL;QAAME;IAAI;IAEpE,OAAO;QAAEF;QAAMM,QAAQL,MAAMM,IAAI,CAACD,MAAM;QAAE,GAAIF,SAAS;YAAEA;QAAO,IAAI,CAAC,CAAC;IAAE;AAC1E,EAAC;AAED,OAAO,MAAMI,4BAA4B,CAAC,EACxCR,IAAI,EACJC,KAAK,EACLC,GAAG,EAKJ;IACC,IAAI,CAAED,CAAAA,iBAAiBX,eAAc,GAAI;QACvC,OAAOa;IACT;IAEA,MAAMC,SAASZ,qBAAqB;QAAEiB,YAAYT;QAAME;IAAI;IAE5D,OAAO;QAAEF;QAAMM,QAAQL,MAAMM,IAAI,CAACD,MAAM;QAAE,GAAIF,SAAS;YAAEA;QAAO,IAAI,CAAC,CAAC;IAAE;AAC1E,EAAC;AAED,OAAO,MAAMM,sBAAsB,CAAC,EAAEV,IAAI,EAAEE,GAAG,EAAiD,GAC9FX,yBAAyB;QAAEc,gBAAgBL;QAAME;IAAI,GAAE;AAEzD,OAAO,MAAMS,iBAAiB,CAACC,UAQxB,CAAA;QACLC,OAAOD,QAAQC,KAAK;QACpBC,gBAAgBF,QAAQE,cAAc;QACtCC,QAAQH,QAAQG,MAAM;QACtBC,gBAAgBJ,QAAQI,cAAc;QACtCC,UAAUL,QAAQK,QAAQ;QAC1BC,QAAQN,QAAQM,MAAM;QACtBC,kBAAkBP,QAAQO,gBAAgB;IAC5C,CAAA,EAAE;AAEF,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,UAAU,EACVd,IAAI,EACJe,OAAO,EAKR,GACC1B,4BAA4B2B,6BAA6B;QAAEF;QAAYd;QAAMe;IAAQ,IAAG;AAE1F,OAAO,MAAMC,+BAA+B,CAAC,EAC3CF,UAAU,EACVd,IAAI,EACJe,OAAO,EAKR,GACC3B,mBAAmBY,MAAMd,+BAA+B6B,QAAQE,MAAM,EAAEH,aAAY;AAEtF,OAAO,MAAMI,oBAAoB,CAAC,EAChCzB,IAAI,EACJO,IAAI,EACJe,OAAO,EAKR,GACC1B,4BAA4B8B,yBAAyB;QAAE1B;QAAMO;QAAMe;IAAQ,IAAG;AAEhF,OAAO,MAAMI,2BAA2B,CAAC,EACvC1B,IAAI,EACJO,IAAI,EACJe,OAAO,EAKR,GACC3B,mBAAmBY,MAAMb,2BAA2B4B,QAAQE,MAAM,EAAExB,OAAM;AAE5E,OAAO,MAAM2B,YAAY,CAACC;IACxBC,QAAQC,GAAG,CACTC,KAAKC,SAAS,CAACJ,OAAO,CAACK,MAAMC,OAAU,OAAOA,SAAS,WAAWA,KAAKC,QAAQ,KAAKD,MAAO;AAE/F,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/defineCLICommand.ts"],"sourcesContent":["import type { StandardSchemaV1 } from '@standard-schema/spec'\n\nimport type {\n CLICommand,\n CLICommandResult,\n CLIFieldOverride,\n CLIHelp,\n CLIInputSchema,\n CLIRuntime,\n} from '../config/types.js'\nimport type { MaybePromise } from '../types/index.js'\n\ntype CLICommandDefinition<TInput extends CLIInputSchema> = {\n aliases?: string[]\n allowUnknownOption?: boolean\n cli?:\n | false\n | Partial<Record<Extract<keyof StandardSchemaV1.InferInput<TInput>, string>, CLIFieldOverride>>\n description: string\n examples?: string[]\n /**\n * Runs after Payload validates the command input. `args` contains the validated values.\n *\n * - Return nothing when the command succeeds without a result.\n * - Return a number to set the process exit code.\n * - Return `{ result }` to include data in JSON output.\n * - Return `{ exitCode, result }` when the command needs both.\n *\n * Console and Payload logger output is sent to stderr in JSON mode. Use `isJSON` when the\n * command's behavior itself needs to change for machine-readable output.\n */\n handler: (\n context: {\n args: StandardSchemaV1.InferOutput<TInput>\n help: CLIHelp\n isJSON: boolean\n } & Pick<CLIRuntime, 'getConfig' | 'getPayload'>,\n ) => MaybePromise<CLICommandResult | number | void>\n helpGroup?: string\n input: TInput\n}\n\n/** Defines a CLI command from its input schema, shell input, and handler. */\nexport const defineCLICommand = <TInput extends CLIInputSchema>(\n definition: CLICommandDefinition<TInput>,\n): CLICommand => {\n const { cli, input } = definition\n const schema = input['~standard'].jsonSchema.input({ target: 'draft-2020-12' })\n\n if (schema.type !== 'object') {\n throw new Error('CLI command input schema must describe an object.')\n }\n\n const properties = (schema.properties ?? {}) as Record<string, unknown>\n const overrides = cli === false ? {} : (cli ?? {})\n\n for (const field of Object.keys(overrides)) {\n if (!(field in properties)) {\n throw new Error(`CLI command configures unknown input '${field}'.`)\n }\n }\n\n return {\n ...definition,\n allowUnknownOption: definition.allowUnknownOption ?? false,\n cli: cli === false ? false : overrides,\n handler: definition.handler
|
|
1
|
+
{"version":3,"sources":["../../src/cli/defineCLICommand.ts"],"sourcesContent":["import type { StandardSchemaV1 } from '@standard-schema/spec'\n\nimport type {\n CLICommand,\n CLICommandResult,\n CLIFieldOverride,\n CLIHelp,\n CLIInputSchema,\n CLIRuntime,\n} from '../config/types.js'\nimport type { MaybePromise } from '../types/index.js'\n\ntype CLICommandDefinition<TInput extends CLIInputSchema> = {\n aliases?: string[]\n allowUnknownOption?: boolean\n cli?:\n | false\n | Partial<Record<Extract<keyof StandardSchemaV1.InferInput<TInput>, string>, CLIFieldOverride>>\n description: string\n examples?: string[]\n /**\n * Runs after Payload validates the command input. `args` contains the validated values.\n *\n * - Return nothing when the command succeeds without a result.\n * - Return a number to set the process exit code.\n * - Return `{ result }` to include data in JSON output.\n * - Return `{ exitCode, result }` when the command needs both.\n *\n * Console and Payload logger output is sent to stderr in JSON mode. Use `isJSON` when the\n * command's behavior itself needs to change for machine-readable output.\n */\n handler: (\n context: {\n args: StandardSchemaV1.InferOutput<TInput>\n help: CLIHelp\n isJSON: boolean\n } & Pick<CLIRuntime, 'getConfig' | 'getPayload'>,\n ) => MaybePromise<CLICommandResult | number | void>\n helpGroup?: string\n input: TInput\n}\n\n/** Defines a CLI command from its input schema, shell input, and handler. */\nexport const defineCLICommand = <TInput extends CLIInputSchema>(\n definition: CLICommandDefinition<TInput>,\n): CLICommand => {\n const { cli, input } = definition\n const schema = input['~standard'].jsonSchema.input({ target: 'draft-2020-12' })\n\n if (schema.type !== 'object') {\n throw new Error('CLI command input schema must describe an object.')\n }\n\n const properties = (schema.properties ?? {}) as Record<string, unknown>\n const overrides = cli === false ? {} : (cli ?? {})\n\n for (const field of Object.keys(overrides)) {\n if (!(field in properties)) {\n throw new Error(`CLI command configures unknown input '${field}'.`)\n }\n }\n\n return {\n ...definition,\n allowUnknownOption: definition.allowUnknownOption ?? false,\n cli: cli === false ? false : overrides,\n handler: definition.handler,\n input,\n schema,\n }\n}\n"],"names":["defineCLICommand","definition","cli","input","schema","jsonSchema","target","type","Error","properties","overrides","field","Object","keys","allowUnknownOption","handler"],"mappings":"AA0CA,2EAA2E,GAC3E,OAAO,MAAMA,mBAAmB,CAC9BC;IAEA,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGF;IACvB,MAAMG,SAASD,KAAK,CAAC,YAAY,CAACE,UAAU,CAACF,KAAK,CAAC;QAAEG,QAAQ;IAAgB;IAE7E,IAAIF,OAAOG,IAAI,KAAK,UAAU;QAC5B,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,aAAcL,OAAOK,UAAU,IAAI,CAAC;IAC1C,MAAMC,YAAYR,QAAQ,QAAQ,CAAC,IAAKA,OAAO,CAAC;IAEhD,KAAK,MAAMS,SAASC,OAAOC,IAAI,CAACH,WAAY;QAC1C,IAAI,CAAEC,CAAAA,SAASF,UAAS,GAAI;YAC1B,MAAM,IAAID,MAAM,CAAC,sCAAsC,EAAEG,MAAM,EAAE,CAAC;QACpE;IACF;IAEA,OAAO;QACL,GAAGV,UAAU;QACba,oBAAoBb,WAAWa,kBAAkB,IAAI;QACrDZ,KAAKA,QAAQ,QAAQ,QAAQQ;QAC7BK,SAASd,WAAWc,OAAO;QAC3BZ;QACAC;IACF;AACF,EAAC"}
|
|
@@ -9,7 +9,7 @@ import type { SanitizedUploadConfig, UploadInstructionsCapability } from '../../
|
|
|
9
9
|
import type { SanitizedCollectionConfig } from './types.js';
|
|
10
10
|
export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'custom' | 'endpoints' | 'flattenedFields' | 'hooks' | 'indexes' | 'joins' | 'llmInstructions' | 'polymorphicJoins' | 'sanitizedIndexes' | 'select'>;
|
|
11
11
|
export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'baseFilter' | 'baseListFilter' | 'components' | 'formatDocURL' | 'hidden'>;
|
|
12
|
-
export type ServerOnlyUploadProperties = keyof Pick<SanitizedCollectionConfig['upload'], 'admin' | 'adminThumbnail' | '
|
|
12
|
+
export type ServerOnlyUploadProperties = keyof Pick<SanitizedCollectionConfig['upload'], 'admin' | 'adminThumbnail' | 'externalFileHeaderFilter' | 'fileOperations' | 'handlers' | 'modifyResponseHeaders' | 'uploadInstructions'>;
|
|
13
13
|
type ClientUploadConfig = {
|
|
14
14
|
uploadInstructions: Pick<UploadInstructionsCapability, 'useInAdmin'>;
|
|
15
15
|
} & Omit<SanitizedUploadConfig, 'fileOperations' | 'uploadInstructions'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAA;AAC1F,OAAO,KAAK,EACV,iBAAiB,EACjB,+BAA+B,EAC/B,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACvB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,SAAS,GACT,OAAO,GACP,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,CACX,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAC3E,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CACjD,yBAAyB,CAAC,QAAQ,CAAC,EACjC,OAAO,GACP,gBAAgB,GAChB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"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"}
|