d1e8243c47
* Zod EVERYWHERE * Add no-unused-vars rule to eslint in front * Add no-unused-vars rule to eslint in pusher * Add no-unused-vars rule to eslint in back * Remove unused PlayerTexture guards * Fix data providing on room connection Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
25 lines
714 B
TypeScript
25 lines
714 B
TypeScript
import { z } from "zod";
|
|
|
|
export const isBanBannedAdminMessageInterface = z.object({
|
|
type: z.enum(["ban", "banned"]),
|
|
message: z.string(),
|
|
userUuid: z.string(),
|
|
});
|
|
|
|
export const isUserMessageAdminMessageInterface = z.object({
|
|
event: z.enum(["user-message"]),
|
|
message: isBanBannedAdminMessageInterface,
|
|
world: z.string(),
|
|
jwt: z.string(),
|
|
});
|
|
|
|
export const isListenRoomsMessageInterface = z.object({
|
|
event: z.enum(["listen"]),
|
|
roomIds: z.array(z.string()),
|
|
jwt: z.string(),
|
|
});
|
|
|
|
export const isAdminMessageInterface = z.union([isUserMessageAdminMessageInterface, isListenRoomsMessageInterface]);
|
|
|
|
export type AdminMessageInterface = z.infer<typeof isAdminMessageInterface>;
|