fix: adds type error validations for email and password in login operation (#5899)

This commit is contained in:
Patrik
2024-04-17 16:33:19 -04:00
committed by GitHub
parent 93ee452a2d
commit e7143e02e2

View File

@@ -6,7 +6,7 @@ import type { PayloadRequest } from '../../types/index.js'
import type { User } from '../types.js'
import { buildAfterOperation } from '../../collections/operations/utils.js'
import { AuthenticationError, LockedAuth } from '../../errors/index.js'
import { AuthenticationError, LockedAuth, ValidationError } from '../../errors/index.js'
import { afterRead } from '../../fields/hooks/afterRead/index.js'
import { commitTransaction } from '../../utilities/commitTransaction.js'
import { initTransaction } from '../../utilities/initTransaction.js'
@@ -82,6 +82,13 @@ export const loginOperation = async <TSlug extends keyof GeneratedTypes['collect
const { email: unsanitizedEmail, password } = data
if (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '') {
throw new ValidationError([{ field: 'email', message: req.i18n.t('validation:required') }])
}
if (typeof password !== 'string' || password.trim() === '') {
throw new ValidationError([{ field: 'password', message: req.i18n.t('validation:required') }])
}
const email = unsanitizedEmail ? unsanitizedEmail.toLowerCase().trim() : null
let user = await payload.db.findOne<any>({