getOrCreateSemester method
Returns an existing semester row, or creates one if missing.
When inCourseSemesterList is true, marks the semester as having
appeared in the course semester list API response.
Implementation
Future<Semester> getOrCreateSemester(
int year,
int term, {
bool? inCourseSemesterList,
}) async {
final companion = SemestersCompanion.insert(
year: year,
term: term,
inCourseSemesterList: Value.absentIfNull(inCourseSemesterList),
);
return into(semesters).insertReturning(
companion,
onConflict: DoUpdate(
(old) => companion,
target: [semesters.year, semesters.term],
),
);
}