23 lines
707 B
TypeScript
23 lines
707 B
TypeScript
import { BaseEvent } from '#application/base/baseEvent'
|
|
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 {
|
|
let characters: Character[] = await CharacterRepository.getByUserId(this.socket.userId!, [
|
|
'characterType',
|
|
'characterHair'
|
|
])
|
|
|
|
this.socket.emit('character:list', characters)
|
|
} catch (error: any) {
|
|
this.logger.error('character:list error', error.message)
|
|
}
|
|
}
|
|
}
|