forked from noxious/server
22 lines
791 B
TypeScript
22 lines
791 B
TypeScript
import { BaseEvent } from '#application/base/baseEvent'
|
|
import Database from '#application/database'
|
|
import { Character } from '#entities/character'
|
|
import CharacterRepository from '#repositories/characterRepository'
|
|
|
|
export default class CharacterListEvent extends BaseEvent {
|
|
public listen(): void {
|
|
this.socket.on('character:list', this.handleEvent.bind(this))
|
|
}
|
|
|
|
private async handleEvent(data: any): Promise<void> {
|
|
try {
|
|
const characters: Character[] = await CharacterRepository.getByUserId(this.socket.userId!)
|
|
await Database.getEntityManager().populate(characters, ['characterType', 'characterHair'])
|
|
|
|
this.socket.emit('character:list', characters)
|
|
} catch (error: any) {
|
|
this.logger.error('character:list error', error.message)
|
|
}
|
|
}
|
|
}
|