createResponseJoinRoom function
- CreateResponseJoinRoomOptions options
Creates a ResponseJoinRoom object from a ResponseJoinLocalRoom object.
This function takes a CreateResponseJoinRoomOptions containing the ResponseJoinLocalRoom object and returns a Future<ResponseJoinRoom>.
Example:
final localRoom = ResponseJoinLocalRoom(
rtpCapabilities: null,
isHost: true,
eventStarted: false,
isBanned: false,
hostNotJoined: false,
eventRoomParams: MeetingRoomParams(...),
recordingParams: RecordingParams(...),
secureCode: "12345",
mediasfuURL: "https://example.com",
apiKey: "api-key",
apiUserName: "user-name",
allowRecord: true,
);
final joinRoom = await createResponseJoinRoom(
CreateResponseJoinRoomOptions(localRoom: localRoom),
);
print(joinRoom);
Implementation
Future<ResponseJoinRoom> createResponseJoinRoom(
CreateResponseJoinRoomOptions options) async {
final localRoom = options.localRoom;
return ResponseJoinRoom(
rtpCapabilities: localRoom.rtpCapabilities,
success: localRoom.rtpCapabilities != null,
roomRecvIPs: [], // Placeholder; populate with necessary values
meetingRoomParams: localRoom.eventRoomParams,
recordingParams: localRoom.recordingParams,
secureCode: localRoom.secureCode,
recordOnly: false, // Default assumption unless additional logic applies
isHost: localRoom.isHost,
safeRoom: false, // Default assumption unless additional logic applies
autoStartSafeRoom:
false, // Default assumption unless additional logic applies
safeRoomStarted:
false, // Default assumption unless additional logic applies
safeRoomEnded: false, // Default assumption unless additional logic applies
reason: localRoom.isBanned! ? "User is banned from the room." : null,
banned: localRoom.isBanned,
suspended: false, // Default assumption unless additional logic applies
noAdmin: localRoom.hostNotJoined,
);
}