Mentions légales du service

Skip to content
Snippets Groups Projects

fix: Status service

Merged Julia StopCovid requested to merge fix-status-service into feat-tests-integration
@@ -69,11 +69,12 @@ public class StatusControllerImpl implements IStatusController {
@Override
public ResponseEntity<StatusResponseDto> getStatus(StatusVo statusVo) {
Optional<ResponseEntity> entity = this.authRequestValidationService.validateRequestForAuth(statusVo,
new StatusMacValidator(this.cryptoServerClient),
new AuthenticatedRequestHandler());
log.info("~~~~~ Getting status ~~~~~");
if (entity.isPresent()) {
return entity.get();
} else {
@@ -103,6 +104,7 @@ public class StatusControllerImpl implements IStatusController {
res = this.cryptoServerClient.validateMacEsr(request);
} catch (Exception e) {
log.error(e.getMessage());
res = false;
}
return res;
@@ -134,7 +136,7 @@ public class StatusControllerImpl implements IStatusController {
// (now iterating through steps from section "If the ESR_REQUEST_A,i is valid, the server:", p11 of spec)
// Step #1: Set SRE with current epoch number
int latestNotifEpoch = record.getLastNotificationEpoch();
setLastEpochReqRegistration(record, epoch);
record.setLastStatusRequestEpoch(epoch);
// Step #2: "Score" was already processed during batch, simple lookup
boolean atRisk = record.isAtRisk();
@@ -158,15 +160,21 @@ public class StatusControllerImpl implements IStatusController {
// Sum all risk scores for all the remaining epochs
Double totalRisk = epochsToKeep.stream()
.map(item -> item.getExpositionScores())
.map(EpochExposition::getExpositionScores)
.map(item -> item.stream().mapToDouble(Double::doubleValue).sum())
.reduce(0.0, (a, b) -> a + b);
atRisk = totalRisk > StatusControllerImpl.this.serverConfigurationService.getRiskThreshold();
record.setAtRisk(atRisk);
}
// Update record after modifications.
StatusControllerImpl.this.registrationService.saveRegistration(record);
// Include new EBIDs and ECCs for next M epochs
StatusResponseDto statusResponse = StatusResponseDto.builder().atRisk(atRisk).build();
StatusResponseDto statusResponse = StatusResponseDto.builder()
.atRisk(atRisk)
.message(MessageConstants.SUCCESSFUL_OPERATION.getValue())
.build();
includeEphemeralTuplesForNextMEpochs(statusResponse, record, 4);
return Optional.of(ResponseEntity.ok(statusResponse));
@@ -211,12 +219,7 @@ public class StatusControllerImpl implements IStatusController {
}
statusResponse.setIdsForEpochs(this.epochKeyBundleDtoMapper.convert(tupleResponse.get().getTupleList()));
}
}
private void setLastEpochReqRegistration(Registration user, int epoch) {
user.setLastStatusRequestEpoch(epoch);
this.registrationService.saveRegistration(user);
}
}
Loading