diff --git a/src/repositories/userRepository.ts b/src/repositories/userRepository.ts index 2132775..83dab6d 100644 --- a/src/repositories/userRepository.ts +++ b/src/repositories/userRepository.ts @@ -1,14 +1,17 @@ import prisma from '../utilities/prisma' // Import the global Prisma instance -import { User } from '@prisma/client' import { appLogger } from '#utilities/logger' +import { Database } from '#utilities/database' +import { User } from '../entities/user' class UserRepository { - async getById(id: number): Promise { + async getById(id: number) { try { - return await prisma.user.findUnique({ - where: { - id - } + const orm = await Database.getInstance() + const em = orm.em.fork() + const repository = em.getRepository(User) + + return await repository.findOne({ + id }) } catch (error: any) { // Handle error @@ -17,12 +20,14 @@ class UserRepository { } } - async getByUsername(username: string): Promise { + async getByUsername(username: string) { try { - return await prisma.user.findUnique({ - where: { - username - } + const orm = await Database.getInstance() + const em = orm.em.fork() + const repository = em.getRepository(User) + + return await repository.findOne({ + username }) } catch (error: any) { // Handle error @@ -31,12 +36,14 @@ class UserRepository { } } - async getByEmail(email: string): Promise { + async getByEmail(email: string) { try { - return await prisma.user.findUnique({ - where: { - email - } + const orm = await Database.getInstance() + const em = orm.em.fork() + const repository = em.getRepository(User) + + return await repository.findOne({ + email }) } catch (error: any) { // Handle error