From 4d8fdb49e85e83deded04501596faad3d9ae1ca1 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Thu, 7 Aug 2025 18:36:52 +0200 Subject: [PATCH] typings: add participant role management and signal payloads for room preferences --- typings/src/event.model.ts | 22 ++++++++++++++++++++++ typings/src/participant.ts | 6 ++++++ 2 files changed, 28 insertions(+) diff --git a/typings/src/event.model.ts b/typings/src/event.model.ts index 08dcdf7..4a74c83 100644 --- a/typings/src/event.model.ts +++ b/typings/src/event.model.ts @@ -1,3 +1,25 @@ +import { ParticipantRole } from './participant.js'; +import { MeetRoomPreferences } from './room-preferences.js'; + export enum MeetSignalType { MEET_ROOM_PREFERENCES_UPDATED = 'meet_room_preferences_updated', + MEET_PARTICIPANT_ROLE_UPDATED = 'meet_participant_role_updated', } + +export interface MeetRoomPreferencesUpdatedPayload { + roomId: string; + preferences: MeetRoomPreferences; + timestamp: number; +} + +export interface MeetParticipantRoleUpdatedPayload { + roomId: string; + participantName: string; + newRole: ParticipantRole; + timestamp: number; + secret: string; +} + +export type MeetSignalPayload = + | MeetRoomPreferencesUpdatedPayload + | MeetParticipantRoleUpdatedPayload; diff --git a/typings/src/participant.ts b/typings/src/participant.ts index c12e844..d84bc99 100644 --- a/typings/src/participant.ts +++ b/typings/src/participant.ts @@ -34,3 +34,9 @@ export const enum ParticipantRole { MODERATOR = 'moderator', SPEAKER = 'speaker' } + +export interface MeetTokenMetadata { + livekitUrl: string; + roles: { role: ParticipantRole; permissions: OpenViduMeetPermissions }[]; // Array of roles with their permissions + selectedRole: ParticipantRole; +}