1
0
forked from noxious/server
Files
noxious_server/src/events/gameMaster/assetManager/characterHair/list.ts
2025-01-04 21:23:47 +01:00

27 lines
909 B
TypeScript

import { BaseEvent } from '#application/base/baseEvent'
import { CharacterHair } from '#entities/characterHair'
import CharacterHairRepository from '#repositories/characterHairRepository'
interface IPayload {}
export default class characterHairListEvent extends BaseEvent {
public listen(): void {
this.socket.on('gm:characterHair:list', this.handleEvent.bind(this))
}
private async handleEvent(data: IPayload, callback: (response: CharacterHair[]) => void): Promise<void> {
try {
if (!(await this.isCharacterGM())) return
const characterHairRepository = new CharacterHairRepository()
const items = await characterHairRepository.getAll()
await characterHairRepository.getEntityManager().populate(items, ['sprite'])
return callback(items)
} catch (error) {
this.logger.error('gm:characterHair:list error', error)
return callback([])
}
}
}