Skip to content

Commit ca1eee9

Browse files
committed
Fix current training sheet id from equipment not being used to filter training quiz results
1 parent b95046f commit ca1eee9

File tree

1 file changed

+15
-7
lines changed
  • src/read-models/shared-state/equipment

1 file changed

+15
-7
lines changed

src/read-models/shared-state/equipment/expand.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,14 @@ const expandMembersAwaitingTraining =
110110
(db: BetterSQLite3Database) =>
111111
<T extends MinimalEquipment>(
112112
equipment: T
113-
): T & {membersAwaitingTraining: ReadonlyArray<MemberAwaitingTraining>} =>
114-
pipe(
113+
): T & {membersAwaitingTraining: ReadonlyArray<MemberAwaitingTraining>} => {
114+
if (O.isNone(equipment.trainingSheetId)) {
115+
return {
116+
...equipment,
117+
membersAwaitingTraining: [],
118+
};
119+
}
120+
return pipe(
115121
db
116122
.select()
117123
.from(trainingQuizTable)
@@ -124,12 +130,13 @@ const expandMembersAwaitingTraining =
124130
trainedMemberstable,
125131
eq(membersTable.memberNumber, trainedMemberstable.memberNumber)
126132
)
127-
.where(and(eq(trainingQuizTable.equipmentId, equipment.id), quizPassed))
133+
.where(
134+
and(
135+
and(eq(trainingQuizTable.equipmentId, equipment.id), quizPassed),
136+
eq(trainingQuizTable.sheetId, equipment.trainingSheetId.value)
137+
)
138+
)
128139
.all(),
129-
data => {
130-
console.log(data);
131-
return data;
132-
},
133140
RA.filter(q => q.trainedMembers === null), // Only include members not already trained.
134141
rows => {
135142
const latestQuizRowByMember = new Map<number, (typeof rows)[0]>();
@@ -157,6 +164,7 @@ const expandMembersAwaitingTraining =
157164
membersAwaitingTraining,
158165
})
159166
);
167+
};
160168

161169
const expandFailedQuizAttempts =
162170
(db: BetterSQLite3Database) =>

0 commit comments

Comments
 (0)