1
0
forked from noxious/server
noxious_server/src/application/base/baseRepository.ts
2024-12-27 02:50:11 +01:00

26 lines
716 B
TypeScript

import { EntityManager, MikroORM } from '@mikro-orm/core'
import { Database } from '../database'
import { appLogger } from '../logger'
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
}
}
}