1
0
forked from noxious/server
Files
noxious_server/src/events/character/connect.ts

24 lines
872 B
TypeScript

import { Server } from 'socket.io'
import { TSocket, ExtendedCharacter } from '../../utilities/types'
import CharacterRepository from '../../repositories/characterRepository'
import CharacterManager from '../../managers/characterManager'
type SocketResponseT = {
character_id: number
}
export default function (socket: TSocket, io: Server) {
socket.on('character:connect', async (data: SocketResponseT) => {
console.log('character:connect requested', data)
try {
const character = await CharacterRepository.getByUserAndId(socket?.user?.id as number, data.character_id);
if(!character) return;
socket.characterId = character.id;
CharacterManager.initCharacter(character as ExtendedCharacter);
socket.emit('character:connect', character)
} catch (error: any) {
console.log('character:connect error', error)
}
})
}