Files
dc-recorder/src/validation.ts
T

23 lines
509 B
TypeScript
Raw Normal View History

2026-05-14 23:11:25 +07:00
import { z } from "zod";
2026-05-14 23:11:25 +07:00
const userStateUpdateSchema = z.object({
userId: z.string(),
username: z.string(),
avatar: z.string(),
speaking: z.boolean(),
});
2026-05-14 23:11:25 +07:00
export type UserStateUpdate = z.infer<typeof userStateUpdateSchema>;
2026-05-14 23:11:25 +07:00
export interface AudioMessage {
data: Buffer;
userId: string;
}
export async function validateUserStateUpdate(
data: unknown,
): Promise<UserStateUpdate | null> {
2026-05-14 23:11:25 +07:00
const result = userStateUpdateSchema.safeParse(data);
return result.success ? result.data : null;
}