import { BaseEvent } from '@/application/base/baseEvent' import { SocketEvent } from '@/application/enums' import { Character } from '@/entities/character' import CharacterRepository from '@/repositories/characterRepository' export default class CharacterListEvent extends BaseEvent { public listen(): void { this.socket.on(SocketEvent.CHARACTER_LIST, this.handleEvent.bind(this)) } private async handleEvent(data: any): Promise { try { const characterRepository = new CharacterRepository() let characters: Character[] = await characterRepository.getByUserId(this.socket.userId!) this.socket.emit(SocketEvent.CHARACTER_LIST, characters) } catch (error: any) { this.logger.error('character:list error', error.message) } } }