Skip to content

Commit 5ac2f15

Browse files
committed
SEBSP-210 fixed get first last and tests
1 parent c322a74 commit 5ac2f15

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/main/java/ch/ethz/seb/sps/server/servicelayer/impl/ProctoringServiceImpl.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,18 @@ public synchronized Result<ScreenshotViewData> getRecordedImageDataAt(final Stri
121121
return Result.tryCatch(() -> {
122122
final SessionScreenshotCacheData sessionScreenshotData = this.proctoringCacheService
123123
.getSessionScreenshotData(sessionUUID);
124-
return createScreenshotViewData(
125-
sessionUUID,
126-
sessionScreenshotData.getAt(timestamp));
124+
if (timestamp == null) {
125+
// check if the session is active if so, get last, otherwise get first screenshot
126+
Long latestSSDataId = liveProctoringCacheService.getLatestSSDataId(sessionUUID, false);
127+
if (latestSSDataId != null) {
128+
return screenshotDataDAO.recordByPK(latestSSDataId)
129+
.map(rec -> createScreenshotViewData(sessionUUID, rec))
130+
.getOr(createScreenshotViewData(sessionUUID, sessionScreenshotData.getAt(timestamp)));
131+
}
132+
}
133+
134+
// get first screenshot
135+
return createScreenshotViewData(sessionUUID, sessionScreenshotData.getAt(timestamp));
127136
});
128137
}
129138

0 commit comments

Comments
 (0)