1
0
forked from noxious/server
noxious_server/src/repositories/baseRepository.ts
2024-12-25 02:06:58 +01:00

25 lines
731 B
TypeScript

import { appLogger } from '#utilities/logger'
import { Database } from '#utilities/database'
import { EntityManager, MikroORM } from '@mikro-orm/core'
export abstract class BaseRepository {
protected orm!: MikroORM
protected em!: EntityManager
constructor() {
this.initializeORM().catch((error) => {
appLogger.error(`Failed to initialize Repository: ${error instanceof Error ? error.message : String(error)}`)
})
}
private async initializeORM() {
try {
this.orm = await Database.getInstance()
this.em = this.orm.em.fork()
} catch (error: any) {
appLogger.error(`Failed to initialize ORM: ${error instanceof Error ? error.message : String(error)}`)
throw error
}
}
}