Files
partey_workadventure/pusher/src/Model/Websocket/Admin/AdminMessages.ts
T
Alexis Faizeau d1e8243c47 Zod EVERYWHERE (#2027)
* 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>
2022-04-12 14:21:19 +02:00

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>;