added error handling, fixed authenticaton, added toaster

This commit is contained in:
lnn0q 2025-03-30 17:31:12 +03:00
parent 40c35bda13
commit b6b7cea210
18 changed files with 1327 additions and 68 deletions

View file

@ -9,12 +9,12 @@ export async function LoginResolver(
{ input }: MutationLoginArgs,
{ identity }: IdentityContext
): Promise<Session> {
const error = 'Invalid username or password';
const error = 'Invalid password or email';
const user = await prisma.user.findUnique({
where: { email: input.email }
});
if (!user) throw new Error(error);
if (user == null) throw new Error(error);
const match = await bcrypt.compare(input.password, user.password);
if (!match) throw new Error(error);

View file

@ -1,24 +1,24 @@
import { IdentityContext } from '@app/server/identity';
import { prisma, uuid } from '@app/server/prisma/client';
import { RegisterInput } from '@generated/types';
import { MutationRegisterArgs } from '@generated/types';
import bcrypt from 'bcrypt';
export async function SignUpResolver(
_: any,
input: RegisterInput,
{ input }: MutationRegisterArgs,
{ identity }: IdentityContext
): Promise<void> {
const existingUsername = await prisma.user.findUnique({
where: { username: input.username },
select: { id: true }
});
if (existingUsername != null) throw Error('User with this username already exists.');
if (existingUsername != null) throw new Error('User with this username already exists.');
const existingEmail = await prisma.user.findUnique({
where: { email: input.email },
select: { id: true }
});
if (existingEmail != null) throw Error('Email is already in use.');
if (existingEmail != null) throw new Error('Email is already in use.');
const hashedPassword = await bcrypt.hash(input.password, 10);