You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fluffychat/lib/pangea/utils/class_chat_power_levels.dart

38 lines
1.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:matrix/matrix.dart';
import '../../widgets/matrix.dart';
import '../constants/class_default_values.dart';
import '../extensions/pangea_room_extension/pangea_room_extension.dart';
class ClassChatPowerLevels {
static Future<Map<String, dynamic>> powerLevelOverrideForClassChat(
BuildContext context,
Room? parent,
) async {
final Client client = Matrix.of(context).client;
final Map<String, dynamic> powerLevelOverride = {};
powerLevelOverride['events'] = {
EventTypes.SpaceChild: 0,
};
powerLevelOverride['users'] = {};
final List<User> spaceAdmin = [];
if (parent != null) {
final List<User> classTeachers = await parent.teachers;
spaceAdmin.addAll(classTeachers);
}
for (final admin in spaceAdmin) {
powerLevelOverride['users'][admin.id] =
ClassDefaultValues.powerLevelOfAdmin;
}
powerLevelOverride['users'][client.userID] =
ClassDefaultValues.powerLevelOfAdmin;
return powerLevelOverride;
}
}