forked from noxious/server
Updated user repository to use MikroORM
This commit is contained in:
parent
38395b6f19
commit
72562f92f9
@ -1,14 +1,17 @@
|
|||||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||||
import { User } from '@prisma/client'
|
|
||||||
import { appLogger } from '#utilities/logger'
|
import { appLogger } from '#utilities/logger'
|
||||||
|
import { Database } from '#utilities/database'
|
||||||
|
import { User } from '../entities/user'
|
||||||
|
|
||||||
class UserRepository {
|
class UserRepository {
|
||||||
async getById(id: number): Promise<User | null> {
|
async getById(id: number) {
|
||||||
try {
|
try {
|
||||||
return await prisma.user.findUnique({
|
const orm = await Database.getInstance()
|
||||||
where: {
|
const em = orm.em.fork()
|
||||||
id
|
const repository = em.getRepository(User)
|
||||||
}
|
|
||||||
|
return await repository.findOne({
|
||||||
|
id
|
||||||
})
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// Handle error
|
// Handle error
|
||||||
@ -17,12 +20,14 @@ class UserRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getByUsername(username: string): Promise<User | null> {
|
async getByUsername(username: string) {
|
||||||
try {
|
try {
|
||||||
return await prisma.user.findUnique({
|
const orm = await Database.getInstance()
|
||||||
where: {
|
const em = orm.em.fork()
|
||||||
username
|
const repository = em.getRepository(User)
|
||||||
}
|
|
||||||
|
return await repository.findOne({
|
||||||
|
username
|
||||||
})
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// Handle error
|
// Handle error
|
||||||
@ -31,12 +36,14 @@ class UserRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getByEmail(email: string): Promise<User | null> {
|
async getByEmail(email: string) {
|
||||||
try {
|
try {
|
||||||
return await prisma.user.findUnique({
|
const orm = await Database.getInstance()
|
||||||
where: {
|
const em = orm.em.fork()
|
||||||
email
|
const repository = em.getRepository(User)
|
||||||
}
|
|
||||||
|
return await repository.findOne({
|
||||||
|
email
|
||||||
})
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
// Handle error
|
// Handle error
|
||||||
|
Loading…
x
Reference in New Issue
Block a user