From e843213b0a2dfe2d7c01d65491c68657ec1c1b49 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Fri, 3 Jan 2025 21:41:37 +0100 Subject: [PATCH] Temp. fix for populating --- src/entities/characterHair.ts | 2 +- src/entities/characterType.ts | 2 +- src/entities/item.ts | 4 ++-- src/repositories/characterRepository.ts | 9 ++++----- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/entities/characterHair.ts b/src/entities/characterHair.ts index a6a1e9b..5c371c1 100644 --- a/src/entities/characterHair.ts +++ b/src/entities/characterHair.ts @@ -23,7 +23,7 @@ export class CharacterHair extends BaseEntity { @Property() isSelectable = false - @ManyToOne({ nullable: true }) + @ManyToOne() sprite?: Sprite setId(id: UUID) { diff --git a/src/entities/characterType.ts b/src/entities/characterType.ts index b260730..15b7ac2 100644 --- a/src/entities/characterType.ts +++ b/src/entities/characterType.ts @@ -26,7 +26,7 @@ export class CharacterType extends BaseEntity { @Property() isSelectable = false - @ManyToOne({ nullable: true }) + @ManyToOne() sprite?: Sprite @Property() diff --git a/src/entities/item.ts b/src/entities/item.ts index cca277b..73d1691 100644 --- a/src/entities/item.ts +++ b/src/entities/item.ts @@ -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() diff --git a/src/repositories/characterRepository.ts b/src/repositories/characterRepository.ts index 26d2ad0..7be574d 100644 --- a/src/repositories/characterRepository.ts +++ b/src/repositories/characterRepository.ts @@ -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 { @@ -24,20 +23,20 @@ class CharacterRepository extends BaseRepository { } } - async getById(id: UUID, populate?: string[]): Promise { + async getById(id: UUID, populate?: any): Promise { 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 { + async getByName(name: string, populate?: any): Promise { 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