21 lines
707 B
TypeScript
21 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 {
|
|
const characterRepository = new CharacterRepository()
|
|
let characters: Character[] = await characterRepository.getByUserId(this.socket.userId!)
|
|
|
|
this.socket.emit('character:list', characters)
|
|
} catch (error: any) {
|
|
this.logger.error('character:list error', error.message)
|
|
}
|
|
}
|
|
}
|