RED-9393: user stats endpoint

qualitiy gate
This commit is contained in:
yhampe 2024-07-10 13:10:49 +02:00
parent 019bec4496
commit e114291f56

View File

@ -3,7 +3,6 @@ package com.iqser.red.persistence.service.v1.external.api.impl.controller;
import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.READ_USER_STATS;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RestController;
@ -33,7 +32,7 @@ public class UserStatsController implements UserStatsResource {
@PreAuthorize("hasAuthority('" + READ_USER_STATS + "')")
public UserStats getUserStats(String userId) {
if (userService.getUserById(userId) == null) {
if (!userService.getUserById(userId).isEmpty()) {
return null;
}
List<DossierEntity> allDossiers = dossierService.getAllDossiers();
@ -41,18 +40,17 @@ public class UserStatsController implements UserStatsResource {
.stream()
.filter(fileEntity -> fileEntity.getAssignee() != null)
.filter(file -> file.getAssignee().equals(userId))
.collect(Collectors.toList());
.toList();
int numberOfDossierOwnerships = allDossiers.stream()
.filter(fileEntity -> fileEntity.getOwnerId() != null)
.filter(dossier -> dossier.getOwnerId().equals(userId))
.collect(Collectors.toList()).size();
.toList().size();
int numberOfDossierMemberships = allDossiers.stream()
.filter(fileEntity -> fileEntity.getMemberIds() != null)
.filter(dossier -> dossier.getMemberIds().contains(userId))
.collect(Collectors.toList()).size();
.toList().size();
int numberOfAssignedFiles = allFiles.size();
UserStats userStats = new UserStats(numberOfDossierMemberships, numberOfDossierOwnerships, numberOfAssignedFiles);
return userStats;
return new UserStats(numberOfDossierMemberships, numberOfDossierOwnerships, numberOfAssignedFiles);
}
}