dart format

This commit is contained in:
2026-05-08 20:12:40 +02:00
parent 9e139b5704
commit 3b8da1d3d6
295 changed files with 6404 additions and 4161 deletions
@@ -9,7 +9,8 @@ import 'authenticate_response.dart';
class Authenticate extends WebuntisApi {
AuthenticateParams param;
Authenticate(this.param) : super('authenticate', param, authenticatedResponse: false);
Authenticate(this.param)
: super('authenticate', param, authenticatedResponse: false);
@override
Future<AuthenticateResponse> run() async {
@@ -17,7 +18,11 @@ class Authenticate extends WebuntisApi {
try {
final rawAnswer = await query(this);
final decoded = jsonDecode(rawAnswer) as Map<String, dynamic>;
final response = finalize(AuthenticateResponse.fromJson(decoded['result'] as Map<String, dynamic>));
final response = finalize(
AuthenticateResponse.fromJson(
decoded['result'] as Map<String, dynamic>,
),
);
_lastResponse = response;
if (!awaitedResponse.isCompleted) awaitedResponse.complete();
return response;
@@ -40,23 +45,22 @@ class Authenticate extends WebuntisApi {
static Future<void> createSession() async {
_lastResponse = await Authenticate(
AuthenticateParams(
user: AccountData().getUsername(),
password: AccountData().getPassword(),
)
AuthenticateParams(
user: AccountData().getUsername(),
password: AccountData().getPassword(),
),
).run();
}
static Future<AuthenticateResponse> getSession() async {
if(awaitingResponse) {
if (awaitingResponse) {
await awaitedResponse.future;
}
if(_lastResponse == null) {
if (_lastResponse == null) {
awaitingResponse = true;
await createSession();
}
return _lastResponse!;
}
}
@@ -6,12 +6,12 @@ part 'authenticate_params.g.dart';
@JsonSerializable()
class AuthenticateParams extends ApiParams {
String user;
String password;
AuthenticateParams({required this.user, required this.password});
factory AuthenticateParams.fromJson(Map<String, dynamic> json) => _$AuthenticateParamsFromJson(json);
factory AuthenticateParams.fromJson(Map<String, dynamic> json) =>
_$AuthenticateParamsFromJson(json);
Map<String, dynamic> toJson() => _$AuthenticateParamsToJson(this);
}
@@ -6,14 +6,19 @@ part 'authenticate_response.g.dart';
@JsonSerializable()
class AuthenticateResponse extends ApiResponse {
String sessionId;
int personType;
int personId;
int klasseId;
AuthenticateResponse(this.sessionId, this.personType, this.personId, this.klasseId);
AuthenticateResponse(
this.sessionId,
this.personType,
this.personId,
this.klasseId,
);
factory AuthenticateResponse.fromJson(Map<String, dynamic> json) => _$AuthenticateResponseFromJson(json);
factory AuthenticateResponse.fromJson(Map<String, dynamic> json) =>
_$AuthenticateResponseFromJson(json);
Map<String, dynamic> toJson() => _$AuthenticateResponseToJson(this);
}
@@ -9,10 +9,17 @@ class GetHolidays extends WebuntisApi {
@override
Future<GetHolidaysResponse> run() async {
final rawAnswer = await query(this);
return finalize(GetHolidaysResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
return finalize(
GetHolidaysResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
}
static GetHolidaysResponseObject? find(GetHolidaysResponse holidaysResponse, {DateTime? time}) {
static GetHolidaysResponseObject? find(
GetHolidaysResponse holidaysResponse, {
DateTime? time,
}) {
time ??= DateTime.now();
time = DateTime(time.year, time.month, time.day, 0, 0, 0, 0, 0);
@@ -20,9 +27,8 @@ class GetHolidays extends WebuntisApi {
var start = DateTime.parse(element.startDate.toString());
var end = DateTime.parse(element.endDate.toString());
if(!start.isAfter(time) && !end.isBefore(time)) return element;
if (!start.isAfter(time) && !end.isBefore(time)) return element;
}
return null;
}
}
@@ -4,11 +4,11 @@ import 'get_holidays_response.dart';
class GetHolidaysCache extends SimpleCache<GetHolidaysResponse> {
GetHolidaysCache({super.onUpdate, super.onError, super.renew})
: super(
cacheTime: RequestCache.cacheDay,
loader: () => GetHolidays().run(),
fromJson: GetHolidaysResponse.fromJson,
) {
: super(
cacheTime: RequestCache.cacheDay,
loader: () => GetHolidays().run(),
fromJson: GetHolidaysResponse.fromJson,
) {
start('wu-holidays');
}
}
@@ -10,7 +10,8 @@ class GetHolidaysResponse extends ApiResponse {
GetHolidaysResponse(this.result);
factory GetHolidaysResponse.fromJson(Map<String, dynamic> json) => _$GetHolidaysResponseFromJson(json);
factory GetHolidaysResponse.fromJson(Map<String, dynamic> json) =>
_$GetHolidaysResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetHolidaysResponseToJson(this);
}
@@ -22,8 +23,15 @@ class GetHolidaysResponseObject {
int startDate;
int endDate;
GetHolidaysResponseObject(this.id, this.name, this.longName, this.startDate, this.endDate);
GetHolidaysResponseObject(
this.id,
this.name,
this.longName,
this.startDate,
this.endDate,
);
factory GetHolidaysResponseObject.fromJson(Map<String, dynamic> json) => _$GetHolidaysResponseObjectFromJson(json);
factory GetHolidaysResponseObject.fromJson(Map<String, dynamic> json) =>
_$GetHolidaysResponseObjectFromJson(json);
Map<String, dynamic> toJson() => _$GetHolidaysResponseObjectToJson(this);
}
@@ -11,7 +11,11 @@ class GetRooms extends WebuntisApi {
Future<GetRoomsResponse> run() async {
final rawAnswer = await query(this);
try {
return finalize(GetRoomsResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
return finalize(
GetRoomsResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
} catch (e, trace) {
log(trace.toString());
log('Failed to parse getRoom data with server response: $rawAnswer');
@@ -19,5 +23,4 @@ class GetRooms extends WebuntisApi {
throw Exception('Failed to parse getRoom server response: $rawAnswer');
}
}
@@ -4,11 +4,11 @@ import 'get_rooms_response.dart';
class GetRoomsCache extends SimpleCache<GetRoomsResponse> {
GetRoomsCache({super.onUpdate, super.onError, super.renew})
: super(
cacheTime: RequestCache.cacheHour,
loader: () => GetRooms().run(),
fromJson: GetRoomsResponse.fromJson,
) {
: super(
cacheTime: RequestCache.cacheHour,
loader: () => GetRooms().run(),
fromJson: GetRoomsResponse.fromJson,
) {
start('wu-rooms');
}
}
@@ -10,7 +10,8 @@ class GetRoomsResponse extends ApiResponse {
GetRoomsResponse(this.result);
factory GetRoomsResponse.fromJson(Map<String, dynamic> json) => _$GetRoomsResponseFromJson(json);
factory GetRoomsResponse.fromJson(Map<String, dynamic> json) =>
_$GetRoomsResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetRoomsResponseToJson(this);
}
@@ -22,8 +23,15 @@ class GetRoomsResponseObject {
bool active;
String building;
GetRoomsResponseObject(this.id, this.name, this.longName, this.active, this.building);
GetRoomsResponseObject(
this.id,
this.name,
this.longName,
this.active,
this.building,
);
factory GetRoomsResponseObject.fromJson(Map<String, dynamic> json) => _$GetRoomsResponseObjectFromJson(json);
factory GetRoomsResponseObject.fromJson(Map<String, dynamic> json) =>
_$GetRoomsResponseObjectFromJson(json);
Map<String, dynamic> toJson() => _$GetRoomsResponseObjectToJson(this);
}
@@ -9,6 +9,10 @@ class GetSubjects extends WebuntisApi {
@override
Future<GetSubjectsResponse> run() async {
final rawAnswer = await query(this);
return finalize(GetSubjectsResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
return finalize(
GetSubjectsResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
}
}
@@ -4,11 +4,11 @@ import 'get_subjects_response.dart';
class GetSubjectsCache extends SimpleCache<GetSubjectsResponse> {
GetSubjectsCache({super.onUpdate, super.onError, super.renew})
: super(
cacheTime: RequestCache.cacheHour,
loader: () => GetSubjects().run(),
fromJson: GetSubjectsResponse.fromJson,
) {
: super(
cacheTime: RequestCache.cacheHour,
loader: () => GetSubjects().run(),
fromJson: GetSubjectsResponse.fromJson,
) {
start('wu-subjects');
}
}
@@ -10,7 +10,8 @@ class GetSubjectsResponse extends ApiResponse {
GetSubjectsResponse(this.result);
factory GetSubjectsResponse.fromJson(Map<String, dynamic> json) => _$GetSubjectsResponseFromJson(json);
factory GetSubjectsResponse.fromJson(Map<String, dynamic> json) =>
_$GetSubjectsResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetSubjectsResponseToJson(this);
}
@@ -22,8 +23,15 @@ class GetSubjectsResponseObject {
String alternateName;
bool active;
GetSubjectsResponseObject(this.id, this.name, this.longName, this.alternateName, this.active);
GetSubjectsResponseObject(
this.id,
this.name,
this.longName,
this.alternateName,
this.active,
);
factory GetSubjectsResponseObject.fromJson(Map<String, dynamic> json) => _$GetSubjectsResponseObjectFromJson(json);
factory GetSubjectsResponseObject.fromJson(Map<String, dynamic> json) =>
_$GetSubjectsResponseObjectFromJson(json);
Map<String, dynamic> toJson() => _$GetSubjectsResponseObjectToJson(this);
}
@@ -11,12 +11,20 @@ class GetTimegridUnits extends WebuntisApi {
Future<GetTimegridUnitsResponse> run() async {
final rawAnswer = await query(this);
try {
return finalize(GetTimegridUnitsResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
return finalize(
GetTimegridUnitsResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
} catch (e, trace) {
log(trace.toString());
log('Failed to parse getTimegridUnits data with server response: $rawAnswer');
log(
'Failed to parse getTimegridUnits data with server response: $rawAnswer',
);
}
throw Exception('Failed to parse getTimegridUnits server response: $rawAnswer');
throw Exception(
'Failed to parse getTimegridUnits server response: $rawAnswer',
);
}
}
@@ -4,11 +4,11 @@ import 'get_timegrid_units_response.dart';
class GetTimegridUnitsCache extends SimpleCache<GetTimegridUnitsResponse> {
GetTimegridUnitsCache({super.onUpdate, super.renew})
: super(
cacheTime: RequestCache.cacheDay,
loader: () => GetTimegridUnits().run(),
fromJson: GetTimegridUnitsResponse.fromJson,
) {
: super(
cacheTime: RequestCache.cacheDay,
loader: () => GetTimegridUnits().run(),
fromJson: GetTimegridUnitsResponse.fromJson,
) {
start('wu-timegrid');
}
}
@@ -10,7 +10,8 @@ class GetTimegridUnitsResponse extends ApiResponse {
GetTimegridUnitsResponse(this.result);
factory GetTimegridUnitsResponse.fromJson(Map<String, dynamic> json) => _$GetTimegridUnitsResponseFromJson(json);
factory GetTimegridUnitsResponse.fromJson(Map<String, dynamic> json) =>
_$GetTimegridUnitsResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetTimegridUnitsResponseToJson(this);
}
@@ -21,7 +22,8 @@ class GetTimegridUnitsResponseDay {
GetTimegridUnitsResponseDay(this.day, this.timeUnits);
factory GetTimegridUnitsResponseDay.fromJson(Map<String, dynamic> json) => _$GetTimegridUnitsResponseDayFromJson(json);
factory GetTimegridUnitsResponseDay.fromJson(Map<String, dynamic> json) =>
_$GetTimegridUnitsResponseDayFromJson(json);
Map<String, dynamic> toJson() => _$GetTimegridUnitsResponseDayToJson(this);
}
@@ -33,6 +35,7 @@ class GetTimegridUnitsResponseUnit {
GetTimegridUnitsResponseUnit(this.name, this.startTime, this.endTime);
factory GetTimegridUnitsResponseUnit.fromJson(Map<String, dynamic> json) => _$GetTimegridUnitsResponseUnitFromJson(json);
factory GetTimegridUnitsResponseUnit.fromJson(Map<String, dynamic> json) =>
_$GetTimegridUnitsResponseUnitFromJson(json);
Map<String, dynamic> toJson() => _$GetTimegridUnitsResponseUnitToJson(this);
}
@@ -12,7 +12,10 @@ class GetTimetable extends WebuntisApi {
@override
Future<GetTimetableResponse> run() async {
final rawAnswer = await query(this);
return finalize(GetTimetableResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
return finalize(
GetTimetableResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
}
}
@@ -12,11 +12,11 @@ class GetTimetableCache extends SimpleCache<GetTimetableResponse> {
required int enddate,
super.renew,
}) : super(
cacheTime: RequestCache.cacheMinute,
loader: () => _load(startdate, enddate),
fromJson: GetTimetableResponse.fromJson,
onUpdate: onUpdate,
) {
cacheTime: RequestCache.cacheMinute,
loader: () => _load(startdate, enddate),
fromJson: GetTimetableResponse.fromJson,
onUpdate: onUpdate,
) {
start('wu-timetable-$startdate-$enddate');
}
@@ -10,11 +10,11 @@ class GetTimetableParams extends ApiParams {
GetTimetableParams({required this.options});
factory GetTimetableParams.fromJson(Map<String, dynamic> json) => _$GetTimetableParamsFromJson(json);
factory GetTimetableParams.fromJson(Map<String, dynamic> json) =>
_$GetTimetableParamsFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableParamsToJson(this);
}
@JsonSerializable(explicitToJson: true)
class GetTimetableParamsOptions {
GetTimetableParamsOptionsElement element;
@@ -59,20 +59,30 @@ class GetTimetableParamsOptions {
this.klasseFields,
this.roomFields,
this.subjectFields,
this.teacherFields
this.teacherFields,
});
factory GetTimetableParamsOptions.fromJson(Map<String, dynamic> json) => _$GetTimetableParamsOptionsFromJson(json);
factory GetTimetableParamsOptions.fromJson(Map<String, dynamic> json) =>
_$GetTimetableParamsOptionsFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableParamsOptionsToJson(this);
}
enum GetTimetableParamsOptionsFields {
@JsonValue('id') id,
@JsonValue('name') name,
@JsonValue('longname') longname,
@JsonValue('externalkey') externalkey;
@JsonValue('id')
id,
@JsonValue('name')
name,
@JsonValue('longname')
longname,
@JsonValue('externalkey')
externalkey;
static List<GetTimetableParamsOptionsFields> all = [id, name, longname, externalkey];
static List<GetTimetableParamsOptionsFields> all = [
id,
name,
longname,
externalkey,
];
}
@JsonSerializable()
@@ -82,13 +92,23 @@ class GetTimetableParamsOptionsElement {
@JsonKey(includeIfNull: false)
GetTimetableParamsOptionsElementKeyType? keyType;
GetTimetableParamsOptionsElement({required this.id, required this.type, this.keyType});
factory GetTimetableParamsOptionsElement.fromJson(Map<String, dynamic> json) => _$GetTimetableParamsOptionsElementFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableParamsOptionsElementToJson(this);
GetTimetableParamsOptionsElement({
required this.id,
required this.type,
this.keyType,
});
factory GetTimetableParamsOptionsElement.fromJson(
Map<String, dynamic> json,
) => _$GetTimetableParamsOptionsElementFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableParamsOptionsElementToJson(this);
}
enum GetTimetableParamsOptionsElementKeyType {
@JsonValue('id') id,
@JsonValue('name') name,
@JsonValue('externalkey') externalkey
@JsonValue('id')
id,
@JsonValue('name')
name,
@JsonValue('externalkey')
externalkey,
}
@@ -10,9 +10,9 @@ class GetTimetableResponse extends ApiResponse {
GetTimetableResponse(this.result);
factory GetTimetableResponse.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseFromJson(json);
factory GetTimetableResponse.fromJson(Map<String, dynamic> json) =>
_$GetTimetableResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseToJson(this);
}
@JsonSerializable(explicitToJson: true)
@@ -55,10 +55,11 @@ class GetTimetableResponseObject {
required this.kl,
required this.te,
required this.su,
required this.ro
required this.ro,
});
factory GetTimetableResponseObject.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectFromJson(json);
factory GetTimetableResponseObject.fromJson(Map<String, dynamic> json) =>
_$GetTimetableResponseObjectFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectToJson(this);
}
@@ -68,8 +69,11 @@ class GetTimetableResponseObjectFields {
GetTimetableResponseObjectFields(this.te);
factory GetTimetableResponseObjectFields.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectFieldsFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectFieldsToJson(this);
factory GetTimetableResponseObjectFields.fromJson(
Map<String, dynamic> json,
) => _$GetTimetableResponseObjectFieldsFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableResponseObjectFieldsToJson(this);
}
@JsonSerializable()
@@ -79,10 +83,18 @@ class GetTimetableResponseObjectFieldsObject {
String? longname;
String? externalkey;
GetTimetableResponseObjectFieldsObject({this.id, this.name, this.longname, this.externalkey});
GetTimetableResponseObjectFieldsObject({
this.id,
this.name,
this.longname,
this.externalkey,
});
factory GetTimetableResponseObjectFieldsObject.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectFieldsObjectFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectFieldsObjectToJson(this);
factory GetTimetableResponseObjectFieldsObject.fromJson(
Map<String, dynamic> json,
) => _$GetTimetableResponseObjectFieldsObjectFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableResponseObjectFieldsObjectToJson(this);
}
@JsonSerializable()
@@ -92,10 +104,17 @@ class GetTimetableResponseObjectClass {
String longname;
String? externalkey;
GetTimetableResponseObjectClass(this.id, this.name, this.longname, this.externalkey);
GetTimetableResponseObjectClass(
this.id,
this.name,
this.longname,
this.externalkey,
);
factory GetTimetableResponseObjectClass.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectClassFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectClassToJson(this);
factory GetTimetableResponseObjectClass.fromJson(Map<String, dynamic> json) =>
_$GetTimetableResponseObjectClassFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableResponseObjectClassToJson(this);
}
@JsonSerializable()
@@ -107,11 +126,20 @@ class GetTimetableResponseObjectTeacher {
String? orgname;
String? externalkey;
GetTimetableResponseObjectTeacher(
this.id,
this.name,
this.longname,
this.orgid,
this.orgname,
this.externalkey,
);
GetTimetableResponseObjectTeacher(this.id, this.name, this.longname, this.orgid, this.orgname, this.externalkey);
factory GetTimetableResponseObjectTeacher.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectTeacherFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectTeacherToJson(this);
factory GetTimetableResponseObjectTeacher.fromJson(
Map<String, dynamic> json,
) => _$GetTimetableResponseObjectTeacherFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableResponseObjectTeacherToJson(this);
}
@JsonSerializable()
@@ -122,8 +150,11 @@ class GetTimetableResponseObjectSubject {
GetTimetableResponseObjectSubject(this.id, this.name, this.longname);
factory GetTimetableResponseObjectSubject.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectSubjectFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectSubjectToJson(this);
factory GetTimetableResponseObjectSubject.fromJson(
Map<String, dynamic> json,
) => _$GetTimetableResponseObjectSubjectFromJson(json);
Map<String, dynamic> toJson() =>
_$GetTimetableResponseObjectSubjectToJson(this);
}
@JsonSerializable()
@@ -134,6 +165,7 @@ class GetTimetableResponseObjectRoom {
GetTimetableResponseObjectRoom(this.id, this.name, this.longname);
factory GetTimetableResponseObjectRoom.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectRoomFromJson(json);
factory GetTimetableResponseObjectRoom.fromJson(Map<String, dynamic> json) =>
_$GetTimetableResponseObjectRoomFromJson(json);
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectRoomToJson(this);
}