- Updated the MeetRoom interface to replace anonymous access configuration with a unified access configuration. - Refactored RoomService to handle access configuration for both anonymous and registered users. - Modified tests to reflect changes in access configuration structure. - Updated frontend components to use the new access configuration for meeting URLs and permissions. - Ensured backward compatibility by adjusting API endpoints and request/response types.
189 lines
8.3 KiB
YAML
189 lines
8.3 KiB
YAML
type: object
|
|
properties:
|
|
roomId:
|
|
type: string
|
|
example: 'room-123'
|
|
description: >
|
|
The unique identifier of the room. This ID is generated by combining the room name with a unique identifier.
|
|
roomName:
|
|
type: string
|
|
example: 'room'
|
|
description: |
|
|
The display name of the room, used to identify it in a user-friendly way. This value does not need to be unique.
|
|
owner:
|
|
type: string
|
|
example: 'alice_smith'
|
|
description: |
|
|
The userId of the registered Meet user who owns this room.
|
|
|
|
If the room was created by a registered Meet user, this will be their userId.
|
|
If the room was created via the REST API using an API key, this will be the userId of the global admin (root user).
|
|
creationDate:
|
|
type: number
|
|
example: 1620000000000
|
|
description: >
|
|
The creation date of the room in milliseconds since the Unix epoch.
|
|
autoDeletionDate:
|
|
type: [number, 'null']
|
|
example: 1900000000000
|
|
description: |
|
|
The timestamp (in milliseconds since the Unix epoch) specifying when the room will be automatically deleted.
|
|
This must be at least one hour in the future.
|
|
|
|
After this time, the room is closed to new participants and scheduled for deletion.
|
|
It will be removed after the last participant leaves (graceful deletion).
|
|
|
|
If not set, the room remains active until manually deleted.
|
|
autoDeletionPolicy:
|
|
description: >
|
|
Policy for automatic deletion of the room and its contents. This includes
|
|
settings for how the room should be handled when certain conditions are met.
|
|
type: object
|
|
properties:
|
|
withMeeting:
|
|
type: string
|
|
enum:
|
|
- force
|
|
- when_meeting_ends
|
|
default: when_meeting_ends
|
|
example: when_meeting_ends
|
|
description: |
|
|
Policy for automatic deletion when the room has an active meeting. Options are:
|
|
- force: The meeting will be ended, and the room will be deleted without waiting for participants to leave.
|
|
- when_meeting_ends: The room will be deleted when the meeting ends.
|
|
withRecordings:
|
|
type: string
|
|
enum:
|
|
- force
|
|
- close
|
|
default: close
|
|
example: close
|
|
description: |
|
|
Policy for automatic deletion when the room has recordings. Options are:
|
|
- force: The room and its recordings will be deleted.
|
|
- close: The room will be closed instead of deleted, maintaining its recordings.
|
|
config:
|
|
description: |
|
|
Room configuration (chat, recording, virtual background, e2ee, captions).
|
|
<br/><br/>
|
|
|
|
**Excluded from responses by default to reduce payload size.**
|
|
To include it in the response:
|
|
- **POST requests:** use the `X-ExtraFields: config` header
|
|
- **Other requests:** use either the `extraFields=config` query parameter or the `X-ExtraFields: config` header
|
|
$ref: meet-room-config.yaml#/MeetRoomConfig
|
|
# maxParticipants:
|
|
# type: integer
|
|
# example: 10
|
|
# description: >
|
|
# The maximum number of participants allowed in the room. If the number of participants exceeds
|
|
# this limit, new participants will not be allowed to join.
|
|
roles:
|
|
description: >
|
|
Roles for the room. Defines the complete permissions for moderator and speaker roles.
|
|
type: object
|
|
properties:
|
|
moderator:
|
|
type: object
|
|
properties:
|
|
permissions:
|
|
$ref: meet-permissions.yaml
|
|
description: >
|
|
The complete set of permissions for the moderator role. These define what moderators can do in the meeting.
|
|
speaker:
|
|
type: object
|
|
properties:
|
|
permissions:
|
|
$ref: meet-permissions.yaml
|
|
description: >
|
|
The complete set of permissions for the speaker role. These define what speakers can do in the meeting.
|
|
access:
|
|
description: >
|
|
Access configuration and generated access URLs for the room.
|
|
type: object
|
|
properties:
|
|
anonymous:
|
|
type: object
|
|
properties:
|
|
moderator:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
example: true
|
|
description: >
|
|
Whether anonymous access for the moderator role is enabled.
|
|
url:
|
|
type: string
|
|
format: uri
|
|
example: 'http://localhost:6080/room/room-123?secret=123456'
|
|
description: >
|
|
The URL for anonymous moderators to access the room.
|
|
speaker:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
example: true
|
|
description: >
|
|
Whether anonymous access for the speaker role is enabled.
|
|
url:
|
|
type: string
|
|
format: uri
|
|
example: 'http://localhost:6080/room/room-123?secret=654321'
|
|
description: >
|
|
The URL for anonymous speakers to access the room.
|
|
recording:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
example: true
|
|
description: >
|
|
Whether anonymous access for recordings in the room is enabled.
|
|
url:
|
|
type: string
|
|
format: uri
|
|
example: 'http://localhost:6080/room/room-123?secret=987654'
|
|
description: >
|
|
The URL for anonymous access to the room's recordings.
|
|
registered:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
example: true
|
|
description: >
|
|
Whether access for registered users is enabled.
|
|
**Note**: admins, owner and members of the room will always have access regardless of this setting.
|
|
url:
|
|
type: string
|
|
format: uri
|
|
example: 'http://localhost:6080/room/room-123'
|
|
description: >
|
|
The URL for registered users to access the room.
|
|
status:
|
|
type: string
|
|
enum:
|
|
- open
|
|
- active_meeting
|
|
- closed
|
|
example: open
|
|
description: |
|
|
The current status of the room. Options are:
|
|
- `open`: The room is open and available to host a meeting.
|
|
- `active_meeting`: There is an active meeting in progress in the room.
|
|
- `closed`: The room is closed to hosting new meetings.
|
|
meetingEndAction:
|
|
type: string
|
|
enum:
|
|
- none
|
|
- delete
|
|
- close
|
|
example: none
|
|
description: |
|
|
The action to take when the meeting ends. Options are:
|
|
- `none`: No action will be taken.
|
|
- `close`: The room will be closed.
|
|
- `delete`: The room (and its recordings if any) will be deleted.
|