Implementation
$$TeacherSemestersTableTableManager(
_$AppDatabase db,
$TeacherSemestersTable table,
) : super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
$$TeacherSemestersTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
$$TeacherSemestersTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
$$TeacherSemestersTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value<int> id = const Value.absent(),
Value<DateTime?> fetchedAt = const Value.absent(),
Value<int> teacher = const Value.absent(),
Value<int> semester = const Value.absent(),
Value<String?> email = const Value.absent(),
Value<int?> department = const Value.absent(),
Value<String?> title = const Value.absent(),
Value<double?> teachingHours = const Value.absent(),
Value<String?> officeHoursNote = const Value.absent(),
}) => TeacherSemestersCompanion(
id: id,
fetchedAt: fetchedAt,
teacher: teacher,
semester: semester,
email: email,
department: department,
title: title,
teachingHours: teachingHours,
officeHoursNote: officeHoursNote,
),
createCompanionCallback:
({
Value<int> id = const Value.absent(),
Value<DateTime?> fetchedAt = const Value.absent(),
required int teacher,
required int semester,
Value<String?> email = const Value.absent(),
Value<int?> department = const Value.absent(),
Value<String?> title = const Value.absent(),
Value<double?> teachingHours = const Value.absent(),
Value<String?> officeHoursNote = const Value.absent(),
}) => TeacherSemestersCompanion.insert(
id: id,
fetchedAt: fetchedAt,
teacher: teacher,
semester: semester,
email: email,
department: department,
title: title,
teachingHours: teachingHours,
officeHoursNote: officeHoursNote,
),
withReferenceMapper: (p0) => p0
.map(
(e) => (
e.readTable(table),
$$TeacherSemestersTableReferences(db, table, e),
),
)
.toList(),
prefetchHooksCallback:
({
teacher = false,
semester = false,
department = false,
courseOfferingTeachersRefs = false,
teacherOfficeHoursRefs = false,
userSemesterSummaryTutorsRefs = false,
}) {
return PrefetchHooks(
db: db,
explicitlyWatchedTables: [
if (courseOfferingTeachersRefs) db.courseOfferingTeachers,
if (teacherOfficeHoursRefs) db.teacherOfficeHours,
if (userSemesterSummaryTutorsRefs)
db.userSemesterSummaryTutors,
],
addJoins:
<
T extends TableManagerState<
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic
>
>(state) {
if (teacher) {
state =
state.withJoin(
currentTable: table,
currentColumn: table.teacher,
referencedTable:
$$TeacherSemestersTableReferences
._teacherTable(db),
referencedColumn:
$$TeacherSemestersTableReferences
._teacherTable(db)
.id,
)
as T;
}
if (semester) {
state =
state.withJoin(
currentTable: table,
currentColumn: table.semester,
referencedTable:
$$TeacherSemestersTableReferences
._semesterTable(db),
referencedColumn:
$$TeacherSemestersTableReferences
._semesterTable(db)
.id,
)
as T;
}
if (department) {
state =
state.withJoin(
currentTable: table,
currentColumn: table.department,
referencedTable:
$$TeacherSemestersTableReferences
._departmentTable(db),
referencedColumn:
$$TeacherSemestersTableReferences
._departmentTable(db)
.id,
)
as T;
}
return state;
},
getPrefetchedDataCallback: (items) async {
return [
if (courseOfferingTeachersRefs)
await $_getPrefetchedData<
TeacherSemester,
$TeacherSemestersTable,
CourseOfferingTeacher
>(
currentTable: table,
referencedTable: $$TeacherSemestersTableReferences
._courseOfferingTeachersRefsTable(db),
managerFromTypedResult: (p0) =>
$$TeacherSemestersTableReferences(
db,
table,
p0,
).courseOfferingTeachersRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.teacherSemester == item.id,
),
typedResults: items,
),
if (teacherOfficeHoursRefs)
await $_getPrefetchedData<
TeacherSemester,
$TeacherSemestersTable,
TeacherOfficeHour
>(
currentTable: table,
referencedTable: $$TeacherSemestersTableReferences
._teacherOfficeHoursRefsTable(db),
managerFromTypedResult: (p0) =>
$$TeacherSemestersTableReferences(
db,
table,
p0,
).teacherOfficeHoursRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.teacherSemester == item.id,
),
typedResults: items,
),
if (userSemesterSummaryTutorsRefs)
await $_getPrefetchedData<
TeacherSemester,
$TeacherSemestersTable,
UserSemesterSummaryTutor
>(
currentTable: table,
referencedTable: $$TeacherSemestersTableReferences
._userSemesterSummaryTutorsRefsTable(db),
managerFromTypedResult: (p0) =>
$$TeacherSemestersTableReferences(
db,
table,
p0,
).userSemesterSummaryTutorsRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.teacherSemester == item.id,
),
typedResults: items,
),
];
},
);
},
),
);