claude refactorings, flutter best practices, platform dependent changes, general cleanup
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import '../../webuntis_api.dart';
|
||||
import 'get_timetable_params.dart';
|
||||
import 'get_timetable_response.dart';
|
||||
|
||||
class GetTimetable extends WebuntisApi {
|
||||
GetTimetableParams params;
|
||||
|
||||
GetTimetable(this.params) : super('getTimetable', params);
|
||||
|
||||
@override
|
||||
Future<GetTimetableResponse> run() async {
|
||||
final rawAnswer = await query(this);
|
||||
return finalize(GetTimetableResponse.fromJson(jsonDecode(rawAnswer) as Map<String, dynamic>));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import '../../../request_cache.dart';
|
||||
import '../authenticate/authenticate.dart';
|
||||
import 'get_timetable.dart';
|
||||
import 'get_timetable_params.dart';
|
||||
import 'get_timetable_response.dart';
|
||||
|
||||
class GetTimetableCache extends SimpleCache<GetTimetableResponse> {
|
||||
GetTimetableCache({
|
||||
required void Function(GetTimetableResponse) onUpdate,
|
||||
super.onError,
|
||||
required int startdate,
|
||||
required int enddate,
|
||||
super.renew,
|
||||
}) : super(
|
||||
cacheTime: RequestCache.cacheMinute,
|
||||
loader: () => _load(startdate, enddate),
|
||||
fromJson: GetTimetableResponse.fromJson,
|
||||
onUpdate: onUpdate,
|
||||
) {
|
||||
start('wu-timetable-$startdate-$enddate');
|
||||
}
|
||||
|
||||
static Future<GetTimetableResponse> _load(int startdate, int enddate) async {
|
||||
final session = await Authenticate.getSession();
|
||||
return GetTimetable(
|
||||
GetTimetableParams(
|
||||
options: GetTimetableParamsOptions(
|
||||
element: GetTimetableParamsOptionsElement(
|
||||
id: session.personId,
|
||||
type: session.personType,
|
||||
keyType: GetTimetableParamsOptionsElementKeyType.id,
|
||||
),
|
||||
startDate: startdate,
|
||||
endDate: enddate,
|
||||
teacherFields: GetTimetableParamsOptionsFields.all,
|
||||
subjectFields: GetTimetableParamsOptionsFields.all,
|
||||
roomFields: GetTimetableParamsOptionsFields.all,
|
||||
klasseFields: GetTimetableParamsOptionsFields.all,
|
||||
),
|
||||
),
|
||||
).run();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import '../../../api_params.dart';
|
||||
|
||||
part 'get_timetable_params.g.dart';
|
||||
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class GetTimetableParams extends ApiParams {
|
||||
GetTimetableParamsOptions options;
|
||||
|
||||
GetTimetableParams({required this.options});
|
||||
|
||||
factory GetTimetableParams.fromJson(Map<String, dynamic> json) => _$GetTimetableParamsFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableParamsToJson(this);
|
||||
}
|
||||
|
||||
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class GetTimetableParamsOptions {
|
||||
GetTimetableParamsOptionsElement element;
|
||||
@JsonKey(includeIfNull: false)
|
||||
int? startDate;
|
||||
@JsonKey(includeIfNull: false)
|
||||
int? endDate;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? onlyBaseTimetable;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showBooking;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showInfo;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showSubstText;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showLsText;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showLsNumber;
|
||||
@JsonKey(includeIfNull: false)
|
||||
bool? showStudentgroup;
|
||||
@JsonKey(includeIfNull: false)
|
||||
List<GetTimetableParamsOptionsFields>? klasseFields;
|
||||
@JsonKey(includeIfNull: false)
|
||||
List<GetTimetableParamsOptionsFields>? roomFields;
|
||||
@JsonKey(includeIfNull: false)
|
||||
List<GetTimetableParamsOptionsFields>? subjectFields;
|
||||
@JsonKey(includeIfNull: false)
|
||||
List<GetTimetableParamsOptionsFields>? teacherFields;
|
||||
|
||||
GetTimetableParamsOptions({
|
||||
required this.element,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.onlyBaseTimetable,
|
||||
this.showBooking,
|
||||
this.showInfo,
|
||||
this.showSubstText,
|
||||
this.showLsText,
|
||||
this.showLsNumber,
|
||||
this.showStudentgroup,
|
||||
this.klasseFields,
|
||||
this.roomFields,
|
||||
this.subjectFields,
|
||||
this.teacherFields
|
||||
});
|
||||
|
||||
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;
|
||||
|
||||
static List<GetTimetableParamsOptionsFields> all = [id, name, longname, externalkey];
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableParamsOptionsElement {
|
||||
int id;
|
||||
int type;
|
||||
@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);
|
||||
}
|
||||
|
||||
enum GetTimetableParamsOptionsElementKeyType {
|
||||
@JsonValue('id') id,
|
||||
@JsonValue('name') name,
|
||||
@JsonValue('externalkey') externalkey
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'get_timetable_params.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
GetTimetableParams _$GetTimetableParamsFromJson(Map<String, dynamic> json) =>
|
||||
GetTimetableParams(
|
||||
options: GetTimetableParamsOptions.fromJson(
|
||||
json['options'] as Map<String, dynamic>,
|
||||
),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableParamsToJson(GetTimetableParams instance) =>
|
||||
<String, dynamic>{'options': instance.options.toJson()};
|
||||
|
||||
GetTimetableParamsOptions _$GetTimetableParamsOptionsFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableParamsOptions(
|
||||
element: GetTimetableParamsOptionsElement.fromJson(
|
||||
json['element'] as Map<String, dynamic>,
|
||||
),
|
||||
startDate: (json['startDate'] as num?)?.toInt(),
|
||||
endDate: (json['endDate'] as num?)?.toInt(),
|
||||
onlyBaseTimetable: json['onlyBaseTimetable'] as bool?,
|
||||
showBooking: json['showBooking'] as bool?,
|
||||
showInfo: json['showInfo'] as bool?,
|
||||
showSubstText: json['showSubstText'] as bool?,
|
||||
showLsText: json['showLsText'] as bool?,
|
||||
showLsNumber: json['showLsNumber'] as bool?,
|
||||
showStudentgroup: json['showStudentgroup'] as bool?,
|
||||
klasseFields: (json['klasseFields'] as List<dynamic>?)
|
||||
?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
|
||||
.toList(),
|
||||
roomFields: (json['roomFields'] as List<dynamic>?)
|
||||
?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
|
||||
.toList(),
|
||||
subjectFields: (json['subjectFields'] as List<dynamic>?)
|
||||
?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
|
||||
.toList(),
|
||||
teacherFields: (json['teacherFields'] as List<dynamic>?)
|
||||
?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
|
||||
.toList(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableParamsOptionsToJson(
|
||||
GetTimetableParamsOptions instance,
|
||||
) => <String, dynamic>{
|
||||
'element': instance.element.toJson(),
|
||||
'startDate': ?instance.startDate,
|
||||
'endDate': ?instance.endDate,
|
||||
'onlyBaseTimetable': ?instance.onlyBaseTimetable,
|
||||
'showBooking': ?instance.showBooking,
|
||||
'showInfo': ?instance.showInfo,
|
||||
'showSubstText': ?instance.showSubstText,
|
||||
'showLsText': ?instance.showLsText,
|
||||
'showLsNumber': ?instance.showLsNumber,
|
||||
'showStudentgroup': ?instance.showStudentgroup,
|
||||
'klasseFields': ?instance.klasseFields
|
||||
?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
|
||||
.toList(),
|
||||
'roomFields': ?instance.roomFields
|
||||
?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
|
||||
.toList(),
|
||||
'subjectFields': ?instance.subjectFields
|
||||
?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
|
||||
.toList(),
|
||||
'teacherFields': ?instance.teacherFields
|
||||
?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
|
||||
.toList(),
|
||||
};
|
||||
|
||||
const _$GetTimetableParamsOptionsFieldsEnumMap = {
|
||||
GetTimetableParamsOptionsFields.id: 'id',
|
||||
GetTimetableParamsOptionsFields.name: 'name',
|
||||
GetTimetableParamsOptionsFields.longname: 'longname',
|
||||
GetTimetableParamsOptionsFields.externalkey: 'externalkey',
|
||||
};
|
||||
|
||||
GetTimetableParamsOptionsElement _$GetTimetableParamsOptionsElementFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableParamsOptionsElement(
|
||||
id: (json['id'] as num).toInt(),
|
||||
type: (json['type'] as num).toInt(),
|
||||
keyType: $enumDecodeNullable(
|
||||
_$GetTimetableParamsOptionsElementKeyTypeEnumMap,
|
||||
json['keyType'],
|
||||
),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableParamsOptionsElementToJson(
|
||||
GetTimetableParamsOptionsElement instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'type': instance.type,
|
||||
'keyType':
|
||||
?_$GetTimetableParamsOptionsElementKeyTypeEnumMap[instance.keyType],
|
||||
};
|
||||
|
||||
const _$GetTimetableParamsOptionsElementKeyTypeEnumMap = {
|
||||
GetTimetableParamsOptionsElementKeyType.id: 'id',
|
||||
GetTimetableParamsOptionsElementKeyType.name: 'name',
|
||||
GetTimetableParamsOptionsElementKeyType.externalkey: 'externalkey',
|
||||
};
|
||||
@@ -0,0 +1,139 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import '../../../api_response.dart';
|
||||
|
||||
part 'get_timetable_response.g.dart';
|
||||
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class GetTimetableResponse extends ApiResponse {
|
||||
Set<GetTimetableResponseObject> result;
|
||||
|
||||
GetTimetableResponse(this.result);
|
||||
|
||||
factory GetTimetableResponse.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableResponseToJson(this);
|
||||
|
||||
}
|
||||
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class GetTimetableResponseObject {
|
||||
int id;
|
||||
int date;
|
||||
int startTime;
|
||||
int endTime;
|
||||
String? lstype;
|
||||
String? code;
|
||||
String? info;
|
||||
String? substText;
|
||||
String? lstext;
|
||||
int? lsnumber;
|
||||
String? statflags;
|
||||
String? activityType;
|
||||
String? sg;
|
||||
String? bkRemark;
|
||||
String? bkText;
|
||||
List<GetTimetableResponseObjectClass> kl;
|
||||
List<GetTimetableResponseObjectTeacher> te;
|
||||
List<GetTimetableResponseObjectSubject> su;
|
||||
List<GetTimetableResponseObjectRoom> ro;
|
||||
|
||||
GetTimetableResponseObject({
|
||||
required this.id,
|
||||
required this.date,
|
||||
required this.startTime,
|
||||
required this.endTime,
|
||||
this.lstype,
|
||||
this.code,
|
||||
this.info,
|
||||
this.substText,
|
||||
this.lstext,
|
||||
this.lsnumber,
|
||||
this.statflags,
|
||||
this.activityType,
|
||||
this.sg,
|
||||
this.bkRemark,
|
||||
required this.kl,
|
||||
required this.te,
|
||||
required this.su,
|
||||
required this.ro
|
||||
});
|
||||
|
||||
factory GetTimetableResponseObject.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
class GetTimetableResponseObjectFields {
|
||||
List<GetTimetableResponseObjectFieldsObject>? te;
|
||||
|
||||
GetTimetableResponseObjectFields(this.te);
|
||||
|
||||
factory GetTimetableResponseObjectFields.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectFieldsFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectFieldsToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableResponseObjectFieldsObject {
|
||||
int? id;
|
||||
String? name;
|
||||
String? longname;
|
||||
String? 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);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableResponseObjectClass {
|
||||
int id;
|
||||
String name;
|
||||
String longname;
|
||||
String? 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);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableResponseObjectTeacher {
|
||||
int id;
|
||||
String name;
|
||||
String longname;
|
||||
int? orgid;
|
||||
String? orgname;
|
||||
String? 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);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableResponseObjectSubject {
|
||||
int id;
|
||||
String name;
|
||||
String longname;
|
||||
|
||||
GetTimetableResponseObjectSubject(this.id, this.name, this.longname);
|
||||
|
||||
factory GetTimetableResponseObjectSubject.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectSubjectFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectSubjectToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class GetTimetableResponseObjectRoom {
|
||||
int id;
|
||||
String name;
|
||||
String longname;
|
||||
|
||||
GetTimetableResponseObjectRoom(this.id, this.name, this.longname);
|
||||
|
||||
factory GetTimetableResponseObjectRoom.fromJson(Map<String, dynamic> json) => _$GetTimetableResponseObjectRoomFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$GetTimetableResponseObjectRoomToJson(this);
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'get_timetable_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
GetTimetableResponse _$GetTimetableResponseFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) =>
|
||||
GetTimetableResponse(
|
||||
(json['result'] as List<dynamic>)
|
||||
.map(
|
||||
(e) => GetTimetableResponseObject.fromJson(
|
||||
e as Map<String, dynamic>,
|
||||
),
|
||||
)
|
||||
.toSet(),
|
||||
)
|
||||
..headers = (json['headers'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseToJson(
|
||||
GetTimetableResponse instance,
|
||||
) => <String, dynamic>{
|
||||
'headers': ?instance.headers,
|
||||
'result': instance.result.map((e) => e.toJson()).toList(),
|
||||
};
|
||||
|
||||
GetTimetableResponseObject _$GetTimetableResponseObjectFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObject(
|
||||
id: (json['id'] as num).toInt(),
|
||||
date: (json['date'] as num).toInt(),
|
||||
startTime: (json['startTime'] as num).toInt(),
|
||||
endTime: (json['endTime'] as num).toInt(),
|
||||
lstype: json['lstype'] as String?,
|
||||
code: json['code'] as String?,
|
||||
info: json['info'] as String?,
|
||||
substText: json['substText'] as String?,
|
||||
lstext: json['lstext'] as String?,
|
||||
lsnumber: (json['lsnumber'] as num?)?.toInt(),
|
||||
statflags: json['statflags'] as String?,
|
||||
activityType: json['activityType'] as String?,
|
||||
sg: json['sg'] as String?,
|
||||
bkRemark: json['bkRemark'] as String?,
|
||||
kl: (json['kl'] as List<dynamic>)
|
||||
.map(
|
||||
(e) =>
|
||||
GetTimetableResponseObjectClass.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
te: (json['te'] as List<dynamic>)
|
||||
.map(
|
||||
(e) => GetTimetableResponseObjectTeacher.fromJson(
|
||||
e as Map<String, dynamic>,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
su: (json['su'] as List<dynamic>)
|
||||
.map(
|
||||
(e) => GetTimetableResponseObjectSubject.fromJson(
|
||||
e as Map<String, dynamic>,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
ro: (json['ro'] as List<dynamic>)
|
||||
.map(
|
||||
(e) =>
|
||||
GetTimetableResponseObjectRoom.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
)..bkText = json['bkText'] as String?;
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectToJson(
|
||||
GetTimetableResponseObject instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'date': instance.date,
|
||||
'startTime': instance.startTime,
|
||||
'endTime': instance.endTime,
|
||||
'lstype': instance.lstype,
|
||||
'code': instance.code,
|
||||
'info': instance.info,
|
||||
'substText': instance.substText,
|
||||
'lstext': instance.lstext,
|
||||
'lsnumber': instance.lsnumber,
|
||||
'statflags': instance.statflags,
|
||||
'activityType': instance.activityType,
|
||||
'sg': instance.sg,
|
||||
'bkRemark': instance.bkRemark,
|
||||
'bkText': instance.bkText,
|
||||
'kl': instance.kl.map((e) => e.toJson()).toList(),
|
||||
'te': instance.te.map((e) => e.toJson()).toList(),
|
||||
'su': instance.su.map((e) => e.toJson()).toList(),
|
||||
'ro': instance.ro.map((e) => e.toJson()).toList(),
|
||||
};
|
||||
|
||||
GetTimetableResponseObjectFields _$GetTimetableResponseObjectFieldsFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObjectFields(
|
||||
(json['te'] as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => GetTimetableResponseObjectFieldsObject.fromJson(
|
||||
e as Map<String, dynamic>,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectFieldsToJson(
|
||||
GetTimetableResponseObjectFields instance,
|
||||
) => <String, dynamic>{'te': instance.te?.map((e) => e.toJson()).toList()};
|
||||
|
||||
GetTimetableResponseObjectFieldsObject
|
||||
_$GetTimetableResponseObjectFieldsObjectFromJson(Map<String, dynamic> json) =>
|
||||
GetTimetableResponseObjectFieldsObject(
|
||||
id: (json['id'] as num?)?.toInt(),
|
||||
name: json['name'] as String?,
|
||||
longname: json['longname'] as String?,
|
||||
externalkey: json['externalkey'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectFieldsObjectToJson(
|
||||
GetTimetableResponseObjectFieldsObject instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'longname': instance.longname,
|
||||
'externalkey': instance.externalkey,
|
||||
};
|
||||
|
||||
GetTimetableResponseObjectClass _$GetTimetableResponseObjectClassFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObjectClass(
|
||||
(json['id'] as num).toInt(),
|
||||
json['name'] as String,
|
||||
json['longname'] as String,
|
||||
json['externalkey'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectClassToJson(
|
||||
GetTimetableResponseObjectClass instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'longname': instance.longname,
|
||||
'externalkey': instance.externalkey,
|
||||
};
|
||||
|
||||
GetTimetableResponseObjectTeacher _$GetTimetableResponseObjectTeacherFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObjectTeacher(
|
||||
(json['id'] as num).toInt(),
|
||||
json['name'] as String,
|
||||
json['longname'] as String,
|
||||
(json['orgid'] as num?)?.toInt(),
|
||||
json['orgname'] as String?,
|
||||
json['externalkey'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectTeacherToJson(
|
||||
GetTimetableResponseObjectTeacher instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'longname': instance.longname,
|
||||
'orgid': instance.orgid,
|
||||
'orgname': instance.orgname,
|
||||
'externalkey': instance.externalkey,
|
||||
};
|
||||
|
||||
GetTimetableResponseObjectSubject _$GetTimetableResponseObjectSubjectFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObjectSubject(
|
||||
(json['id'] as num).toInt(),
|
||||
json['name'] as String,
|
||||
json['longname'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectSubjectToJson(
|
||||
GetTimetableResponseObjectSubject instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'longname': instance.longname,
|
||||
};
|
||||
|
||||
GetTimetableResponseObjectRoom _$GetTimetableResponseObjectRoomFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => GetTimetableResponseObjectRoom(
|
||||
(json['id'] as num).toInt(),
|
||||
json['name'] as String,
|
||||
json['longname'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$GetTimetableResponseObjectRoomToJson(
|
||||
GetTimetableResponseObjectRoom instance,
|
||||
) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'longname': instance.longname,
|
||||
};
|
||||
Reference in New Issue
Block a user