Implement Webuntis HTTP Api and Display
This commit is contained in:
12
lib/data/timetable/persistantTimetable.dart
Normal file
12
lib/data/timetable/persistantTimetable.dart
Normal file
@ -0,0 +1,12 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:path/path.dart';
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
|
||||
class PersistantTimetable {
|
||||
final int id;
|
||||
final String json;
|
||||
|
||||
PersistantTimetable(this.id, this.json);
|
||||
}
|
60
lib/data/timetable/timetable.dart
Normal file
60
lib/data/timetable/timetable.dart
Normal file
@ -0,0 +1,60 @@
|
||||
import 'dart:collection';
|
||||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/authenticate/authenticate.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/authenticate/authenticateResponse.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsCache.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsCache.dart';
|
||||
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
|
||||
import 'package:marianum_mobile/data/dataHolder.dart';
|
||||
|
||||
import '../../api/webuntis/queries/getTimetable/getTimetable.dart';
|
||||
import '../../api/webuntis/queries/getTimetable/getTimetableCache.dart';
|
||||
import '../../api/webuntis/queries/getTimetable/getTimetableParams.dart';
|
||||
import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
|
||||
|
||||
class Timetable extends DataHolder {
|
||||
int day = int.parse(DateFormat("yyyyMMdd").format(DateTime.now()));
|
||||
|
||||
Timetable() : super();
|
||||
|
||||
GetTimetableResponse? _getTimetableResponse;
|
||||
GetTimetableResponse? get getTimetableResponse => _getTimetableResponse;
|
||||
|
||||
GetRoomsResponse? _getRoomsResponse;
|
||||
GetRoomsResponse? get getRoomsResponse => _getRoomsResponse;
|
||||
|
||||
GetSubjectsResponse? _getSubjectsResponse;
|
||||
GetSubjectsResponse? get getSubjectsResponse => _getSubjectsResponse;
|
||||
|
||||
@override
|
||||
Future<void> run() async {
|
||||
GetTimetableCache(
|
||||
day: day,
|
||||
onUpdate: (data) =>
|
||||
{
|
||||
_getTimetableResponse = data,
|
||||
notifyListeners(),
|
||||
}
|
||||
);
|
||||
|
||||
GetRoomsCache(
|
||||
onUpdate: (data) =>
|
||||
{
|
||||
_getRoomsResponse = data,
|
||||
notifyListeners(),
|
||||
}
|
||||
);
|
||||
|
||||
GetSubjectsCache(
|
||||
onUpdate: (data) =>
|
||||
{
|
||||
_getSubjectsResponse = data,
|
||||
notifyListeners(),
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user