typings: Add recording access control in recording preferences and create RecordingPermissions interface

This commit is contained in:
juancarmore 2025-04-25 11:42:12 +02:00
parent ef3289d5ef
commit a105d79680
2 changed files with 22 additions and 9 deletions

View File

@ -6,12 +6,14 @@ export interface OpenViduMeetPermissions {
// Permissions for recording // Permissions for recording
canRecord: boolean; // Can start/stop recording the room. canRecord: boolean; // Can start/stop recording the room.
// canWatchRecording?: boolean; // Can watch the recording.
// canDownloadRecording?: boolean; // Can download the recording.
// canDeleteRecording?: boolean; // Can delete the recording.
// Permissions for chat // Permissions for chat
canChat: boolean; // Can send chat messages in the room. canChat: boolean; // Can send chat messages in the room.
canChangeVirtualBackground: boolean; // Can change the virtual background. canChangeVirtualBackground: boolean; // Can change the virtual background.
} }
export interface RecordingPermissions {
canRetrieveRecordings: boolean; // Can list and play recordings.
canDeleteRecordings: boolean; // Can delete recordings.
}

View File

@ -2,19 +2,30 @@
* Interface representing the preferences for a room. * Interface representing the preferences for a room.
*/ */
export interface MeetRoomPreferences { export interface MeetRoomPreferences {
chatPreferences: MeetChatPreferences; chatPreferences: MeetChatPreferences;
recordingPreferences: MeetRecordingPreferences; recordingPreferences: MeetRecordingPreferences;
virtualBackgroundPreferences: MeetVirtualBackgroundPreferences; virtualBackgroundPreferences: MeetVirtualBackgroundPreferences;
} }
/** /**
* Interface representing the preferences for recording. * Interface representing the preferences for recording.
*/ */
export interface MeetRecordingPreferences { export interface MeetRecordingPreferences {
enabled: boolean; enabled: boolean;
allowAccessTo: MeetRecordingAccess;
} }
export const enum MeetRecordingAccess {
ADMIN = 'admin', // Only admins can access the recording
ADMIN_MODERATOR = 'admin-moderator', // Admins and moderators can access
ADMIN_MODERATOR_PUBLISHER = 'admin-moderator-publisher', // Admins, moderators and publishers can access
PUBLIC = 'public' // Everyone can access
}
export interface MeetChatPreferences { export interface MeetChatPreferences {
enabled: boolean; enabled: boolean;
} }
export interface MeetVirtualBackgroundPreferences { export interface MeetVirtualBackgroundPreferences {
enabled: boolean; enabled: boolean;
} }