Temp. fix for populating

This commit is contained in:
Dennis Postma 2025-01-03 21:41:37 +01:00
parent 4d50edd5dd
commit e843213b0a
4 changed files with 8 additions and 9 deletions

View File

@ -23,7 +23,7 @@ export class CharacterHair extends BaseEntity {
@Property()
isSelectable = false
@ManyToOne({ nullable: true })
@ManyToOne()
sprite?: Sprite
setId(id: UUID) {

View File

@ -26,7 +26,7 @@ export class CharacterType extends BaseEntity {
@Property()
isSelectable = false
@ManyToOne({ nullable: true })
@ManyToOne()
sprite?: Sprite
@Property()

View File

@ -17,7 +17,7 @@ export class Item extends BaseEntity {
@Property()
name!: string
@Property({ nullable: true })
@Property()
description?: string
@Enum(() => ItemType)
@ -29,7 +29,7 @@ export class Item extends BaseEntity {
@Enum(() => ItemRarity)
rarity: ItemRarity = ItemRarity.COMMON
@ManyToOne(() => Sprite, { nullable: true })
@ManyToOne(() => Sprite, )
sprite?: Sprite
@Property()

View File

@ -1,7 +1,6 @@
import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Character } from '#entities/character'
import { RequiredEntityData } from '@mikro-orm/core'
class CharacterRepository extends BaseRepository {
async getByUserId(userId: UUID, populate?: any): Promise<Character[]> {
@ -24,20 +23,20 @@ class CharacterRepository extends BaseRepository {
}
}
async getById(id: UUID, populate?: string[]): Promise<Character | null> {
async getById(id: UUID, populate?: any): Promise<Character | null> {
try {
const repository = this.em.getRepository(Character)
return await repository.findOne({ id })
return await repository.findOne({ id }, { populate })
} catch (error: any) {
this.logger.error(`Failed to get character by ID: ${error instanceof Error ? error.message : String(error)}`)
return null
}
}
async getByName(name: string): Promise<Character | null> {
async getByName(name: string, populate?: any): Promise<Character | null> {
try {
const repository = this.em.getRepository(Character)
return await repository.findOne({ name })
return await repository.findOne({ name }, { populate })
} catch (error: any) {
this.logger.error(`Failed to get character by name: ${error instanceof Error ? error.message : String(error)}`)
return null