Implement Webuntis HTTP Api and Display

This commit is contained in:
2023-02-15 20:33:05 +01:00
parent 7432972b3c
commit 2b6dc8e3e6
42 changed files with 746 additions and 287 deletions

View File

@ -0,0 +1,23 @@
import 'dart:convert';
import 'package:marianum_mobile/api/requestCache.dart';
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
import 'getRooms.dart';
class GetRoomsCache extends RequestCache<GetRoomsResponse> {
GetRoomsCache({onUpdate}) : super(60 * 60, onUpdate) {
start("rooms", "data");
}
@override
Future<GetRoomsResponse> onLoad() {
return GetRooms().run();
}
@override
GetRoomsResponse onLocalData(String json) {
return GetRoomsResponse.fromJson(jsonDecode(json));
}
}

View File

@ -3,7 +3,7 @@ import 'package:marianum_mobile/api/webuntis/apiResponse.dart';
part 'getRoomsResponse.g.dart';
@JsonSerializable()
@JsonSerializable(explicitToJson: true)
class GetRoomsResponse extends ApiResponse {
Set<GetRoomsResponseObject> result;

View File

@ -16,7 +16,7 @@ GetRoomsResponse _$GetRoomsResponseFromJson(Map<String, dynamic> json) =>
Map<String, dynamic> _$GetRoomsResponseToJson(GetRoomsResponse instance) =>
<String, dynamic>{
'result': instance.result.toList(),
'result': instance.result.map((e) => e.toJson()).toList(),
};
GetRoomsResponseObject _$GetRoomsResponseObjectFromJson(