From 72562f92f94f3bd57861cc9fde0326028dc64905 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Tue, 24 Dec 2024 23:29:17 +0100 Subject: [PATCH] Updated user repository to use MikroORM --- src/repositories/userRepository.ts | 39 ++++++++++++++++++------------ 1 file changed, 23 insertions(+), 16 deletions(-) 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