Skip to content
Snippets Groups Projects
Select Git revision
0 results

login.ts

Blame
    • Sofiane Lasri's avatar
      b5c2ec97
      refactor: remove unused parameters and variables · b5c2ec97
      Sofiane Lasri authored
      - Remove unused `useRouter` import in `auth.ts`
      - Update `verifyUserDoesntExists.ts` and `verifyUserExists.ts` to remove
        unused `to` parameter
      - Remove unused `to` parameter in `verifyUserExists.ts`
      - Eliminate unused `generatedSession` variable in `login.ts`
      - Simplify handler function in `userExists.ts` by removing `event` param
      b5c2ec97
      History
      refactor: remove unused parameters and variables
      Sofiane Lasri authored
      - Remove unused `useRouter` import in `auth.ts`
      - Update `verifyUserDoesntExists.ts` and `verifyUserExists.ts` to remove
        unused `to` parameter
      - Remove unused `to` parameter in `verifyUserExists.ts`
      - Eliminate unused `generatedSession` variable in `login.ts`
      - Simplify handler function in `userExists.ts` by removing `event` param
    login.ts 848 B
    import {compare} from 'bcrypt';
    import {generateSession} from "~/server/utils/generateSession";
    import prisma from "~/lib/prisma";
    import {EventHandlerRequest, H3Event} from "h3";
    
    export default defineEventHandler(async (event: H3Event<EventHandlerRequest>) => {
        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'});
        }
    
        await generateSession(user, event);
    
        return {
            id: user.id,
            email: user.email,
            name: user.name,
        };
    });