UNPKG

@4players/odin-common

Version:

A collection of commonly used type definitions and utility functions across ODIN web projects

97 lines (96 loc) 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RoomCommandsRpc = exports.MainCommandsRpc = void 0; const zod_1 = require("zod"); const serialization_1 = require("../schema/serialization"); const room_1 = require("../schema/room"); const peer_1 = require("../schema/peer"); const media_1 = require("../schema/media"); const webrtc_1 = require("../schema/webrtc"); exports.MainCommandsRpc = { Hello: { request: zod_1.z.object({ stream: zod_1.z.literal('main'), }), response: zod_1.z.null(), }, JoinRoom: { request: zod_1.z.object({ token: zod_1.z.string(), room_id: room_1.RoomV1.RoomIdSchema, user_data: serialization_1.ByteArraySchema, position: peer_1.PeerPositionSchema, }), response: zod_1.z.object({ peer_id: peer_1.PeerIdSchema, stream_id: zod_1.z.optional(zod_1.z.number()), token: zod_1.z.optional(zod_1.z.string()), }), }, WebRtcUpdate: { request: webrtc_1.WebRtcUpdateSchema, response: zod_1.z.null(), }, RequestReconnectToken: { request: zod_1.z.object({ peer_id: zod_1.z.optional(peer_1.PeerIdSchema) }), response: zod_1.z.string(), }, Ping: { request: zod_1.z.object({}), response: zod_1.z.null(), }, }; exports.RoomCommandsRpc = { Hello: { request: zod_1.z.object({ stream: zod_1.z.literal('room'), token: zod_1.z.string(), room_id: zod_1.z.string(), user_data: serialization_1.ByteArraySchema, position: peer_1.PeerPositionSchema, }), response: zod_1.z.null(), }, UpdatePeer: { request: zod_1.z.object({ user_data: serialization_1.ByteArraySchema }), response: zod_1.z.null(), }, StartMedia: { request: zod_1.z.object({ media_id: media_1.MediaIdSchema, properties: media_1.MediaPropertiesSchema, }), response: zod_1.z.null(), }, StopMedia: { request: zod_1.z.object({ media_id: media_1.MediaIdSchema, }), response: zod_1.z.null(), }, PauseMedia: { request: zod_1.z.object({ media_id: media_1.MediaIdSchema, }), response: zod_1.z.null(), }, ResumeMedia: { request: zod_1.z.object({ media_id: media_1.MediaIdSchema, }), response: zod_1.z.null(), }, SetPeerPosition: { request: zod_1.z.object({ position: peer_1.PeerPositionSchema, }), response: zod_1.z.null(), }, SendMessage: { request: zod_1.z.object({ target_peer_ids: zod_1.z.optional(zod_1.z.array(peer_1.PeerIdSchema)), message: serialization_1.ByteArraySchema, }), response: zod_1.z.null(), }, };