forked from noxious/server
25 lines
731 B
TypeScript
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
|
|
}
|
|
}
|
|
}
|