moved functionn

This commit is contained in:
ggurdin 2024-01-29 16:01:03 -05:00
parent 4017d6333c
commit b1abad5e30
2 changed files with 23 additions and 15 deletions

View file

@ -3,9 +3,6 @@ import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
import 'package:fluffychat/pages/chat_details/chat_details_view.dart';
import 'package:fluffychat/pages/settings/settings.dart';
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/models/class_model.dart';
import 'package:fluffychat/pangea/utils/set_class_name.dart';
import 'package:fluffychat/pangea/utils/set_class_topic.dart';
import 'package:fluffychat/pangea/widgets/class/add_space_toggles.dart';
@ -432,18 +429,7 @@ class ChatDetailsController extends State<ChatDetails> {
@override
void initState() {
super.initState();
if (roomId == null) return;
final Room? room = Matrix.of(context).client.getRoomById(roomId!);
if (room == null) return;
if (room.classSettings != null && room.pangeaRoomRules == null) {
Matrix.of(context).client.setRoomStateWithKey(
widget.roomId,
PangeaEventTypes.rules,
'',
PangeaRoomRules().toJson(),
);
}
MatrixState.pangeaController.classController.addMissingRoomRules(roomId);
}
// Pangea#
}

View file

@ -3,9 +3,11 @@ import 'dart:developer';
import 'package:collection/collection.dart';
import 'package:fluffychat/pangea/constants/local.key.dart';
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/extensions/client_extension.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/models/class_model.dart';
import 'package:fluffychat/pangea/utils/class_code.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'package:flutter/foundation.dart';
@ -156,4 +158,24 @@ class ClassController extends BaseController {
// BE - check class code and if class code is correct, invite student to room
// FE - look for invite from room and automatically accept
}
Future<void> addMissingRoomRules(String? roomId) async {
if (roomId == null) return;
final Room? room = _pangeaController.matrixState.client.getRoomById(roomId);
if (room == null) return;
if (room.classSettings != null && room.pangeaRoomRules == null) {
try {
await _pangeaController.matrixState.client.setRoomStateWithKey(
roomId,
PangeaEventTypes.rules,
'',
PangeaRoomRules().toJson(),
);
} catch (err, stack) {
debugger(when: kDebugMode);
ErrorHandler.logError(e: err, s: stack);
}
}
}
}