38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
import '../core/utils/safe_convert.dart';
|
|
import 'student.dart';
|
|
|
|
class TimetableSlot {
|
|
final int id;
|
|
final String date;
|
|
final String day;
|
|
final String startTime;
|
|
final String endTime;
|
|
final NamedRecord? subject;
|
|
final NamedRecord? faculty;
|
|
final NamedRecord? room;
|
|
|
|
const TimetableSlot({
|
|
required this.id,
|
|
required this.date,
|
|
required this.day,
|
|
required this.startTime,
|
|
required this.endTime,
|
|
this.subject,
|
|
this.faculty,
|
|
this.room,
|
|
});
|
|
|
|
factory TimetableSlot.fromJson(Map<String, dynamic> json) {
|
|
return TimetableSlot(
|
|
id: SafeConvert.toSafeInt(json['id']),
|
|
date: SafeConvert.toSafeString(json['date']),
|
|
day: SafeConvert.toSafeString(json['day']),
|
|
startTime: SafeConvert.toSafeString(json['start_time']),
|
|
endTime: SafeConvert.toSafeString(json['end_time']),
|
|
subject: NamedRecord.fromNullableJson(json['subject']),
|
|
faculty: NamedRecord.fromNullableJson(json['faculty']),
|
|
room: NamedRecord.fromNullableJson(json['room']),
|
|
);
|
|
}
|
|
}
|