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

40 lines
1.2 KiB
Dart

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