Rename moderatorRoomUrl and speakerRoomUrl to moderatorUrl and speakerUrl across the codebase
This commit is contained in:
parent
f1fc2e0ba4
commit
5b2b26fef9
@ -6,4 +6,4 @@ description: >
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
example: 'roomId,moderatorRoomUrl'
|
||||
example: 'roomId,moderatorUrl'
|
||||
|
||||
@ -18,8 +18,8 @@ content:
|
||||
enabled: false
|
||||
virtualBackgroundPreferences:
|
||||
enabled: true
|
||||
moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
|
||||
fields=roomId:
|
||||
summary: Response with only the roomId
|
||||
@ -41,8 +41,8 @@ content:
|
||||
virtualBackgroundPreferences:
|
||||
enabled: true
|
||||
|
||||
fields=moderatorRoomURL,speakerRoomURL:
|
||||
fields=moderatorUrl,speakerUrl:
|
||||
summary: Response containing only moderator and speaker URLs
|
||||
value:
|
||||
moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
|
||||
@ -27,8 +27,8 @@ content:
|
||||
enabled: false
|
||||
virtualBackgroundPreferences:
|
||||
enabled: true
|
||||
moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
- roomId: 'room-456'
|
||||
roomName: 'room'
|
||||
creationDate: 1620001000000
|
||||
@ -40,8 +40,8 @@ content:
|
||||
enabled: true
|
||||
virtualBackgroundPreferences:
|
||||
enabled: false
|
||||
moderatorRoomURL: 'http://localhost:6080/room/room-456?secret=789012'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-456?secret=210987'
|
||||
moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012'
|
||||
speakerUrl: 'http://localhost:6080/room/room-456?secret=210987'
|
||||
pagination:
|
||||
isTruncated: false
|
||||
maxItems: 10
|
||||
@ -86,14 +86,14 @@ content:
|
||||
nextPageToken: 'abc123'
|
||||
maxItems: 10
|
||||
|
||||
fields=moderatorRoomURL,speakerRoomURL:
|
||||
fields=moderatorUrl,speakerUrl:
|
||||
summary: Response containing only moderator and speaker URLs
|
||||
value:
|
||||
rooms:
|
||||
- moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
- moderatorRoomURL: 'http://localhost:6080/room/room-456?secret=789012'
|
||||
speakerRoomURL: 'http://localhost:6080/room/room-456?secret=210987'
|
||||
- moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
speakerUrl: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
- moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012'
|
||||
speakerUrl: 'http://localhost:6080/room/room-456?secret=210987'
|
||||
pagination:
|
||||
isTruncated: false
|
||||
maxItems: 10
|
||||
|
||||
@ -39,13 +39,13 @@ properties:
|
||||
# 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.
|
||||
moderatorRoomURL:
|
||||
moderatorUrl:
|
||||
type: string
|
||||
example: 'http://localhost:6080/room/room-123?secret=123456'
|
||||
description: >
|
||||
The URL for the moderator participants to join the room. The moderator role has special permissions to manage the
|
||||
room and participants.
|
||||
speakerRoomURL:
|
||||
speakerUrl:
|
||||
type: string
|
||||
example: 'http://localhost:6080/room/room-123?secret=654321'
|
||||
description: >
|
||||
|
||||
56
backend/package-lock.json
generated
56
backend/package-lock.json
generated
@ -896,9 +896,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/util-locate-window": {
|
||||
"version": "3.804.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz",
|
||||
"integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==",
|
||||
"version": "3.873.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.873.0.tgz",
|
||||
"integrity": "sha512-xcVhZF6svjM5Rj89T1WzkjQmrTF6dpR2UvIHPMTnSZoNe6CixejPZ6f0JJ2kAhO8H+dUHwNBlsUgOTIKiK/Syg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"tslib": "^2.6.2"
|
||||
@ -6227,9 +6227,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.25.2",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
|
||||
"integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==",
|
||||
"version": "4.25.3",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz",
|
||||
"integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -6247,8 +6247,8 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001733",
|
||||
"electron-to-chromium": "^1.5.199",
|
||||
"caniuse-lite": "^1.0.30001735",
|
||||
"electron-to-chromium": "^1.5.204",
|
||||
"node-releases": "^2.0.19",
|
||||
"update-browserslist-db": "^1.1.3"
|
||||
},
|
||||
@ -6434,9 +6434,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001735",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz",
|
||||
"integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==",
|
||||
"version": "1.0.30001737",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz",
|
||||
"integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -7517,9 +7517,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.203",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz",
|
||||
"integrity": "sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==",
|
||||
"version": "1.5.208",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz",
|
||||
"integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@ -9652,9 +9652,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/istanbul-reports": {
|
||||
"version": "3.1.7",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
|
||||
"integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
|
||||
"integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
@ -12339,13 +12339,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/openapi-generate-html/node_modules/@apidevtools/json-schema-ref-parser": {
|
||||
"version": "14.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.1.1.tgz",
|
||||
"integrity": "sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg==",
|
||||
"version": "14.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.2.0.tgz",
|
||||
"integrity": "sha512-NaGMMWwppbByagq+LwQMq6PMXHFWVu6kSwwx+eJfYTJ5zdpOvb9TIk6ZWxEEeXMUvGdVOZq3JalYsjsTZDvtkA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"js-yaml": "^4.1.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -12353,6 +12352,9 @@
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/philsturgeon"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/json-schema": "^7.0.15"
|
||||
}
|
||||
},
|
||||
"node_modules/openapi-generate-html/node_modules/commander": {
|
||||
@ -14487,9 +14489,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/uint8array-extras": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.1.tgz",
|
||||
"integrity": "sha512-+NWHrac9dvilNgme+gP4YrBSumsaMZP0fNBtXXFIf33RLLKEcBUKaQZ7ULUbS0sBfcjxIZ4V96OTRkCbM7hxpw==",
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz",
|
||||
"integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -15043,9 +15045,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/yoctocolors-cjs": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
|
||||
"integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
|
||||
"integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
|
||||
@ -27,18 +27,18 @@ export class MeetRoomHelper {
|
||||
* This method parses the 'secret' query parameter from both speaker and moderator
|
||||
* room URLs associated with the meeting room.
|
||||
*
|
||||
* @param room - The MeetRoom object containing speakerRoomUrl and moderatorRoomUrl properties
|
||||
* @param room - The MeetRoom object containing speakerUrl and moderatorUrl properties
|
||||
* @returns An object containing the extracted secrets with the following properties:
|
||||
* - speakerSecret: The secret extracted from the speaker room URL
|
||||
* - moderatorSecret: The secret extracted from the moderator room URL
|
||||
*/
|
||||
static extractSecretsFromRoom(room: MeetRoom): { speakerSecret: string; moderatorSecret: string } {
|
||||
const { speakerRoomUrl, moderatorRoomUrl } = room;
|
||||
const { speakerUrl, moderatorUrl } = room;
|
||||
|
||||
const speakerUrl = new URL(speakerRoomUrl);
|
||||
const speakerSecret = speakerUrl.searchParams.get('secret') || '';
|
||||
const moderatorUrl = new URL(moderatorRoomUrl);
|
||||
const moderatorSecret = moderatorUrl.searchParams.get('secret') || '';
|
||||
const parsedSpeakerUrl = new URL(speakerUrl);
|
||||
const speakerSecret = parsedSpeakerUrl.searchParams.get('secret') || '';
|
||||
const parsedModeratorUrl = new URL(moderatorUrl);
|
||||
const moderatorSecret = parsedModeratorUrl.searchParams.get('secret') || '';
|
||||
return { speakerSecret, moderatorSecret };
|
||||
}
|
||||
|
||||
|
||||
@ -81,8 +81,8 @@ export class RoomService {
|
||||
// maxParticipants,
|
||||
autoDeletionDate,
|
||||
preferences,
|
||||
moderatorRoomUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`,
|
||||
speakerRoomUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`
|
||||
moderatorUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`,
|
||||
speakerUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`
|
||||
};
|
||||
|
||||
await this.storageService.saveMeetRoom(meetRoom);
|
||||
@ -197,9 +197,9 @@ export class RoomService {
|
||||
|
||||
const filteredRoom = UtilsHelper.filterObjectFields(meetRoom, fields);
|
||||
|
||||
// Remove moderatorRoomUrl if the participant is a speaker to prevent access to moderator links
|
||||
// Remove moderatorUrl if the participant is a speaker to prevent access to moderator links
|
||||
if (participantRole === ParticipantRole.SPEAKER) {
|
||||
delete filteredRoom.moderatorRoomUrl;
|
||||
delete filteredRoom.moderatorUrl;
|
||||
}
|
||||
|
||||
return filteredRoom as MeetRoom;
|
||||
|
||||
@ -311,8 +311,8 @@ export class MeetStorageService<
|
||||
}
|
||||
|
||||
const archivedRoom: Partial<MRoom> = {
|
||||
moderatorRoomUrl: room.moderatorRoomUrl,
|
||||
speakerRoomUrl: room.speakerRoomUrl,
|
||||
moderatorUrl: room.moderatorUrl,
|
||||
speakerUrl: room.speakerUrl,
|
||||
preferences: {
|
||||
recordingPreferences: room.preferences?.recordingPreferences
|
||||
}
|
||||
|
||||
@ -138,10 +138,10 @@ export const expectValidRoom = (
|
||||
});
|
||||
}
|
||||
|
||||
expect(room.moderatorRoomUrl).toBeDefined();
|
||||
expect(room.speakerRoomUrl).toBeDefined();
|
||||
expect(room.moderatorRoomUrl).toContain(room.roomId);
|
||||
expect(room.speakerRoomUrl).toContain(room.roomId);
|
||||
expect(room.moderatorUrl).toBeDefined();
|
||||
expect(room.speakerUrl).toBeDefined();
|
||||
expect(room.moderatorUrl).toContain(room.roomId);
|
||||
expect(room.speakerUrl).toContain(room.roomId);
|
||||
|
||||
if (markedForDeletion !== undefined) {
|
||||
expect(room.autoDeletionDate).toBeDefined();
|
||||
|
||||
@ -181,14 +181,14 @@ describe('Recording API Tests', () => {
|
||||
let roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId);
|
||||
|
||||
expect(roomMetadata).toBeDefined();
|
||||
expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.moderatorUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerUrl).toContain(room.roomId);
|
||||
|
||||
roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId);
|
||||
|
||||
expect(roomMetadata).toBeDefined();
|
||||
expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.moderatorUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerUrl).toContain(room.roomId);
|
||||
|
||||
const response = await startRecording(room.roomId, moderatorCookie);
|
||||
expectValidStartRecordingResponse(response, room.roomId, room.roomName);
|
||||
|
||||
@ -73,8 +73,8 @@ describe('Recording API Tests', () => {
|
||||
// Check that the room metadata exists after starting the first recording
|
||||
let roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId);
|
||||
expect(roomMetadata).toBeDefined();
|
||||
expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.moderatorUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerUrl).toContain(room.roomId);
|
||||
|
||||
// Generate a new recording
|
||||
const response = await startRecording(room.roomId, moderatorCookie);
|
||||
@ -90,8 +90,8 @@ describe('Recording API Tests', () => {
|
||||
roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId);
|
||||
|
||||
expect(roomMetadata).toBeDefined();
|
||||
expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.moderatorUrl).toContain(room.roomId);
|
||||
expect(roomMetadata!.speakerUrl).toContain(room.roomId);
|
||||
|
||||
// Delete the second recording
|
||||
deleteResponse = await deleteRecording(secondRecordingId!);
|
||||
|
||||
@ -71,8 +71,8 @@ describe('Recording API Tests', () => {
|
||||
|
||||
const archivedRoom = await storageService.getArchivedRoomMetadata(room.roomId);
|
||||
expect(archivedRoom).toBeDefined();
|
||||
expect(archivedRoom?.moderatorRoomUrl).toBeDefined();
|
||||
expect(archivedRoom?.speakerRoomUrl).toBeDefined();
|
||||
expect(archivedRoom?.moderatorUrl).toBeDefined();
|
||||
expect(archivedRoom?.speakerUrl).toBeDefined();
|
||||
expect(archivedRoom?.preferences).toBeDefined();
|
||||
|
||||
const secretsResponse = await stopRecording(recordingId, moderatorCookie);
|
||||
|
||||
@ -97,7 +97,7 @@ describe('Room API Tests', () => {
|
||||
expectSuccessRoomResponse(response, 'deletion-date', validAutoDeletionDate);
|
||||
});
|
||||
|
||||
it('should retrieve a room without moderatorRoomUrl when participant is speaker', async () => {
|
||||
it('should retrieve a room without moderatorUrl when participant is speaker', async () => {
|
||||
const roomData = await setupSingleRoom();
|
||||
const response = await getRoom(
|
||||
roomData.room.roomId,
|
||||
@ -106,7 +106,7 @@ describe('Room API Tests', () => {
|
||||
ParticipantRole.SPEAKER
|
||||
);
|
||||
expect(response.status).toBe(200);
|
||||
expect(response.body.moderatorRoomUrl).toBeUndefined();
|
||||
expect(response.body.moderatorUrl).toBeUndefined();
|
||||
});
|
||||
|
||||
it('should return 404 for a non-existent room', async () => {
|
||||
|
||||
@ -130,8 +130,8 @@ export class RoomWizardComponent implements OnInit {
|
||||
async createRoom(roomName?: string) {
|
||||
try {
|
||||
// Call the room service to create a new room
|
||||
const { moderatorRoomUrl } = await this.roomService.createRoom({ roomName });
|
||||
await this.navigationService.redirectTo(moderatorRoomUrl);
|
||||
const { moderatorUrl } = await this.roomService.createRoom({ roomName });
|
||||
await this.navigationService.redirectTo(moderatorUrl);
|
||||
} catch (error) {
|
||||
const errorMessage = `Failed to create room ${roomName}`;
|
||||
this.notificationService.showSnackbar(errorMessage);
|
||||
@ -157,8 +157,8 @@ export class RoomWizardComponent implements OnInit {
|
||||
this.notificationService.showSnackbar('Room updated successfully');
|
||||
} else {
|
||||
// Create new room
|
||||
const { moderatorRoomUrl } = await this.roomService.createRoom(roomOptions);
|
||||
await this.navigationService.redirectTo(moderatorRoomUrl);
|
||||
const { moderatorUrl } = await this.roomService.createRoom(roomOptions);
|
||||
await this.navigationService.redirectTo(moderatorUrl);
|
||||
}
|
||||
} catch (error) {
|
||||
const errorMessage = `Failed to ${this.editMode ? 'update' : 'create'} room`;
|
||||
|
||||
@ -233,7 +233,7 @@ export class RoomsComponent implements OnInit {
|
||||
}
|
||||
|
||||
private openRoom(room: MeetRoom) {
|
||||
window.open(room.moderatorRoomUrl, '_blank');
|
||||
window.open(room.moderatorUrl, '_blank');
|
||||
}
|
||||
|
||||
private async editRoomPreferences(room: MeetRoom) {
|
||||
@ -254,12 +254,12 @@ export class RoomsComponent implements OnInit {
|
||||
}
|
||||
|
||||
private copyModeratorLink(room: MeetRoom) {
|
||||
this.clipboard.copy(room.moderatorRoomUrl);
|
||||
this.clipboard.copy(room.moderatorUrl);
|
||||
this.notificationService.showSnackbar('Moderator link copied to clipboard');
|
||||
}
|
||||
|
||||
private copySpeakerLink(room: MeetRoom) {
|
||||
this.clipboard.copy(room.speakerRoomUrl);
|
||||
this.clipboard.copy(room.speakerUrl);
|
||||
this.notificationService.showSnackbar('Speaker link copied to clipboard');
|
||||
}
|
||||
|
||||
|
||||
@ -519,11 +519,7 @@ export class MeetingComponent implements OnInit {
|
||||
if (!this.participantService.isModeratorParticipant()) return;
|
||||
|
||||
try {
|
||||
await this.meetingService.changeParticipantRole(
|
||||
this.roomId,
|
||||
participant.identity,
|
||||
ParticipantRole.SPEAKER
|
||||
);
|
||||
await this.meetingService.changeParticipantRole(this.roomId, participant.identity, ParticipantRole.SPEAKER);
|
||||
} catch (error) {
|
||||
console.error('Error unmaking participant moderator:', error);
|
||||
this.notificationService.showSnackbar('Failed to unmake participant moderator');
|
||||
@ -531,12 +527,12 @@ export class MeetingComponent implements OnInit {
|
||||
}
|
||||
|
||||
async copyModeratorLink() {
|
||||
this.clipboard.copy(this.room!.moderatorRoomUrl);
|
||||
this.clipboard.copy(this.room!.moderatorUrl);
|
||||
this.notificationService.showSnackbar('Moderator link copied to clipboard');
|
||||
}
|
||||
|
||||
async copySpeakerLink() {
|
||||
this.clipboard.copy(this.room!.speakerRoomUrl);
|
||||
this.clipboard.copy(this.room!.speakerUrl);
|
||||
this.notificationService.showSnackbar('Speaker link copied to clipboard');
|
||||
}
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
<input
|
||||
type="hidden"
|
||||
name="roomUrl"
|
||||
value="{{ moderatorRoomUrl }}"
|
||||
value="{{ moderatorUrl }}"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
@ -91,7 +91,7 @@
|
||||
<input
|
||||
type="hidden"
|
||||
name="roomUrl"
|
||||
value="{{ speakerRoomUrl }}"
|
||||
value="{{ speakerUrl }}"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
@ -115,7 +115,7 @@
|
||||
<input
|
||||
type="hidden"
|
||||
name="roomUrl"
|
||||
value="{{ moderatorRoomUrl }}"
|
||||
value="{{ moderatorUrl }}"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
|
||||
@ -20,8 +20,8 @@ export interface MeetRoom extends BaseRoomOptions {
|
||||
roomId: string;
|
||||
roomName: string;
|
||||
creationDate: number;
|
||||
moderatorRoomUrl: string;
|
||||
speakerRoomUrl: string;
|
||||
moderatorUrl: string;
|
||||
speakerUrl: string;
|
||||
markedForDeletion?: boolean;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user