import {Server} from "socket.io"; import {TSocket} from "../utilities/Types"; import {Character} from "@prisma/client"; import CharacterRepository from "../repositories/CharacterRepository"; import {ZCharacterDelete} from "../utilities/ZodTypes"; export default function CharacterCreate(socket: TSocket, io: Server) { socket.on('character:delete', async (data: any) => { // zod validate try { data = ZCharacterDelete.parse(data); await CharacterRepository.delete(data.character_id); let user_id = socket.user?.id as number; let characters: Character[] = await CharacterRepository.getByUserId(user_id) as Character[]; socket.emit('character:list', characters); } catch (error: any) { return socket.emit('notification', {error: error.errors[0].message}); } }); }