getModerationPermissions function
Implementation
ModerationPermissions getModerationPermissions(
ModerationParameters parameters) {
final isHost = parameters.islevel == '2';
final isCoHost =
parameters.coHost.isNotEmpty && parameters.coHost == parameters.member;
bool allows(String area) =>
isHost ||
(isCoHost &&
parameters.coHostResponsibility
.any((item) => item.name == area && item.value));
return ModerationPermissions(
isHost: isHost,
isCoHost: isCoHost,
canControlMedia: allows('media'),
canManageParticipants: allows('participants'),
canManageChat: allows('chat'),
canManageWaitingRoom: allows('waiting'),
);
}