Select Git revision
login.ts 652 B
import { compare } from 'bcrypt';
import { prisma } from '~/server/prisma';
export default defineEventHandler(async (event) => {
const userExists = await prisma.user.count();
if (!userExists) {
throw createError({ statusCode: 403, statusMessage: 'No users exist' });
}
const { email, password } = await readBody(event);
const user = await prisma.user.findUnique({
where: { email },
});
if (!user || !(await compare(password, user.password))) {
throw createError({ statusCode: 401, statusMessage: 'Invalid credentials' });
}
// Set up session or token logic here
return { user };
});