22 lines
776 B
TypeScript
22 lines
776 B
TypeScript
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<void> {
|
|
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)
|
|
}
|
|
}
|
|
}
|