fix: adds type error validations for email and password in login operation (#5899)
This commit is contained in:
@@ -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>({
|
||||
|
||||
Reference in New Issue
Block a user