typings: add participant role management and signal payloads for room preferences

This commit is contained in:
Carlos Santos 2025-08-07 18:36:52 +02:00
parent eb8ab3fe63
commit 4d8fdb49e8
2 changed files with 28 additions and 0 deletions

View File

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

View File

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