Merge branch 'feature/red-9393' into 'master'
RED-9393 user stats controller See merge request redactmanager/persistence-service!880
This commit is contained in:
commit
9718f8d3fd
@ -1,13 +1,17 @@
|
||||
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.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.acl.custom.dossier.DossierACLService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.DossierService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.users.UserService;
|
||||
@ -29,15 +33,17 @@ public class UserStatsController implements UserStatsResource {
|
||||
|
||||
|
||||
@Override
|
||||
@PreAuthorize("hasAuthority('" + READ_USER_STATS + "')")
|
||||
public ResponseEntity<UserStats> getUserStats(String userId) {
|
||||
|
||||
if (userService.getUserById(userId).isEmpty()) {
|
||||
return new ResponseEntity(null, HttpStatus.NOT_FOUND);
|
||||
throw new NotFoundException(String.format("The user with id %s is not found.", userId));
|
||||
}
|
||||
List<String> dossierMemberships = new ArrayList<>();
|
||||
List<String> dossierOwnerships = new ArrayList<>();
|
||||
dossierService.getAllDossiers()
|
||||
.stream()
|
||||
.filter(dossierEntity -> dossierEntity.getHardDeletedTime() == null)
|
||||
.forEach(d -> {
|
||||
if (dossierACLService.getMembers(d.getId()).contains(userId)) {
|
||||
dossierMemberships.add(d.getId());
|
||||
|
||||
@ -25,8 +25,7 @@ public final class ApplicationRoles {
|
||||
UPDATE_LICENSE,
|
||||
GET_TENANTS,
|
||||
CREATE_TENANT,
|
||||
READ_USERS,
|
||||
READ_ALL_USERS,
|
||||
READ_USERS, READ_ALL_USERS, READ_USER_STATS,
|
||||
WRITE_USERS,
|
||||
READ_SMTP_CONFIGURATION,
|
||||
WRITE_SMTP_CONFIGURATION,
|
||||
@ -62,8 +61,7 @@ public final class ApplicationRoles {
|
||||
PROCESS_MANUAL_REDACTION_REQUEST,
|
||||
READ_COLORS,
|
||||
READ_DICTIONARY_TYPES,
|
||||
READ_DIGITAL_SIGNATURE,
|
||||
READ_DOSSIER,
|
||||
READ_DIGITAL_SIGNATURE, READ_DOSSIER,
|
||||
READ_DOSSIER_ATTRIBUTES,
|
||||
READ_DOSSIER_ATTRIBUTES_CONFIG,
|
||||
READ_DOSSIER_TEMPLATES,
|
||||
@ -118,8 +116,7 @@ public final class ApplicationRoles {
|
||||
READ_DOSSIER_TEMPLATES,
|
||||
READ_FILE_ATTRIBUTES_CONFIG,
|
||||
READ_LEGAL_BASIS,
|
||||
READ_LICENSE_REPORT,
|
||||
READ_NOTIFICATIONS,
|
||||
READ_LICENSE_REPORT, READ_NOTIFICATIONS, READ_USER_STATS,
|
||||
READ_RULES,
|
||||
READ_DATA_FORMATS,
|
||||
READ_SMTP_CONFIGURATION,
|
||||
@ -153,9 +150,8 @@ public final class ApplicationRoles {
|
||||
READ_APP_CONFIG,
|
||||
READ_GENERAL_CONFIGURATION,
|
||||
READ_GENERAL_CONFIGURATION,
|
||||
GET_SIMILAR_IMAGES,
|
||||
READ_NOTIFICATIONS,
|
||||
READ_USERS,
|
||||
GET_SIMILAR_IMAGES, READ_NOTIFICATIONS,
|
||||
READ_USERS, READ_USER_STATS,
|
||||
UPDATE_MY_PROFILE,
|
||||
UPDATE_NOTIFICATIONS,
|
||||
WRITE_USERS,
|
||||
|
||||
@ -602,7 +602,9 @@ public class FileStatusPersistenceService {
|
||||
public int getNumberOfAssignedFiles(String userId) {
|
||||
|
||||
List<FileEntity> files = fileRepository.findFilesByAssignee(userId);
|
||||
return files.size();
|
||||
return files.stream()
|
||||
.filter(fileEntity -> fileEntity.getHardDeletedTime() == null)
|
||||
.collect(Collectors.toList()).size();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user