feat: add autoDeletionPolicy, status and meetingEndAction fields, and related enums, to MeetRoom interface
This commit is contained in:
parent
fb589bd19b
commit
04f828f82e
@ -4,6 +4,7 @@ import { MeetRoomPreferences } from './room-preferences.js';
|
|||||||
interface BaseRoomOptions {
|
interface BaseRoomOptions {
|
||||||
roomName?: string;
|
roomName?: string;
|
||||||
autoDeletionDate?: number;
|
autoDeletionDate?: number;
|
||||||
|
autoDeletionPolicy?: MeetRoomAutoDeletionPolicy;
|
||||||
preferences?: MeetRoomPreferences;
|
preferences?: MeetRoomPreferences;
|
||||||
// maxParticipants?: number | null;
|
// maxParticipants?: number | null;
|
||||||
}
|
}
|
||||||
@ -20,9 +21,41 @@ export interface MeetRoom extends BaseRoomOptions {
|
|||||||
roomId: string;
|
roomId: string;
|
||||||
roomName: string;
|
roomName: string;
|
||||||
creationDate: number;
|
creationDate: number;
|
||||||
|
preferences: MeetRoomPreferences;
|
||||||
moderatorUrl: string;
|
moderatorUrl: string;
|
||||||
speakerUrl: string;
|
speakerUrl: string;
|
||||||
markedForDeletion?: boolean;
|
status: MeetRoomStatus;
|
||||||
|
meetingEndAction: MeetingEndAction; // Action to take on the room when the meeting ends
|
||||||
|
}
|
||||||
|
|
||||||
|
export const enum MeetRoomStatus {
|
||||||
|
OPEN = 'open', // Room is open and available to host a meeting
|
||||||
|
ACTIVE_MEETING = 'active_meeting', // There is an ongoing meeting in the room
|
||||||
|
CLOSED = 'closed' // Room is closed to hosting new meetings
|
||||||
|
}
|
||||||
|
|
||||||
|
export const enum MeetingEndAction {
|
||||||
|
NONE = 'none', // No action is taken when the meeting ends
|
||||||
|
CLOSE = 'close', // The room is closed when the meeting ends
|
||||||
|
DELETE = 'delete', // The room is deleted when the meeting ends
|
||||||
|
DELETE_ALL = 'delete_all' // The room and its recordings are deleted when the meeting ends
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MeetRoomAutoDeletionPolicy {
|
||||||
|
withMeeting: MeetRoomDeletionPolicyWithMeeting;
|
||||||
|
withRecordings: MeetRoomDeletionPolicyWithRecordings;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const enum MeetRoomDeletionPolicyWithMeeting {
|
||||||
|
FORCE = 'force', // Force deletion even if there is an active meeting
|
||||||
|
WHEN_MEETING_ENDS = 'when_meeting_ends', // Delete the room when the meeting ends
|
||||||
|
FAIL = 'fail' // Fail the deletion if there is an active meeting
|
||||||
|
}
|
||||||
|
|
||||||
|
export const enum MeetRoomDeletionPolicyWithRecordings {
|
||||||
|
FORCE = 'force', // Force deletion even if there are ongoing or previous recordings
|
||||||
|
CLOSE = 'close', // Close the room and keep recordings
|
||||||
|
FAIL = 'fail' // Fail the deletion if there are ongoing or previous recordings
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MeetRoomRoleAndPermissions {
|
export interface MeetRoomRoleAndPermissions {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user