as method
override
This method is overridden by Dart-defined views to declare the right query to run.
Implementation
@override
Query as() =>
select([
courseOfferings.id,
courseOfferings.number,
courseOfferings.semester,
courses.nameZh,
courses.nameEn,
courses.credits,
courses.hours,
schedules.dayOfWeek,
schedules.period,
// TODO: Add classrooms.nameEn — English page uses abbreviated format
// (e.g., "TB2_201") with a separate building legend table. Need to
// parse the legend and store both short and full English names.
classroomNameZh,
]).from(schedules).join([
innerJoin(
courseOfferings,
courseOfferings.id.equalsExp(schedules.courseOffering),
),
innerJoin(courses, courses.id.equalsExp(courseOfferings.course)),
leftOuterJoin(
classrooms,
classrooms.id.equalsExp(schedules.classroom),
),
]);