cleanup and added unit tests

This commit is contained in:
verboomp
2026-01-27 14:09:12 +01:00
parent 3d456128b1
commit e4b2dd0462
42 changed files with 1467 additions and 977 deletions

View File

@@ -33,14 +33,6 @@ public class QueryService {
@PersistenceContext
private EntityManager eManager;
public int count(String namedQuery, Param... params) {
Query query = eManager.createNamedQuery(namedQuery);
for (Param param : params) {
query.setParameter(param.name(), param.value());
}
return ((Number) query.getSingleResult()).intValue();
}
public <T> Optional<T> callNamedQuerySingleResult(String namedQuery, Param... params) {
return singleResult(eManager.createNamedQuery(namedQuery), Arrays.asList(params));
}
@@ -66,30 +58,6 @@ public class QueryService {
return (T) query.getResultList();
}
public <T> Optional<T> callQuerySingleResult(String sql, Param... objects) {
Query query = eManager.createQuery(sql);
for (Param param : objects) {
query.setParameter(param.name(), param.value());
}
return Optional.of((T) query.getSingleResult());
}
public <T> T callNativeQuery(String sql, Param... objects) {
Query query = eManager.createNativeQuery(sql);
for (Param param : objects) {
query.setParameter(param.name(), param.value());
}
return (T) query.getResultList();
}
public int callNativeQueryUpdate(String sql, Param... objects) {
Query query = eManager.createNativeQuery(sql);
for (Param param : objects) {
query.setParameter(param.name(), param.value());
}
return query.executeUpdate();
}
public int callNamedQueryUpdate(String namedQuery, Param... objects) {
Query query = eManager.createNamedQuery(namedQuery);
for (Param param : objects) {

View File

@@ -52,7 +52,7 @@ public class CustomerPictureService extends AbstractService {
// query = search for name, number and date
public List<CustomerListValue> getAll(String queryStr, String startsWith) {
// FIXME: do query
// FIXME: do query on date
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Customer> criteriaQuery = builder.createQuery(Customer.class);

View File

@@ -55,7 +55,7 @@ public class JwtTokenService extends AbstractService {
return new TokenPairValue(accessToken, refreshToken);
}
public String refreshAccessToken(String refreshToken) throws Exception {
public String refreshAccessToken(String refreshToken) {
Claims claims = jwtTokenUtil.validateAndExtractClaims(refreshToken);
Long userId = Long.parseLong(claims.getSubject());

View File

@@ -29,19 +29,11 @@ public class LoginService extends AbstractService{
// Get logged-in user from database
Optional<User> userOpt = queryService.callNamedQuerySingleResult(User.BY_USERNAME, new Param(User.PARAM_USERNAME, username));
if (userOpt.isEmpty()) {
// FIXME: implement me
// Should never happen
return null;
}
User user = userOpt.get();
// Verify user is active
if (!user.isActive()) {
throw new IllegalArgumentException("User account is inactive");
}
TokenPairValue tokens = jwtTokenService.generateTokenPair(user, deviceInfo, ipAddress);
// Logout from the temporary login (we're using tokens now, not session)
return tokens;
return jwtTokenService.generateTokenPair(user, deviceInfo, ipAddress);
}
}

View File

@@ -67,10 +67,7 @@ public class LoginResource {
String deviceInfo = loginUtils.extractDeviceInfo(httpServletRequest);
String ipAddress = loginUtils.extractIpAddress(httpServletRequest);
TokenPairValue tokenPairValue = loginService.authenticateUser(username, deviceInfo, ipAddress);
//FIXME: check if we can do a logout to free user from WildFly httpServletRequest.logout();
var tokenPairValue = loginService.authenticateUser(username, deviceInfo, ipAddress);
return Response.ok(tokenPairValue).build();
}
}

View File

@@ -48,9 +48,7 @@ public class PictureResource {
protected ResponseBuilder deleteResponse(StorageState state) {
return switch(state) {
case OK -> Response.status(Status.OK);
case DUPLICATE -> Response.status(Status.CONFLICT);
case NOT_FOUND -> Response.status(Status.NOT_FOUND);
case FORBIDDEN -> Response.status(Status.FORBIDDEN);
default -> Response.status(Status.INTERNAL_SERVER_ERROR);
};
}

View File

@@ -37,7 +37,8 @@ import com.networknt.schema.ValidationMessage;
*/
@Provider
@Consumes(value = {
MediaType.APPLICATION_JSON, "application/json; charset=utf-8"
MediaType.APPLICATION_JSON, "application/json",
MediaType.APPLICATION_JSON, "application/json; charset=utf-8",
})
public class ValidatedMessageBodyReader implements MessageBodyReader<SchemaValidated> {
private static final Log LOG = LogFactory.getLog(ValidatedMessageBodyReader.class);