1
0
forked from noxious/server

Renamed folder utilities > application, added baseEntity class, updated baseRepo class, removed prisma helper

This commit is contained in:
2024-12-25 16:50:01 +01:00
parent f5a7a348e0
commit f4746722af
120 changed files with 423 additions and 378 deletions

View File

@ -1,24 +0,0 @@
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
}
}
}

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from './baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { CharacterHair } from '#entities/characterHair'
class CharacterHairRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { Character } from '#entities/character'
class CharacterRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { CharacterType } from '#entities/characterType'
class CharacterTypeRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { Chat } from '#entities/chat'
class ChatRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { Item } from '#entities/item'
class ItemRepository extends BaseRepository {

View File

@ -1,4 +1,4 @@
import { BaseRepository } from '#repositories/baseRepository'
import { BaseRepository } from '#application/bases/baseRepository'
class ObjectRepository extends BaseRepository {
async getById(id: string): Promise<any> {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository' // Import the global Prisma instance
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository' // Import the global Prisma instance
import { PasswordResetToken } from '#entities/passwordResetToken'
class PasswordResetTokenRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { FilterValue } from '@mikro-orm/core'
import { BaseRepository } from '#repositories/baseRepository'
import { BaseRepository } from '#application/bases/baseRepository'
import { Sprite } from '#entities/sprite'
class SpriteRepository extends BaseRepository {

View File

@ -1,9 +1,9 @@
import { FilterValue } from '@mikro-orm/core'
import { BaseRepository } from '#repositories/baseRepository'
import { BaseRepository } from '#application/bases/baseRepository'
import { Tile } from '#entities/tile'
import { Zone } from '#entities/zone'
import { unduplicateArray } from '#utilities/utilities'
import { FlattenZoneArray } from '#utilities/zone'
import { unduplicateArray } from '#application/utilities'
import { FlattenZoneArray } from '#application/zone'
class TileRepository extends BaseRepository {
async getById(id: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise<any> {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from './baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { User } from '#entities/user'
class UserRepository extends BaseRepository {

View File

@ -1,12 +1,12 @@
import { gameLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { gameLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { World } from '#entities/world'
class WorldRepository extends BaseRepository {
async getFirst(): Promise<any> {
async getFirst() {
try {
const repository = this.em.getRepository(World)
return await repository.findOne({})
return await repository.findOne({ date: { $exists: true }})
} catch (error: any) {
gameLogger.error(`Failed to get first world: ${error instanceof Error ? error.message : String(error)}`)
}

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { ZoneEventTile } from '#entities/zoneEventTile'
class ZoneEventTileRepository extends BaseRepository {

View File

@ -1,5 +1,5 @@
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { appLogger } from '#application/logger'
import { BaseRepository } from '#application/bases/baseRepository'
import { ZoneEventTile } from '#entities/zoneEventTile'
import { ZoneObject } from '#entities/zoneObject'
import { Zone } from '#entities/zone'