1
0
forked from noxious/server

added zod for easier validation (wip)

This commit is contained in:
2024-05-29 01:27:51 +02:00
parent 58ca3fac22
commit 97062c0635
6 changed files with 33 additions and 8 deletions

View File

@ -2,14 +2,21 @@ import { Socket, Server } from "socket.io";
import {TSocket} from "../types/TSocket";
import {Character} from "@prisma/client";
import CharacterRepository from "../repositories/CharacterRepository";
import {ZCharacterCreate} from "../types/zod/CharacterCreate";
export default function CharacterCreate(socket: TSocket, io: Server) {
socket.on('character:create', async (data: any) => {
let user_id = socket.user?.id as number;
// zod validate
try {
data = ZCharacterCreate.parse(data);
let character: Character = await CharacterRepository.create(user_id, data.name) as Character;
let characters: Character[] = await CharacterRepository.getByUserId(user_id) as Character[];
let user_id = socket.user?.id as number;
let character: Character = await CharacterRepository.create(user_id, data.name) as Character;
let characters: Character[] = await CharacterRepository.getByUserId(user_id) as Character[];
socket.emit('character:list', characters);
socket.emit('character:list', characters);
} catch (error: any) {
return socket.emit('notification', {error: error.errors[0].message});
}
});
}