payload 3.0.0-beta.55 → 3.0.0-beta.57
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/RichText.d.ts +3 -3
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/views/types.d.ts +2 -2
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/baseFields/auth.d.ts.map +1 -1
- package/dist/auth/baseFields/auth.js +0 -14
- package/dist/auth/baseFields/auth.js.map +1 -1
- package/dist/auth/baseFields/loginField.d.ts +4 -0
- package/dist/auth/baseFields/loginField.d.ts.map +1 -0
- package/dist/auth/baseFields/loginField.js +35 -0
- package/dist/auth/baseFields/loginField.js.map +1 -0
- package/dist/auth/defaultAccess.d.ts +2 -2
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js.map +1 -1
- package/dist/auth/executeAccess.d.ts +2 -2
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAccess.js.map +1 -1
- package/dist/auth/executeAuthStrategies.d.ts +2 -3
- package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
- package/dist/auth/executeAuthStrategies.js +6 -4
- package/dist/auth/executeAuthStrategies.js.map +1 -1
- package/dist/auth/getAccessResults.d.ts +2 -2
- package/dist/auth/getAccessResults.d.ts.map +1 -1
- package/dist/auth/getAccessResults.js.map +1 -1
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js.map +1 -1
- package/dist/auth/operations/access.d.ts +2 -2
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js.map +1 -1
- package/dist/auth/operations/auth.d.ts +3 -2
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/auth.js +3 -1
- package/dist/auth/operations/auth.js.map +1 -1
- package/dist/auth/operations/forgotPassword.d.ts +7 -7
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +11 -6
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/operations/init.d.ts +2 -2
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/init.js.map +1 -1
- package/dist/auth/operations/local/auth.js.map +1 -1
- package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/forgotPassword.js.map +1 -1
- package/dist/auth/operations/local/login.d.ts +4 -7
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js.map +1 -1
- package/dist/auth/operations/local/resetPassword.d.ts +2 -2
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js.map +1 -1
- package/dist/auth/operations/local/unlock.d.ts +2 -2
- package/dist/auth/operations/local/unlock.d.ts.map +1 -1
- package/dist/auth/operations/local/unlock.js.map +1 -1
- package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/local/verifyEmail.js.map +1 -1
- package/dist/auth/operations/login.d.ts +6 -9
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +41 -17
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/logout.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js.map +1 -1
- package/dist/auth/operations/me.d.ts +3 -3
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +25 -10
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/operations/refresh.d.ts +3 -3
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +35 -18
- package/dist/auth/operations/refresh.js.map +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts +4 -7
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js.map +1 -1
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +1 -0
- package/dist/auth/operations/resetPassword.js.map +1 -1
- package/dist/auth/operations/unlock.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js.map +1 -1
- package/dist/auth/operations/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js.map +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +2 -2
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +9 -3
- package/dist/auth/strategies/apiKey.js.map +1 -1
- package/dist/auth/strategies/jwt.d.ts.map +1 -1
- package/dist/auth/strategies/jwt.js +9 -3
- package/dist/auth/strategies/jwt.js.map +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +3 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +10 -7
- package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
- package/dist/auth/strategies/local/register.d.ts +2 -2
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +19 -7
- package/dist/auth/strategies/local/register.js.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
- package/dist/auth/types.d.ts +21 -15
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/collections/config/client.d.ts +7 -5
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/defaults.d.ts +8 -5
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +4 -1
- 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/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +8 -5
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/collections/config/types.d.ts +50 -20
- 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.map +1 -1
- package/dist/collections/dataloader.js +1 -1
- package/dist/collections/dataloader.js.map +1 -1
- package/dist/collections/operations/count.d.ts +2 -2
- package/dist/collections/operations/count.d.ts.map +1 -1
- package/dist/collections/operations/count.js.map +1 -1
- package/dist/collections/operations/create.d.ts +2 -2
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts +2 -2
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts +2 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/docAccess.d.ts +2 -2
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js.map +1 -1
- package/dist/collections/operations/duplicate.d.ts +2 -2
- package/dist/collections/operations/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/duplicate.js.map +1 -1
- package/dist/collections/operations/find.d.ts +2 -2
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts +2 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +2 -2
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts +2 -2
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/local/count.d.ts +2 -2
- 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/create.d.ts +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/findVersionByID.d.ts +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/update.d.ts +2 -2
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +2 -2
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +1 -0
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utils.d.ts +2 -2
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.d.ts +14 -4
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/migrations/migrate.js.map +1 -1
- package/dist/database/migrations/migrateDown.js.map +1 -1
- package/dist/database/migrations/migrateRefresh.js.map +1 -1
- package/dist/database/migrations/migrateReset.js.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +3 -3
- package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
- package/dist/database/types.d.ts +20 -20
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/errors/APIError.d.ts.map +1 -1
- package/dist/errors/APIError.js +4 -1
- package/dist/errors/APIError.js.map +1 -1
- package/dist/errors/AuthenticationError.d.ts +1 -1
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.js +2 -2
- package/dist/errors/AuthenticationError.js.map +1 -1
- package/dist/errors/ValidationError.d.ts +13 -5
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js +3 -3
- package/dist/errors/ValidationError.js.map +1 -1
- package/dist/fields/config/client.d.ts +84 -2
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +2 -1
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +1 -0
- package/dist/fields/config/schema.js.map +1 -1
- package/dist/fields/config/types.d.ts +19 -7
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/getDefaultValue.d.ts +2 -2
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.js.map +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +2 -2
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js.map +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +2 -2
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -2
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js +5 -1
- package/dist/fields/hooks/beforeChange/index.js.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -2
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -2
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -2
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
- package/dist/fields/validations.d.ts +5 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/globals/config/types.d.ts +7 -7
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/docAccess.d.ts +2 -2
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +2 -2
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +2 -2
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts +2 -2
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +2 -2
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js.map +1 -1
- package/dist/globals/operations/update.d.ts +2 -2
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/preferences/deleteUserPreferences.d.ts +2 -2
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.js.map +1 -1
- package/dist/preferences/requestHandlers/delete.js.map +1 -1
- package/dist/preferences/requestHandlers/findOne.js.map +1 -1
- package/dist/preferences/requestHandlers/update.js.map +1 -1
- package/dist/preferences/types.d.ts +3 -3
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/types/index.d.ts +16 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts +2 -2
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.js.map +1 -1
- package/dist/uploads/generateFileData.d.ts +2 -2
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts +2 -2
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js.map +1 -1
- package/dist/uploads/getFileByPath.d.ts +2 -2
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js.map +1 -1
- package/dist/uploads/getImageSize.d.ts +2 -2
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts +2 -2
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js.map +1 -1
- package/dist/uploads/imageResizer.d.ts +3 -3
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js.map +1 -1
- package/dist/uploads/types.d.ts +2 -2
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/uploads/unlinkTempFiles.d.ts +2 -2
- package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
- package/dist/uploads/unlinkTempFiles.js.map +1 -1
- package/dist/uploads/uploadFiles.d.ts +2 -2
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js.map +1 -1
- package/dist/utilities/commitTransaction.d.ts +2 -2
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts +1 -0
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +104 -4
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +58 -0
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/createLocalReq.d.ts +3 -3
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js.map +1 -1
- package/dist/utilities/getEntityPolicies.d.ts +2 -2
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js.map +1 -1
- package/dist/utilities/initTransaction.d.ts +2 -2
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js.map +1 -1
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js.map +1 -1
- package/dist/utilities/killTransaction.d.ts +2 -2
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js.map +1 -1
- package/dist/utilities/logger.js.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts +2 -2
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +2 -2
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +2 -2
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import jwt from 'jsonwebtoken';
|
|
2
|
-
export const meOperation = async (
|
|
2
|
+
export const meOperation = async (args)=>{
|
|
3
|
+
const { collection, currentToken, req } = args;
|
|
3
4
|
let result = {
|
|
4
5
|
user: null
|
|
5
6
|
};
|
|
@@ -20,15 +21,29 @@ export const meOperation = async ({ collection, currentToken, req })=>{
|
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
delete user.collection;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
// /////////////////////////////////////
|
|
25
|
+
// me hook - Collection
|
|
26
|
+
// /////////////////////////////////////
|
|
27
|
+
for (const meHook of collection.config.hooks.me){
|
|
28
|
+
const hookResult = await meHook({
|
|
29
|
+
args,
|
|
30
|
+
user
|
|
31
|
+
});
|
|
32
|
+
if (hookResult) {
|
|
33
|
+
result.user = hookResult.user;
|
|
34
|
+
result.exp = hookResult.exp;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
result.collection = req.user.collection;
|
|
39
|
+
result.strategy = req.user._strategy;
|
|
40
|
+
if (!result.user) {
|
|
41
|
+
result.user = user;
|
|
42
|
+
if (currentToken) {
|
|
43
|
+
const decoded = jwt.decode(currentToken);
|
|
44
|
+
if (decoded) result.exp = decoded.exp;
|
|
45
|
+
if (!collection.config.auth.removeTokenFromResponses) result.token = currentToken;
|
|
46
|
+
}
|
|
32
47
|
}
|
|
33
48
|
}
|
|
34
49
|
// /////////////////////////////////////
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/me.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/me.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { ClientUser, User } from '../types.js'\n\nexport type MeOperationResult = {\n collection?: string\n exp?: number\n strategy?: string\n token?: string\n user?: ClientUser\n}\n\nexport type Arguments = {\n collection: Collection\n currentToken?: string\n req: PayloadRequest\n}\n\nexport const meOperation = async (args: Arguments): Promise<MeOperationResult> => {\n const { collection, currentToken, req } = args\n\n let result: MeOperationResult = {\n user: null,\n }\n\n if (req.user) {\n const { pathname } = req\n const isGraphQL = pathname === `/api${req.payload.config.routes.graphQL}`\n\n const user = (await req.payload.findByID({\n id: req.user.id,\n collection: collection.config.slug,\n depth: isGraphQL ? 0 : collection.config.auth.depth,\n overrideAccess: false,\n req,\n showHiddenFields: false,\n })) as User\n\n if (req.user.collection !== collection.config.slug) {\n return {\n user: null,\n }\n }\n\n delete user.collection\n\n // /////////////////////////////////////\n // me hook - Collection\n // /////////////////////////////////////\n\n for (const meHook of collection.config.hooks.me) {\n const hookResult = await meHook({ args, user })\n\n if (hookResult) {\n result.user = hookResult.user\n result.exp = hookResult.exp\n\n break\n }\n }\n\n result.collection = req.user.collection\n result.strategy = req.user._strategy\n\n if (!result.user) {\n result.user = user\n\n if (currentToken) {\n const decoded = jwt.decode(currentToken) as jwt.JwtPayload\n if (decoded) result.exp = decoded.exp\n if (!collection.config.auth.removeTokenFromResponses) result.token = currentToken\n }\n }\n }\n\n // /////////////////////////////////////\n // After Me - Collection\n // /////////////////////////////////////\n\n await collection.config.hooks.afterMe.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collection?.config,\n context: req.context,\n req,\n response: result,\n })) || result\n }, Promise.resolve())\n\n return result\n}\n"],"names":["jwt","meOperation","args","collection","currentToken","req","result","user","pathname","isGraphQL","payload","config","routes","graphQL","findByID","id","slug","depth","auth","overrideAccess","showHiddenFields","meHook","hooks","me","hookResult","exp","strategy","_strategy","decoded","decode","removeTokenFromResponses","token","afterMe","reduce","priorHook","hook","context","response","Promise","resolve"],"mappings":"AAAA,OAAOA,SAAS,eAAc;AAoB9B,OAAO,MAAMC,cAAc,OAAOC;IAChC,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,GAAG,EAAE,GAAGH;IAE1C,IAAII,SAA4B;QAC9BC,MAAM;IACR;IAEA,IAAIF,IAAIE,IAAI,EAAE;QACZ,MAAM,EAAEC,QAAQ,EAAE,GAAGH;QACrB,MAAMI,YAAYD,aAAa,CAAC,IAAI,EAAEH,IAAIK,OAAO,CAACC,MAAM,CAACC,MAAM,CAACC,OAAO,CAAC,CAAC;QAEzE,MAAMN,OAAQ,MAAMF,IAAIK,OAAO,CAACI,QAAQ,CAAC;YACvCC,IAAIV,IAAIE,IAAI,CAACQ,EAAE;YACfZ,YAAYA,WAAWQ,MAAM,CAACK,IAAI;YAClCC,OAAOR,YAAY,IAAIN,WAAWQ,MAAM,CAACO,IAAI,CAACD,KAAK;YACnDE,gBAAgB;YAChBd;YACAe,kBAAkB;QACpB;QAEA,IAAIf,IAAIE,IAAI,CAACJ,UAAU,KAAKA,WAAWQ,MAAM,CAACK,IAAI,EAAE;YAClD,OAAO;gBACLT,MAAM;YACR;QACF;QAEA,OAAOA,KAAKJ,UAAU;QAEtB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExC,KAAK,MAAMkB,UAAUlB,WAAWQ,MAAM,CAACW,KAAK,CAACC,EAAE,CAAE;YAC/C,MAAMC,aAAa,MAAMH,OAAO;gBAAEnB;gBAAMK;YAAK;YAE7C,IAAIiB,YAAY;gBACdlB,OAAOC,IAAI,GAAGiB,WAAWjB,IAAI;gBAC7BD,OAAOmB,GAAG,GAAGD,WAAWC,GAAG;gBAE3B;YACF;QACF;QAEAnB,OAAOH,UAAU,GAAGE,IAAIE,IAAI,CAACJ,UAAU;QACvCG,OAAOoB,QAAQ,GAAGrB,IAAIE,IAAI,CAACoB,SAAS;QAEpC,IAAI,CAACrB,OAAOC,IAAI,EAAE;YAChBD,OAAOC,IAAI,GAAGA;YAEd,IAAIH,cAAc;gBAChB,MAAMwB,UAAU5B,IAAI6B,MAAM,CAACzB;gBAC3B,IAAIwB,SAAStB,OAAOmB,GAAG,GAAGG,QAAQH,GAAG;gBACrC,IAAI,CAACtB,WAAWQ,MAAM,CAACO,IAAI,CAACY,wBAAwB,EAAExB,OAAOyB,KAAK,GAAG3B;YACvE;QACF;IACF;IAEA,wCAAwC;IACxC,wBAAwB;IACxB,wCAAwC;IAExC,MAAMD,WAAWQ,MAAM,CAACW,KAAK,CAACU,OAAO,CAACC,MAAM,CAAC,OAAOC,WAAWC;QAC7D,MAAMD;QAEN5B,SACE,AAAC,MAAM6B,KAAK;YACVhC,YAAYA,YAAYQ;YACxByB,SAAS/B,IAAI+B,OAAO;YACpB/B;YACAgC,UAAU/B;QACZ,MAAOA;IACX,GAAGgC,QAAQC,OAAO;IAElB,OAAOjC;AACT,EAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { Collection } from '../../collections/config/types.js';
|
|
2
|
-
import type { Document,
|
|
2
|
+
import type { Document, PayloadRequest } from '../../types/index.js';
|
|
3
3
|
export type Result = {
|
|
4
4
|
exp: number;
|
|
5
5
|
refreshedToken: string;
|
|
6
|
+
setCookie?: boolean;
|
|
6
7
|
strategy?: string;
|
|
7
8
|
user: Document;
|
|
8
9
|
};
|
|
9
10
|
export type Arguments = {
|
|
10
11
|
collection: Collection;
|
|
11
|
-
req:
|
|
12
|
-
token: string;
|
|
12
|
+
req: PayloadRequest;
|
|
13
13
|
};
|
|
14
14
|
export declare const refreshOperation: (incomingArgs: Arguments) => Promise<Result>;
|
|
15
15
|
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/refresh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/refresh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AASpE,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,gBAAgB,iBAAwB,SAAS,KAAG,OAAO,CAAC,MAAM,CA8H9E,CAAA"}
|
|
@@ -27,7 +27,7 @@ export const refreshOperation = async (incomingArgs)=>{
|
|
|
27
27
|
// Refresh
|
|
28
28
|
// /////////////////////////////////////
|
|
29
29
|
const { collection: { config: collectionConfig }, req, req: { payload: { config, secret } } } = args;
|
|
30
|
-
if (
|
|
30
|
+
if (!args.req.user) throw new Forbidden(args.req.t);
|
|
31
31
|
const parsedURL = url.parse(args.req.url);
|
|
32
32
|
const isGraphQL = parsedURL.pathname === config.routes.graphQL;
|
|
33
33
|
const user = await args.req.payload.findByID({
|
|
@@ -36,21 +36,38 @@ export const refreshOperation = async (incomingArgs)=>{
|
|
|
36
36
|
depth: isGraphQL ? 0 : args.collection.config.auth.depth,
|
|
37
37
|
req: args.req
|
|
38
38
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
let result;
|
|
40
|
+
// /////////////////////////////////////
|
|
41
|
+
// refresh hook - Collection
|
|
42
|
+
// /////////////////////////////////////
|
|
43
|
+
for (const refreshHook of args.collection.config.hooks.refresh){
|
|
44
|
+
const hookResult = await refreshHook({
|
|
45
|
+
args,
|
|
46
|
+
user
|
|
47
|
+
});
|
|
48
|
+
if (hookResult) {
|
|
49
|
+
result = hookResult;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (!result) {
|
|
54
|
+
const fieldsToSign = getFieldsToSign({
|
|
55
|
+
collectionConfig,
|
|
56
|
+
email: user?.email,
|
|
57
|
+
user: args?.req?.user
|
|
58
|
+
});
|
|
59
|
+
const refreshedToken = jwt.sign(fieldsToSign, secret, {
|
|
60
|
+
expiresIn: collectionConfig.auth.tokenExpiration
|
|
61
|
+
});
|
|
62
|
+
const exp = jwt.decode(refreshedToken).exp;
|
|
63
|
+
result = {
|
|
64
|
+
exp,
|
|
65
|
+
refreshedToken,
|
|
66
|
+
setCookie: true,
|
|
67
|
+
strategy: args.req.user._strategy,
|
|
68
|
+
user
|
|
69
|
+
};
|
|
70
|
+
}
|
|
54
71
|
// /////////////////////////////////////
|
|
55
72
|
// After Refresh - Collection
|
|
56
73
|
// /////////////////////////////////////
|
|
@@ -59,9 +76,9 @@ export const refreshOperation = async (incomingArgs)=>{
|
|
|
59
76
|
result = await hook({
|
|
60
77
|
collection: args.collection?.config,
|
|
61
78
|
context: args.req.context,
|
|
62
|
-
exp,
|
|
79
|
+
exp: result.exp,
|
|
63
80
|
req: args.req,
|
|
64
|
-
token: refreshedToken
|
|
81
|
+
token: result.refreshedToken
|
|
65
82
|
}) || result;
|
|
66
83
|
}, Promise.resolve());
|
|
67
84
|
// /////////////////////////////////////
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/refresh.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\nimport url from 'url'\n\nimport type { BeforeOperationHook, Collection } from '../../collections/config/types.js'\nimport type { Document,
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/refresh.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\nimport url from 'url'\n\nimport type { BeforeOperationHook, Collection } from '../../collections/config/types.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { Forbidden } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\n\nexport type Result = {\n exp: number\n refreshedToken: string\n setCookie?: boolean\n strategy?: string\n user: Document\n}\n\nexport type Arguments = {\n collection: Collection\n req: PayloadRequest\n}\n\nexport const refreshOperation = async (incomingArgs: Arguments): Promise<Result> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection?.config,\n context: args.req.context,\n operation: 'refresh',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Refresh\n // /////////////////////////////////////\n\n const {\n collection: { config: collectionConfig },\n req,\n req: {\n payload: { config, secret },\n },\n } = args\n\n if (!args.req.user) throw new Forbidden(args.req.t)\n\n const parsedURL = url.parse(args.req.url)\n const isGraphQL = parsedURL.pathname === config.routes.graphQL\n\n const user = await args.req.payload.findByID({\n id: args.req.user.id,\n collection: args.req.user.collection,\n depth: isGraphQL ? 0 : args.collection.config.auth.depth,\n req: args.req,\n })\n\n let result: Result\n\n // /////////////////////////////////////\n // refresh hook - Collection\n // /////////////////////////////////////\n\n for (const refreshHook of args.collection.config.hooks.refresh) {\n const hookResult = await refreshHook({ args, user })\n\n if (hookResult) {\n result = hookResult\n break\n }\n }\n\n if (!result) {\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email: user?.email as string,\n user: args?.req?.user,\n })\n\n const refreshedToken = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n const exp = (jwt.decode(refreshedToken) as Record<string, unknown>).exp as number\n\n result = {\n exp,\n refreshedToken,\n setCookie: true,\n strategy: args.req.user._strategy,\n user,\n }\n }\n\n // /////////////////////////////////////\n // After Refresh - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRefresh.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n exp: result.exp,\n req: args.req,\n token: result.refreshedToken,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'refresh',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["jwt","url","buildAfterOperation","Forbidden","commitTransaction","initTransaction","killTransaction","getFieldsToSign","refreshOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","payload","secret","user","t","parsedURL","parse","isGraphQL","pathname","routes","graphQL","findByID","id","depth","auth","result","refreshHook","refresh","hookResult","fieldsToSign","email","refreshedToken","sign","expiresIn","tokenExpiration","exp","decode","setCookie","strategy","_strategy","afterRefresh","token","error"],"mappings":"AAAA,OAAOA,SAAS,eAAc;AAC9B,OAAOC,SAAS,MAAK;AAKrB,SAASC,mBAAmB,QAAQ,wCAAuC;AAC3E,SAASC,SAAS,QAAQ,wBAAuB;AACjD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,wBAAuB;AAevD,OAAO,MAAMC,mBAAmB,OAAOC;IACrC,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMN,gBAAgBK,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CACvD,OAAOC,WAAgDC;YACrD,MAAMD;YAENR,OACE,AAAC,MAAMS,KAAK;gBACVT;gBACAG,YAAYH,KAAKG,UAAU,EAAEC;gBAC7BM,SAASV,KAAKE,GAAG,CAACQ,OAAO;gBACzBC,WAAW;gBACXT,KAAKF,KAAKE,GAAG;YACf,MAAOF;QACX,GACAY,QAAQC,OAAO;QAGjB,wCAAwC;QACxC,UAAU;QACV,wCAAwC;QAExC,MAAM,EACJV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCZ,GAAG,EACHA,KAAK,EACHa,SAAS,EAAEX,MAAM,EAAEY,MAAM,EAAE,EAC5B,EACF,GAAGhB;QAEJ,IAAI,CAACA,KAAKE,GAAG,CAACe,IAAI,EAAE,MAAM,IAAIxB,UAAUO,KAAKE,GAAG,CAACgB,CAAC;QAElD,MAAMC,YAAY5B,IAAI6B,KAAK,CAACpB,KAAKE,GAAG,CAACX,GAAG;QACxC,MAAM8B,YAAYF,UAAUG,QAAQ,KAAKlB,OAAOmB,MAAM,CAACC,OAAO;QAE9D,MAAMP,OAAO,MAAMjB,KAAKE,GAAG,CAACa,OAAO,CAACU,QAAQ,CAAC;YAC3CC,IAAI1B,KAAKE,GAAG,CAACe,IAAI,CAACS,EAAE;YACpBvB,YAAYH,KAAKE,GAAG,CAACe,IAAI,CAACd,UAAU;YACpCwB,OAAON,YAAY,IAAIrB,KAAKG,UAAU,CAACC,MAAM,CAACwB,IAAI,CAACD,KAAK;YACxDzB,KAAKF,KAAKE,GAAG;QACf;QAEA,IAAI2B;QAEJ,wCAAwC;QACxC,4BAA4B;QAC5B,wCAAwC;QAExC,KAAK,MAAMC,eAAe9B,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAAC0B,OAAO,CAAE;YAC9D,MAAMC,aAAa,MAAMF,YAAY;gBAAE9B;gBAAMiB;YAAK;YAElD,IAAIe,YAAY;gBACdH,SAASG;gBACT;YACF;QACF;QAEA,IAAI,CAACH,QAAQ;YACX,MAAMI,eAAepC,gBAAgB;gBACnCiB;gBACAoB,OAAOjB,MAAMiB;gBACbjB,MAAMjB,MAAME,KAAKe;YACnB;YAEA,MAAMkB,iBAAiB7C,IAAI8C,IAAI,CAACH,cAAcjB,QAAQ;gBACpDqB,WAAWvB,iBAAiBc,IAAI,CAACU,eAAe;YAClD;YAEA,MAAMC,MAAM,AAACjD,IAAIkD,MAAM,CAACL,gBAA4CI,GAAG;YAEvEV,SAAS;gBACPU;gBACAJ;gBACAM,WAAW;gBACXC,UAAU1C,KAAKE,GAAG,CAACe,IAAI,CAAC0B,SAAS;gBACjC1B;YACF;QACF;QAEA,wCAAwC;QACxC,6BAA6B;QAC7B,wCAAwC;QAExC,MAAMH,iBAAiBT,KAAK,CAACuC,YAAY,CAACrC,MAAM,CAAC,OAAOC,WAAWC;YACjE,MAAMD;YAENqB,SACE,AAAC,MAAMpB,KAAK;gBACVN,YAAYH,KAAKG,UAAU,EAAEC;gBAC7BM,SAASV,KAAKE,GAAG,CAACQ,OAAO;gBACzB6B,KAAKV,OAAOU,GAAG;gBACfrC,KAAKF,KAAKE,GAAG;gBACb2C,OAAOhB,OAAOM,cAAc;YAC9B,MAAON;QACX,GAAGjB,QAAQC,OAAO;QAElB,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCgB,SAAS,MAAMrC,oBAAoB;YACjCQ;YACAG,YAAYH,KAAKG,UAAU,EAAEC;YAC7BO,WAAW;YACXkB;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAI5B,cAAc,MAAMP,kBAAkBQ;QAE1C,OAAO2B;IACT,EAAE,OAAOiB,OAAgB;QACvB,MAAMlD,gBAAgBI,KAAKE,GAAG;QAC9B,MAAM4C;IACR;AACF,EAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import type { Collection, DataFromCollectionSlug, RequiredDataFromCollectionSlug } from '../../collections/config/types.js';
|
|
1
|
+
import type { AuthOperationsFromCollectionSlug, Collection, DataFromCollectionSlug, RequiredDataFromCollectionSlug } from '../../collections/config/types.js';
|
|
2
2
|
import type { CollectionSlug } from '../../index.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PayloadRequest } from '../../types/index.js';
|
|
4
4
|
export type Arguments<TSlug extends CollectionSlug> = {
|
|
5
5
|
collection: Collection;
|
|
6
|
-
data: RequiredDataFromCollectionSlug<TSlug> &
|
|
7
|
-
|
|
8
|
-
password: string;
|
|
9
|
-
};
|
|
10
|
-
req: PayloadRequestWithData;
|
|
6
|
+
data: RequiredDataFromCollectionSlug<TSlug> & AuthOperationsFromCollectionSlug<TSlug>['registerFirstUser'];
|
|
7
|
+
req: PayloadRequest;
|
|
11
8
|
};
|
|
12
9
|
export type Result<TData> = {
|
|
13
10
|
exp?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerFirstUser.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/registerFirstUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"registerFirstUser.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/registerFirstUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,GACzC,gCAAgC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAA;IAC9D,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,KAAK,IAAI;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAU,KAAK,SAAS,cAAc,QACrE,SAAS,CAAC,KAAK,CAAC,KACrB,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAoE/C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/registerFirstUser.ts"],"sourcesContent":["import type {\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} from '../../collections/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/registerFirstUser.ts"],"sourcesContent":["import type {\n AuthOperationsFromCollectionSlug,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} from '../../collections/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { Forbidden } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: RequiredDataFromCollectionSlug<TSlug> &\n AuthOperationsFromCollectionSlug<TSlug>['registerFirstUser']\n req: PayloadRequest\n}\n\nexport type Result<TData> = {\n exp?: number\n token?: string\n user?: TData\n}\n\nexport const registerFirstUserOperation = async <TSlug extends CollectionSlug>(\n args: Arguments<TSlug>,\n): Promise<Result<DataFromCollectionSlug<TSlug>>> => {\n const {\n collection: {\n config,\n config: {\n slug,\n auth: { verify },\n },\n },\n data,\n req,\n req: { payload },\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n const doc = await payload.db.findOne({\n collection: config.slug,\n req,\n })\n\n if (doc) throw new Forbidden(req.t)\n\n // /////////////////////////////////////\n // Register first user\n // /////////////////////////////////////\n\n const result = await payload.create<TSlug>({\n collection: slug as TSlug,\n data,\n overrideAccess: true,\n req,\n })\n\n // auto-verify (if applicable)\n if (verify) {\n await payload.update({\n id: result.id,\n collection: slug,\n data: {\n _verified: true,\n },\n req,\n })\n }\n\n // /////////////////////////////////////\n // Log in new user\n // /////////////////////////////////////\n\n const { exp, token } = await payload.login({\n ...args,\n collection: slug,\n req,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return {\n exp,\n token,\n user: result,\n }\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["Forbidden","commitTransaction","initTransaction","killTransaction","registerFirstUserOperation","args","collection","config","slug","auth","verify","data","req","payload","shouldCommit","doc","db","findOne","t","result","create","overrideAccess","update","id","_verified","exp","token","login","user","error"],"mappings":"AASA,SAASA,SAAS,QAAQ,wBAAuB;AACjD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AAepE,OAAO,MAAMC,6BAA6B,OACxCC;IAEA,MAAM,EACJC,YAAY,EACVC,MAAM,EACNA,QAAQ,EACNC,IAAI,EACJC,MAAM,EAAEC,MAAM,EAAE,EACjB,EACF,EACDC,IAAI,EACJC,GAAG,EACHA,KAAK,EAAEC,OAAO,EAAE,EACjB,GAAGR;IAEJ,IAAI;QACF,MAAMS,eAAe,MAAMZ,gBAAgBU;QAE3C,MAAMG,MAAM,MAAMF,QAAQG,EAAE,CAACC,OAAO,CAAC;YACnCX,YAAYC,OAAOC,IAAI;YACvBI;QACF;QAEA,IAAIG,KAAK,MAAM,IAAIf,UAAUY,IAAIM,CAAC;QAElC,wCAAwC;QACxC,sBAAsB;QACtB,wCAAwC;QAExC,MAAMC,SAAS,MAAMN,QAAQO,MAAM,CAAQ;YACzCd,YAAYE;YACZG;YACAU,gBAAgB;YAChBT;QACF;QAEA,8BAA8B;QAC9B,IAAIF,QAAQ;YACV,MAAMG,QAAQS,MAAM,CAAC;gBACnBC,IAAIJ,OAAOI,EAAE;gBACbjB,YAAYE;gBACZG,MAAM;oBACJa,WAAW;gBACb;gBACAZ;YACF;QACF;QAEA,wCAAwC;QACxC,kBAAkB;QAClB,wCAAwC;QAExC,MAAM,EAAEa,GAAG,EAAEC,KAAK,EAAE,GAAG,MAAMb,QAAQc,KAAK,CAAC;YACzC,GAAGtB,IAAI;YACPC,YAAYE;YACZI;QACF;QAEA,IAAIE,cAAc,MAAMb,kBAAkBW;QAE1C,OAAO;YACLa;YACAC;YACAE,MAAMT;QACR;IACF,EAAE,OAAOU,OAAgB;QACvB,MAAM1B,gBAAgBS;QACtB,MAAMiB;IACR;AACF,EAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Collection } from '../../collections/config/types.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PayloadRequest } from '../../types/index.js';
|
|
3
3
|
export type Result = {
|
|
4
4
|
token?: string;
|
|
5
5
|
user: Record<string, unknown>;
|
|
@@ -12,7 +12,7 @@ export type Arguments = {
|
|
|
12
12
|
};
|
|
13
13
|
depth?: number;
|
|
14
14
|
overrideAccess?: boolean;
|
|
15
|
-
req:
|
|
15
|
+
req: PayloadRequest;
|
|
16
16
|
};
|
|
17
17
|
export declare const resetPasswordOperation: (args: Arguments) => Promise<Result>;
|
|
18
18
|
export default resetPasswordOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/resetPassword.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/resetPassword.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAU1D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,sBAAsB,SAAgB,SAAS,KAAG,OAAO,CAAC,MAAM,CA2F5E,CAAA;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -32,6 +32,7 @@ export const resetPasswordOperation = async (args)=>{
|
|
|
32
32
|
if (!user) throw new APIError('Token is either invalid or has expired.', httpStatus.FORBIDDEN);
|
|
33
33
|
// TODO: replace this method
|
|
34
34
|
const { hash, salt } = await generatePasswordSaltHash({
|
|
35
|
+
collection: collectionConfig,
|
|
35
36
|
password: data.password
|
|
36
37
|
});
|
|
37
38
|
user.salt = salt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/resetPassword.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/resetPassword.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\nimport { authenticateLocalStrategy } from '../strategies/local/authenticate.js'\nimport { generatePasswordSaltHash } from '../strategies/local/generatePasswordSaltHash.js'\n\nexport type Result = {\n token?: string\n user: Record<string, unknown>\n}\n\nexport type Arguments = {\n collection: Collection\n data: {\n password: string\n token: string\n }\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n}\n\nexport const resetPasswordOperation = async (args: Arguments): Promise<Result> => {\n if (\n !Object.prototype.hasOwnProperty.call(args.data, 'token') ||\n !Object.prototype.hasOwnProperty.call(args.data, 'password')\n ) {\n throw new APIError('Missing required data.', httpStatus.BAD_REQUEST)\n }\n\n const {\n collection: { config: collectionConfig },\n data,\n depth,\n overrideAccess,\n req: {\n payload: { secret },\n payload,\n },\n req,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Reset Password\n // /////////////////////////////////////\n\n const user = await payload.db.findOne<any>({\n collection: collectionConfig.slug,\n req,\n where: {\n resetPasswordExpiration: { greater_than: new Date() },\n resetPasswordToken: { equals: data.token },\n },\n })\n\n if (!user) throw new APIError('Token is either invalid or has expired.', httpStatus.FORBIDDEN)\n\n // TODO: replace this method\n const { hash, salt } = await generatePasswordSaltHash({\n collection: collectionConfig,\n password: data.password,\n })\n\n user.salt = salt\n user.hash = hash\n\n user.resetPasswordExpiration = new Date().toISOString()\n\n if (collectionConfig.auth.verify) {\n user._verified = true\n }\n\n const doc = await payload.db.updateOne({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n await authenticateLocalStrategy({ doc, password: data.password })\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email: user.email,\n user,\n })\n\n const token = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n const fullUser = await payload.findByID({\n id: user.id,\n collection: collectionConfig.slug,\n depth,\n overrideAccess,\n req,\n })\n if (shouldCommit) await commitTransaction(req)\n\n const result = {\n token,\n user: fullUser,\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n\nexport default resetPasswordOperation\n"],"names":["httpStatus","jwt","APIError","commitTransaction","initTransaction","killTransaction","getFieldsToSign","authenticateLocalStrategy","generatePasswordSaltHash","resetPasswordOperation","args","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","collection","config","collectionConfig","depth","overrideAccess","req","payload","secret","shouldCommit","user","db","findOne","slug","where","resetPasswordExpiration","greater_than","Date","resetPasswordToken","equals","token","FORBIDDEN","hash","salt","password","toISOString","auth","verify","_verified","doc","updateOne","id","fieldsToSign","email","sign","expiresIn","tokenExpiration","fullUser","findByID","result","error"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,OAAOC,SAAS,eAAc;AAK9B,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,wBAAuB;AACvD,SAASC,yBAAyB,QAAQ,sCAAqC;AAC/E,SAASC,wBAAwB,QAAQ,kDAAiD;AAkB1F,OAAO,MAAMC,yBAAyB,OAAOC;IAC3C,IACE,CAACC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,KAAKK,IAAI,EAAE,YACjD,CAACJ,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,KAAKK,IAAI,EAAE,aACjD;QACA,MAAM,IAAIb,SAAS,0BAA0BF,WAAWgB,WAAW;IACrE;IAEA,MAAM,EACJC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCJ,IAAI,EACJK,KAAK,EACLC,cAAc,EACdC,KAAK,EACHC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACR,EACDD,GAAG,EACJ,GAAGZ;IAEJ,IAAI;QACF,MAAMe,eAAe,MAAMrB,gBAAgBkB;QAE3C,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,MAAMI,OAAO,MAAMH,QAAQI,EAAE,CAACC,OAAO,CAAM;YACzCX,YAAYE,iBAAiBU,IAAI;YACjCP;YACAQ,OAAO;gBACLC,yBAAyB;oBAAEC,cAAc,IAAIC;gBAAO;gBACpDC,oBAAoB;oBAAEC,QAAQpB,KAAKqB,KAAK;gBAAC;YAC3C;QACF;QAEA,IAAI,CAACV,MAAM,MAAM,IAAIxB,SAAS,2CAA2CF,WAAWqC,SAAS;QAE7F,4BAA4B;QAC5B,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAG,MAAM/B,yBAAyB;YACpDS,YAAYE;YACZqB,UAAUzB,KAAKyB,QAAQ;QACzB;QAEAd,KAAKa,IAAI,GAAGA;QACZb,KAAKY,IAAI,GAAGA;QAEZZ,KAAKK,uBAAuB,GAAG,IAAIE,OAAOQ,WAAW;QAErD,IAAItB,iBAAiBuB,IAAI,CAACC,MAAM,EAAE;YAChCjB,KAAKkB,SAAS,GAAG;QACnB;QAEA,MAAMC,MAAM,MAAMtB,QAAQI,EAAE,CAACmB,SAAS,CAAC;YACrCC,IAAIrB,KAAKqB,EAAE;YACX9B,YAAYE,iBAAiBU,IAAI;YACjCd,MAAMW;YACNJ;QACF;QAEA,MAAMf,0BAA0B;YAAEsC;YAAKL,UAAUzB,KAAKyB,QAAQ;QAAC;QAE/D,MAAMQ,eAAe1C,gBAAgB;YACnCa;YACA8B,OAAOvB,KAAKuB,KAAK;YACjBvB;QACF;QAEA,MAAMU,QAAQnC,IAAIiD,IAAI,CAACF,cAAcxB,QAAQ;YAC3C2B,WAAWhC,iBAAiBuB,IAAI,CAACU,eAAe;QAClD;QAEA,MAAMC,WAAW,MAAM9B,QAAQ+B,QAAQ,CAAC;YACtCP,IAAIrB,KAAKqB,EAAE;YACX9B,YAAYE,iBAAiBU,IAAI;YACjCT;YACAC;YACAC;QACF;QACA,IAAIG,cAAc,MAAMtB,kBAAkBmB;QAE1C,MAAMiC,SAAS;YACbnB;YACAV,MAAM2B;QACR;QAEA,OAAOE;IACT,EAAE,OAAOC,OAAgB;QACvB,MAAMnD,gBAAgBiB;QACtB,MAAMkC;IACR;AACF,EAAC;AAED,eAAe/C,uBAAsB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Collection } from '../../collections/config/types.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PayloadRequest } from '../../types/index.js';
|
|
3
3
|
export type Args = {
|
|
4
4
|
collection: Collection;
|
|
5
5
|
data: {
|
|
6
6
|
email: string;
|
|
7
7
|
};
|
|
8
8
|
overrideAccess?: boolean;
|
|
9
|
-
req:
|
|
9
|
+
req: PayloadRequest;
|
|
10
10
|
};
|
|
11
11
|
export declare const unlockOperation: (args: Args) => Promise<boolean>;
|
|
12
12
|
export default unlockOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/unlock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/unlock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAS1D,MAAM,MAAM,IAAI,GAAG;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,SAAgB,IAAI,KAAG,OAAO,CAAC,OAAO,CA+DjE,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/unlock.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/unlock.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport executeAccess from '../executeAccess.js'\nimport { resetLoginAttempts } from '../strategies/local/resetLoginAttempts.js'\n\nexport type Args = {\n collection: Collection\n data: {\n email: string\n }\n overrideAccess?: boolean\n req: PayloadRequest\n}\n\nexport const unlockOperation = async (args: Args): Promise<boolean> => {\n if (!Object.prototype.hasOwnProperty.call(args.data, 'email')) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n const {\n collection: { config: collectionConfig },\n overrideAccess,\n req: { locale },\n req,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ req }, collectionConfig.access.unlock)\n }\n\n const options = { ...args }\n\n const { data } = options\n\n // /////////////////////////////////////\n // Unlock\n // /////////////////////////////////////\n\n if (!data.email) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n const user = await req.payload.db.findOne({\n collection: collectionConfig.slug,\n locale,\n req,\n where: { email: { equals: data.email.toLowerCase() } },\n })\n\n let result\n\n if (user) {\n await resetLoginAttempts({\n collection: collectionConfig,\n doc: user,\n payload: req.payload,\n req,\n })\n result = true\n } else {\n result = null\n }\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n\nexport default unlockOperation\n"],"names":["httpStatus","APIError","commitTransaction","initTransaction","killTransaction","executeAccess","resetLoginAttempts","unlockOperation","args","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","collection","config","collectionConfig","overrideAccess","req","locale","shouldCommit","access","unlock","options","email","user","payload","db","findOne","slug","where","equals","toLowerCase","result","doc","error"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAKpC,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,OAAOC,mBAAmB,sBAAqB;AAC/C,SAASC,kBAAkB,QAAQ,4CAA2C;AAW9E,OAAO,MAAMC,kBAAkB,OAAOC;IACpC,IAAI,CAACC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,KAAKK,IAAI,EAAE,UAAU;QAC7D,MAAM,IAAIZ,SAAS,kBAAkBD,WAAWc,WAAW;IAC7D;IAEA,MAAM,EACJC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,cAAc,EACdC,KAAK,EAAEC,MAAM,EAAE,EACfD,GAAG,EACJ,GAAGX;IAEJ,IAAI;QACF,MAAMa,eAAe,MAAMlB,gBAAgBgB;QAE3C,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAI,CAACD,gBAAgB;YACnB,MAAMb,cAAc;gBAAEc;YAAI,GAAGF,iBAAiBK,MAAM,CAACC,MAAM;QAC7D;QAEA,MAAMC,UAAU;YAAE,GAAGhB,IAAI;QAAC;QAE1B,MAAM,EAAEK,IAAI,EAAE,GAAGW;QAEjB,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAI,CAACX,KAAKY,KAAK,EAAE;YACf,MAAM,IAAIxB,SAAS,kBAAkBD,WAAWc,WAAW;QAC7D;QAEA,MAAMY,OAAO,MAAMP,IAAIQ,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;YACxCd,YAAYE,iBAAiBa,IAAI;YACjCV;YACAD;YACAY,OAAO;gBAAEN,OAAO;oBAAEO,QAAQnB,KAAKY,KAAK,CAACQ,WAAW;gBAAG;YAAE;QACvD;QAEA,IAAIC;QAEJ,IAAIR,MAAM;YACR,MAAMpB,mBAAmB;gBACvBS,YAAYE;gBACZkB,KAAKT;gBACLC,SAASR,IAAIQ,OAAO;gBACpBR;YACF;YACAe,SAAS;QACX,OAAO;YACLA,SAAS;QACX;QAEA,IAAIb,cAAc,MAAMnB,kBAAkBiB;QAE1C,OAAOe;IACT,EAAE,OAAOE,OAAgB;QACvB,MAAMhC,gBAAgBe;QACtB,MAAMiB;IACR;AACF,EAAC;AAED,eAAe7B,gBAAe"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Collection } from '../../collections/config/types.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PayloadRequest } from '../../types/index.js';
|
|
3
3
|
export type Args = {
|
|
4
4
|
collection: Collection;
|
|
5
|
-
req:
|
|
5
|
+
req: PayloadRequest;
|
|
6
6
|
token: string;
|
|
7
7
|
};
|
|
8
8
|
export declare const verifyEmailOperation: (args: Args) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/verifyEmail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/verifyEmail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,MAAM,IAAI,GAAG;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAgB,IAAI,KAAG,OAAO,CAAC,OAAO,CAuCtE,CAAA;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/verifyEmail.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/verifyEmail.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Args = {\n collection: Collection\n req: PayloadRequest\n token: string\n}\n\nexport const verifyEmailOperation = async (args: Args): Promise<boolean> => {\n const { collection, req, token } = args\n if (!Object.prototype.hasOwnProperty.call(args, 'token')) {\n throw new APIError('Missing required data.', httpStatus.BAD_REQUEST)\n }\n\n try {\n const shouldCommit = await initTransaction(req)\n\n const user = await req.payload.db.findOne<any>({\n collection: collection.config.slug,\n req,\n where: {\n _verificationToken: { equals: token },\n },\n })\n\n if (!user) throw new APIError('Verification token is invalid.', httpStatus.FORBIDDEN)\n if (user && user._verified === true)\n throw new APIError('This account has already been activated.', httpStatus.ACCEPTED)\n\n await req.payload.db.updateOne({\n id: user.id,\n collection: collection.config.slug,\n data: {\n ...user,\n _verificationToken: null,\n _verified: true,\n },\n req,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return true\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n\nexport default verifyEmailOperation\n"],"names":["httpStatus","APIError","commitTransaction","initTransaction","killTransaction","verifyEmailOperation","args","collection","req","token","Object","prototype","hasOwnProperty","call","BAD_REQUEST","shouldCommit","user","payload","db","findOne","config","slug","where","_verificationToken","equals","FORBIDDEN","_verified","ACCEPTED","updateOne","id","data","error"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAKpC,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AAQpE,OAAO,MAAMC,uBAAuB,OAAOC;IACzC,MAAM,EAAEC,UAAU,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGH;IACnC,IAAI,CAACI,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACP,MAAM,UAAU;QACxD,MAAM,IAAIL,SAAS,0BAA0BD,WAAWc,WAAW;IACrE;IAEA,IAAI;QACF,MAAMC,eAAe,MAAMZ,gBAAgBK;QAE3C,MAAMQ,OAAO,MAAMR,IAAIS,OAAO,CAACC,EAAE,CAACC,OAAO,CAAM;YAC7CZ,YAAYA,WAAWa,MAAM,CAACC,IAAI;YAClCb;YACAc,OAAO;gBACLC,oBAAoB;oBAAEC,QAAQf;gBAAM;YACtC;QACF;QAEA,IAAI,CAACO,MAAM,MAAM,IAAIf,SAAS,kCAAkCD,WAAWyB,SAAS;QACpF,IAAIT,QAAQA,KAAKU,SAAS,KAAK,MAC7B,MAAM,IAAIzB,SAAS,4CAA4CD,WAAW2B,QAAQ;QAEpF,MAAMnB,IAAIS,OAAO,CAACC,EAAE,CAACU,SAAS,CAAC;YAC7BC,IAAIb,KAAKa,EAAE;YACXtB,YAAYA,WAAWa,MAAM,CAACC,IAAI;YAClCS,MAAM;gBACJ,GAAGd,IAAI;gBACPO,oBAAoB;gBACpBG,WAAW;YACb;YACAlB;QACF;QAEA,IAAIO,cAAc,MAAMb,kBAAkBM;QAE1C,OAAO;IACT,EAAE,OAAOuB,OAAgB;QACvB,MAAM3B,gBAAgBI;QACtB,MAAMuB;IACR;AACF,EAAC;AAED,eAAe1B,qBAAoB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Collection } from '../collections/config/types.js';
|
|
2
2
|
import type { SanitizedConfig } from '../config/types.js';
|
|
3
3
|
import type { InitializedEmailAdapter } from '../email/types.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PayloadRequest } from '../types/index.js';
|
|
5
5
|
import type { User } from './types.js';
|
|
6
6
|
type Args = {
|
|
7
7
|
collection: Collection;
|
|
8
8
|
config: SanitizedConfig;
|
|
9
9
|
disableEmail: boolean;
|
|
10
10
|
email: InitializedEmailAdapter;
|
|
11
|
-
req:
|
|
11
|
+
req: PayloadRequest;
|
|
12
12
|
token: string;
|
|
13
13
|
user: User;
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendVerificationEmail.d.ts","sourceRoot":"","sources":["../../src/auth/sendVerificationEmail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sendVerificationEmail.d.ts","sourceRoot":"","sources":["../../src/auth/sendVerificationEmail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,YAAY,CAAA;AAEpD,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,uBAAuB,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/sendVerificationEmail.ts"],"sourcesContent":["import { URL } from 'url'\n\nimport type { Collection } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { InitializedEmailAdapter } from '../email/types.js'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../src/auth/sendVerificationEmail.ts"],"sourcesContent":["import { URL } from 'url'\n\nimport type { Collection } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { InitializedEmailAdapter } from '../email/types.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { User, VerifyConfig } from './types.js'\n\ntype Args = {\n collection: Collection\n config: SanitizedConfig\n disableEmail: boolean\n email: InitializedEmailAdapter\n req: PayloadRequest\n token: string\n user: User\n}\n\nexport async function sendVerificationEmail(args: Args): Promise<void> {\n // Verify token from e-mail\n const {\n collection: { config: collectionConfig },\n config,\n disableEmail,\n email,\n req,\n token,\n user,\n } = args\n\n if (!disableEmail) {\n const protocol = new URL(req.url).protocol // includes the final :\n const serverURL =\n config.serverURL !== null && config.serverURL !== ''\n ? config.serverURL\n : `${protocol}//${req.headers.get('host')}`\n\n const verificationURL = `${serverURL}${config.routes.admin}/${collectionConfig.slug}/verify/${token}`\n\n let html = `${req.t('authentication:newAccountCreated', {\n serverURL: config.serverURL,\n verificationURL,\n })}`\n\n const verify = collectionConfig.auth.verify as VerifyConfig\n\n // Allow config to override email content\n if (typeof verify.generateEmailHTML === 'function') {\n html = await verify.generateEmailHTML({\n req,\n token,\n user,\n })\n }\n\n let subject = req.t('authentication:verifyYourEmail')\n\n // Allow config to override email subject\n if (typeof verify.generateEmailSubject === 'function') {\n subject = await verify.generateEmailSubject({\n req,\n token,\n user,\n })\n }\n\n await email.sendEmail({\n from: `\"${email.defaultFromName}\" <${email.defaultFromAddress}>`,\n html,\n subject,\n to: user.email,\n })\n }\n}\n"],"names":["URL","sendVerificationEmail","args","collection","config","collectionConfig","disableEmail","email","req","token","user","protocol","url","serverURL","headers","get","verificationURL","routes","admin","slug","html","t","verify","auth","generateEmailHTML","subject","generateEmailSubject","sendEmail","from","defaultFromName","defaultFromAddress","to"],"mappings":"AAAA,SAASA,GAAG,QAAQ,MAAK;AAkBzB,OAAO,eAAeC,sBAAsBC,IAAU;IACpD,2BAA2B;IAC3B,MAAM,EACJC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCD,MAAM,EACNE,YAAY,EACZC,KAAK,EACLC,GAAG,EACHC,KAAK,EACLC,IAAI,EACL,GAAGR;IAEJ,IAAI,CAACI,cAAc;QACjB,MAAMK,WAAW,IAAIX,IAAIQ,IAAII,GAAG,EAAED,QAAQ,CAAC,uBAAuB;;QAClE,MAAME,YACJT,OAAOS,SAAS,KAAK,QAAQT,OAAOS,SAAS,KAAK,KAC9CT,OAAOS,SAAS,GAChB,CAAC,EAAEF,SAAS,EAAE,EAAEH,IAAIM,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;QAE/C,MAAMC,kBAAkB,CAAC,EAAEH,UAAU,EAAET,OAAOa,MAAM,CAACC,KAAK,CAAC,CAAC,EAAEb,iBAAiBc,IAAI,CAAC,QAAQ,EAAEV,MAAM,CAAC;QAErG,IAAIW,OAAO,CAAC,EAAEZ,IAAIa,CAAC,CAAC,oCAAoC;YACtDR,WAAWT,OAAOS,SAAS;YAC3BG;QACF,GAAG,CAAC;QAEJ,MAAMM,SAASjB,iBAAiBkB,IAAI,CAACD,MAAM;QAE3C,yCAAyC;QACzC,IAAI,OAAOA,OAAOE,iBAAiB,KAAK,YAAY;YAClDJ,OAAO,MAAME,OAAOE,iBAAiB,CAAC;gBACpChB;gBACAC;gBACAC;YACF;QACF;QAEA,IAAIe,UAAUjB,IAAIa,CAAC,CAAC;QAEpB,yCAAyC;QACzC,IAAI,OAAOC,OAAOI,oBAAoB,KAAK,YAAY;YACrDD,UAAU,MAAMH,OAAOI,oBAAoB,CAAC;gBAC1ClB;gBACAC;gBACAC;YACF;QACF;QAEA,MAAMH,MAAMoB,SAAS,CAAC;YACpBC,MAAM,CAAC,CAAC,EAAErB,MAAMsB,eAAe,CAAC,GAAG,EAAEtB,MAAMuB,kBAAkB,CAAC,CAAC,CAAC;YAChEV;YACAK;YACAM,IAAIrB,KAAKH,KAAK;QAChB;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAE7D,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,
|
|
1
|
+
{"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAE7D,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,oBAqD9C,CAAA"}
|
|
@@ -36,13 +36,19 @@ export const APIKeyAuthentication = (collectionConfig)=>async ({ headers, payloa
|
|
|
36
36
|
const user = userQuery.docs[0];
|
|
37
37
|
user.collection = collectionConfig.slug;
|
|
38
38
|
user._strategy = 'api-key';
|
|
39
|
-
return
|
|
39
|
+
return {
|
|
40
|
+
user: user
|
|
41
|
+
};
|
|
40
42
|
}
|
|
41
43
|
} catch (err) {
|
|
42
|
-
return
|
|
44
|
+
return {
|
|
45
|
+
user: null
|
|
46
|
+
};
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
|
-
return
|
|
49
|
+
return {
|
|
50
|
+
user: null
|
|
51
|
+
};
|
|
46
52
|
};
|
|
47
53
|
|
|
48
54
|
//# sourceMappingURL=apiKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Where } from '../../types/index.js'\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n const apiKeyIndex = crypto.createHmac('sha1', payload.secret).update(apiKey).digest('hex')\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n equals: apiKeyIndex,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = {\n equals: apiKeyIndex,\n }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: collectionConfig.auth.depth,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user.collection = collectionConfig.slug\n user._strategy = 'api-key'\n\n return user as User\n }\n } catch (err) {\n return null\n }\n }\n\n return null\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","payload","authHeader","get","startsWith","slug","apiKey","replace","apiKeyIndex","createHmac","secret","update","digest","where","auth","verify","and","equals","_verified","not_equals","userQuery","find","collection","depth","limit","overrideAccess","pagination","docs","length","user","_strategy","err"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAM3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;QACzB,MAAMC,aAAaF,QAAQG,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,CAAC,EAAEL,iBAAiBM,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,CAAC,EAAER,iBAAiBM,IAAI,CAAC,SAAS,CAAC,EAAE;YACvE,MAAMG,cAAcX,OAAOY,UAAU,CAAC,QAAQR,QAAQS,MAAM,EAAEC,MAAM,CAACL,QAAQM,MAAM,CAAC;YAEpF,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAId,iBAAiBe,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACER,aAAa;gCACXS,QAAQT;4BACV;wBACF;wBACA;4BACEU,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLN,MAAML,WAAW,GAAG;wBAClBS,QAAQT;oBACV;gBACF;gBAEA,MAAMY,YAAY,MAAMnB,QAAQoB,IAAI,CAAC;oBACnCC,YAAYvB,iBAAiBM,IAAI;oBACjCkB,OAAOxB,iBAAiBe,IAAI,CAACS,KAAK;oBAClCC,OAAO;oBACPC,gBAAgB;oBAChBC,YAAY;oBACZb;gBACF;gBAEA,IAAIO,UAAUO,IAAI,IAAIP,UAAUO,IAAI,CAACC,MAAM,GAAG,GAAG;oBAC/C,MAAMC,OAAOT,UAAUO,IAAI,CAAC,EAAE;oBAC9BE,KAAKP,UAAU,GAAGvB,iBAAiBM,IAAI;oBACvCwB,KAAKC,SAAS,GAAG;oBAEjB,
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Where } from '../../types/index.js'\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n const apiKeyIndex = crypto.createHmac('sha1', payload.secret).update(apiKey).digest('hex')\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n equals: apiKeyIndex,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = {\n equals: apiKeyIndex,\n }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: collectionConfig.auth.depth,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user.collection = collectionConfig.slug\n user._strategy = 'api-key'\n\n return {\n user: user as User,\n }\n }\n } catch (err) {\n return { user: null }\n }\n }\n\n return { user: null }\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","payload","authHeader","get","startsWith","slug","apiKey","replace","apiKeyIndex","createHmac","secret","update","digest","where","auth","verify","and","equals","_verified","not_equals","userQuery","find","collection","depth","limit","overrideAccess","pagination","docs","length","user","_strategy","err"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAM3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;QACzB,MAAMC,aAAaF,QAAQG,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,CAAC,EAAEL,iBAAiBM,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,CAAC,EAAER,iBAAiBM,IAAI,CAAC,SAAS,CAAC,EAAE;YACvE,MAAMG,cAAcX,OAAOY,UAAU,CAAC,QAAQR,QAAQS,MAAM,EAAEC,MAAM,CAACL,QAAQM,MAAM,CAAC;YAEpF,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAId,iBAAiBe,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACER,aAAa;gCACXS,QAAQT;4BACV;wBACF;wBACA;4BACEU,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLN,MAAML,WAAW,GAAG;wBAClBS,QAAQT;oBACV;gBACF;gBAEA,MAAMY,YAAY,MAAMnB,QAAQoB,IAAI,CAAC;oBACnCC,YAAYvB,iBAAiBM,IAAI;oBACjCkB,OAAOxB,iBAAiBe,IAAI,CAACS,KAAK;oBAClCC,OAAO;oBACPC,gBAAgB;oBAChBC,YAAY;oBACZb;gBACF;gBAEA,IAAIO,UAAUO,IAAI,IAAIP,UAAUO,IAAI,CAACC,MAAM,GAAG,GAAG;oBAC/C,MAAMC,OAAOT,UAAUO,IAAI,CAAC,EAAE;oBAC9BE,KAAKP,UAAU,GAAGvB,iBAAiBM,IAAI;oBACvCwB,KAAKC,SAAS,GAAG;oBAEjB,OAAO;wBACLD,MAAMA;oBACR;gBACF;YACF,EAAE,OAAOE,KAAK;gBACZ,OAAO;oBAAEF,MAAM;gBAAK;YACtB;QACF;QAEA,OAAO;YAAEA,MAAM;QAAK;IACtB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/jwt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAS7D,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/jwt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAS7D,eAAO,MAAM,iBAAiB,EAAE,oBA6B/B,CAAA"}
|
|
@@ -16,12 +16,18 @@ export const JWTAuthentication = async ({ headers, isGraphQL = false, payload })
|
|
|
16
16
|
if (user && (!collection.config.auth.verify || user._verified)) {
|
|
17
17
|
user.collection = collection.config.slug;
|
|
18
18
|
user._strategy = 'local-jwt';
|
|
19
|
-
return
|
|
19
|
+
return {
|
|
20
|
+
user: user
|
|
21
|
+
};
|
|
20
22
|
} else {
|
|
21
|
-
return
|
|
23
|
+
return {
|
|
24
|
+
user: null
|
|
25
|
+
};
|
|
22
26
|
}
|
|
23
27
|
} catch (error) {
|
|
24
|
-
return
|
|
28
|
+
return {
|
|
29
|
+
user: null
|
|
30
|
+
};
|
|
25
31
|
}
|
|
26
32
|
};
|
|
27
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/strategies/jwt.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nimport { extractJWT } from '../extractJWT.js'\n\ntype JWTToken = {\n collection: string\n id: string\n}\n\nexport const JWTAuthentication: AuthStrategyFunction = async ({\n headers,\n isGraphQL = false,\n payload,\n}) => {\n try {\n const token = extractJWT({ headers, payload })\n const decodedPayload = jwt.verify(token, payload.secret) as jwt.JwtPayload & JWTToken\n\n const collection = payload.collections[decodedPayload.collection]\n\n const user = await payload.findByID({\n id: decodedPayload.id,\n collection: decodedPayload.collection,\n depth: isGraphQL ? 0 : collection.config.auth.depth,\n })\n\n if (user && (!collection.config.auth.verify || user._verified)) {\n user.collection = collection.config.slug\n user._strategy = 'local-jwt'\n return user as User\n } else {\n return null\n }\n } catch (error) {\n return null\n }\n}\n"],"names":["jwt","extractJWT","JWTAuthentication","headers","isGraphQL","payload","token","decodedPayload","verify","secret","collection","collections","user","findByID","id","depth","config","auth","_verified","slug","_strategy","error"],"mappings":"AAAA,OAAOA,SAAS,eAAc;AAI9B,SAASC,UAAU,QAAQ,mBAAkB;AAO7C,OAAO,MAAMC,oBAA0C,OAAO,EAC5DC,OAAO,EACPC,YAAY,KAAK,EACjBC,OAAO,EACR;IACC,IAAI;QACF,MAAMC,QAAQL,WAAW;YAAEE;YAASE;QAAQ;QAC5C,MAAME,iBAAiBP,IAAIQ,MAAM,CAACF,OAAOD,QAAQI,MAAM;QAEvD,MAAMC,aAAaL,QAAQM,WAAW,CAACJ,eAAeG,UAAU,CAAC;QAEjE,MAAME,OAAO,MAAMP,QAAQQ,QAAQ,CAAC;YAClCC,IAAIP,eAAeO,EAAE;YACrBJ,YAAYH,eAAeG,UAAU;YACrCK,OAAOX,YAAY,IAAIM,WAAWM,MAAM,CAACC,IAAI,CAACF,KAAK;QACrD;QAEA,IAAIH,QAAS,CAAA,CAACF,WAAWM,MAAM,CAACC,IAAI,CAACT,MAAM,IAAII,KAAKM,SAAS,AAAD,GAAI;YAC9DN,KAAKF,UAAU,GAAGA,WAAWM,MAAM,CAACG,IAAI;YACxCP,KAAKQ,SAAS,GAAG;YACjB,
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/strategies/jwt.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nimport { extractJWT } from '../extractJWT.js'\n\ntype JWTToken = {\n collection: string\n id: string\n}\n\nexport const JWTAuthentication: AuthStrategyFunction = async ({\n headers,\n isGraphQL = false,\n payload,\n}) => {\n try {\n const token = extractJWT({ headers, payload })\n const decodedPayload = jwt.verify(token, payload.secret) as jwt.JwtPayload & JWTToken\n\n const collection = payload.collections[decodedPayload.collection]\n\n const user = await payload.findByID({\n id: decodedPayload.id,\n collection: decodedPayload.collection,\n depth: isGraphQL ? 0 : collection.config.auth.depth,\n })\n\n if (user && (!collection.config.auth.verify || user._verified)) {\n user.collection = collection.config.slug\n user._strategy = 'local-jwt'\n return {\n user: user as User,\n }\n } else {\n return { user: null }\n }\n } catch (error) {\n return { user: null }\n }\n}\n"],"names":["jwt","extractJWT","JWTAuthentication","headers","isGraphQL","payload","token","decodedPayload","verify","secret","collection","collections","user","findByID","id","depth","config","auth","_verified","slug","_strategy","error"],"mappings":"AAAA,OAAOA,SAAS,eAAc;AAI9B,SAASC,UAAU,QAAQ,mBAAkB;AAO7C,OAAO,MAAMC,oBAA0C,OAAO,EAC5DC,OAAO,EACPC,YAAY,KAAK,EACjBC,OAAO,EACR;IACC,IAAI;QACF,MAAMC,QAAQL,WAAW;YAAEE;YAASE;QAAQ;QAC5C,MAAME,iBAAiBP,IAAIQ,MAAM,CAACF,OAAOD,QAAQI,MAAM;QAEvD,MAAMC,aAAaL,QAAQM,WAAW,CAACJ,eAAeG,UAAU,CAAC;QAEjE,MAAME,OAAO,MAAMP,QAAQQ,QAAQ,CAAC;YAClCC,IAAIP,eAAeO,EAAE;YACrBJ,YAAYH,eAAeG,UAAU;YACrCK,OAAOX,YAAY,IAAIM,WAAWM,MAAM,CAACC,IAAI,CAACF,KAAK;QACrD;QAEA,IAAIH,QAAS,CAAA,CAACF,WAAWM,MAAM,CAACC,IAAI,CAACT,MAAM,IAAII,KAAKM,SAAS,AAAD,GAAI;YAC9DN,KAAKF,UAAU,GAAGA,WAAWM,MAAM,CAACG,IAAI;YACxCP,KAAKQ,SAAS,GAAG;YACjB,OAAO;gBACLR,MAAMA;YACR;QACF,OAAO;YACL,OAAO;gBAAEA,MAAM;YAAK;QACtB;IACF,EAAE,OAAOS,OAAO;QACd,OAAO;YAAET,MAAM;QAAK;IACtB;AACF,EAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../../../collections/config/types.js';
|
|
1
2
|
type Args = {
|
|
3
|
+
collection: SanitizedCollectionConfig;
|
|
2
4
|
password: string;
|
|
3
5
|
};
|
|
4
|
-
export declare const generatePasswordSaltHash: ({ password, }: Args) => Promise<{
|
|
6
|
+
export declare const generatePasswordSaltHash: ({ collection, password, }: Args) => Promise<{
|
|
5
7
|
hash: string;
|
|
6
8
|
salt: string;
|
|
7
9
|
}>;
|