setCoHost function

Future<HeadlessActionResult> setCoHost(
  1. ModerationParameters parameters,
  2. String name, {
  3. List<ModerationArea> areas = const <ModerationArea>['media', 'participants'],
})

Implementation

Future<HeadlessActionResult> setCoHost(
  ModerationParameters parameters,
  String name, {
  List<ModerationArea> areas = const <ModerationArea>['media', 'participants'],
}) async {
  if (parameters.islevel != '2') {
    return const HeadlessActionResult.failure(
        'Only the host can assign a co-host.');
  }
  const all = <String>['media', 'participants', 'chat', 'waiting'];
  final responsibilities = all
      .map((area) => CoHostResponsibility(
          name: area, value: areas.contains(area), dedicated: false))
      .toList(growable: false);
  await modifyCoHostSettings(ModifyCoHostSettingsOptions(
    roomName: parameters.roomName,
    showAlert: parameters.showAlert,
    selectedParticipant: name,
    coHost: parameters.coHost,
    coHostResponsibility: responsibilities,
    updateIsCoHostModalVisible: parameters.updateIsCoHostModalVisible,
    updateCoHostResponsibility: parameters.updateCoHostResponsibility,
    updateCoHost: parameters.updateCoHost,
    socket: parameters.socket,
  ));
  return const HeadlessActionResult.success();
}