Skip to content
This repository was archived by the owner on Aug 1, 2025. It is now read-only.

Commit cc5d9c6

Browse files
committed
Add SecurityUtils
1 parent 8316721 commit cc5d9c6

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

src/main/java/org/brapi/test/BrAPITestServer/repository/BrAPIRepositoryImpl.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.brapi.test.BrAPITestServer.model.entity.BrAPIPrimaryEntity;
55
import org.brapi.test.BrAPITestServer.model.entity.ExternalReferenceEntity;
66
import org.brapi.test.BrAPITestServer.service.SearchQueryBuilder;
7+
import org.brapi.test.BrAPITestServer.service.SecurityUtils;
78
import org.hibernate.jpa.QueryHints;
89
import org.springframework.data.domain.Page;
910
import org.springframework.data.domain.PageImpl;
@@ -44,7 +45,7 @@ public Page<T> findAllBySearch(SearchQueryBuilder<T> searchQuery, Pageable pageR
4445
public Page<T> findAllBySearchNoPage(SearchQueryBuilder<T> searchQuery, Page<UUID> pagedIds, Pageable pageReq) {
4546
applyUserId(searchQuery);
4647

47-
var entities = searchEntitiesWithIds(searchQuery, pagedIds);
48+
List<T> entities = searchEntitiesWithIds(searchQuery, pagedIds);
4849

4950
return new PageImpl<>(entities, pageReq, pagedIds.getTotalElements());
5051
}
@@ -66,7 +67,7 @@ public Page<UUID> findAllBySearchIdsOnly(SearchQueryBuilder<T> searchQuery, Page
6667
public Optional<T> findById(ID id) {
6768
Optional<T> response = super.findById(id);
6869
if (response.isPresent()) {
69-
String userId = getCurrentUserId();
70+
String userId = SecurityUtils.getCurrentUserId();
7071
if (!(null == response.get().getAuthUserId()
7172
|| userId.equals(response.get().getAuthUserId())
7273
|| "anonymousUser".equals(response.get().getAuthUserId()))) {
@@ -77,13 +78,13 @@ public Optional<T> findById(ID id) {
7778
}
7879

7980
public <S extends T> S save(S entity) {
80-
entity.setAuthUserId(getCurrentUserId());
81+
entity.setAuthUserId(SecurityUtils.getCurrentUserId());
8182
return super.save(entity);
8283
}
8384

8485
public <S extends T> List<S> saveAll(Iterable<S> entities) {
8586
for (S entity : entities) {
86-
entity.setAuthUserId(getCurrentUserId());
87+
entity.setAuthUserId(SecurityUtils.getCurrentUserId());
8788
}
8889
return super.saveAll(entities);
8990
}
@@ -112,7 +113,7 @@ private void applyUserId(SearchQueryBuilder<T> searchQuery) {
112113
.map(auth -> auth.getAuthority()).collect(Collectors.toSet());
113114

114115
List<String> userIds = new ArrayList<>();
115-
userIds.add(getCurrentUserId());
116+
userIds.add(SecurityUtils.getCurrentUserId());
116117
if (userRolesSet.contains("ROLE_ADMIN")) {
117118
return;
118119
} else if (userRolesSet.contains("ROLE_USER")) {
@@ -138,7 +139,7 @@ private List<T> getPagedContent(SearchQueryBuilder<T> searchQuery, Pageable page
138139
}
139140

140141
private List<T> searchEntitiesWithIds(SearchQueryBuilder<T> searchQuery, Page<UUID> ids) {
141-
searchQuery.appendList(ids.stream().map(UUID::toString).toList(), "id");
142+
searchQuery.appendList(ids.stream().map(UUID::toString).collect(Collectors.toList()), "id");
142143

143144
TypedQuery<T> query = entityManager.createQuery(searchQuery.getQuery(), searchQuery.getClazz());
144145

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.brapi.test.BrAPITestServer.service;
2+
3+
import org.springframework.security.core.context.SecurityContext;
4+
import org.springframework.security.core.context.SecurityContextHolder;
5+
6+
public class SecurityUtils {
7+
public static String getCurrentUserId() {
8+
SecurityContext context = SecurityContextHolder.getContext();
9+
String userId = "";
10+
if (context.getAuthentication().getPrincipal() != null) {
11+
userId = context.getAuthentication().getPrincipal().toString();
12+
}
13+
return userId;
14+
}
15+
}

0 commit comments

Comments
 (0)