import { appLogger } from '#utilities/logger' import { BaseRepository } from './baseRepository' import { CharacterHair } from '#entities/characterHair' class CharacterHairRepository extends BaseRepository { async getAll() { try { const repository = this.em.getRepository(CharacterHair) return await repository.findAll() } catch (error: any) { appLogger.error(`Failed to get all character hair: ${error instanceof Error ? error.message : String(error)}`) return null } } async getAllSelectable() { try { const repository = this.em.getRepository(CharacterHair) return await repository.find({ isSelectable: true }) } catch (error: any) { appLogger.error(`Failed to get selectable character hair: ${error instanceof Error ? error.message : String(error)}`) return null } } async getById(id: number) { try { const repository = this.em.getRepository(CharacterHair) return await repository.findOne( { id }, { populate: ['sprite.spriteActions'] } ) } catch (error: any) { appLogger.error(`Failed to get character hair by ID: ${error instanceof Error ? error.message : String(error)}`) return null } } } export default new CharacterHairRepository()