Extend filtering logic in NodeRepository by including external_mapping_id in search criteria. Fix for Issue #77

This commit is contained in:
Jan 2025-12-14 17:35:07 +01:00
parent 640f466441
commit 6ddd48400e

View file

@ -106,8 +106,8 @@ public class NodeRepository {
entities = jdbcTemplate.query(query, new NodeMapper(), pagination.getLimit(), pagination.getOffset()); entities = jdbcTemplate.query(query, new NodeMapper(), pagination.getLimit(), pagination.getOffset());
totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class); totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class);
} else { } else {
entities = jdbcTemplate.query(query, new NodeMapper(), "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", pagination.getLimit(), pagination.getOffset()); entities = jdbcTemplate.query(query, new NodeMapper(), "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", pagination.getLimit(), pagination.getOffset());
totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class, "%" + filter + "%", "%" + filter + "%", "%" + filter + "%"); totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class, "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", "%" + filter + "%");
} }
@ -125,7 +125,7 @@ public class NodeRepository {
queryBuilder.append(" AND node.is_deprecated = FALSE"); queryBuilder.append(" AND node.is_deprecated = FALSE");
} }
if (filter != null) { if (filter != null) {
queryBuilder.append(" AND (node.name LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); queryBuilder.append(" AND (node.name LIKE ? OR node.external_mapping_id LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)");
} }
return queryBuilder.toString(); return queryBuilder.toString();
@ -143,7 +143,7 @@ public class NodeRepository {
queryBuilder.append(" AND node.is_deprecated = FALSE"); queryBuilder.append(" AND node.is_deprecated = FALSE");
} }
if (filter != null) { if (filter != null) {
queryBuilder.append(" AND (node.name LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); queryBuilder.append(" AND (node.name LIKE ? OR node.external_mapping_id LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)");
} }
queryBuilder.append(" ORDER BY node.id LIMIT ? OFFSET ?"); queryBuilder.append(" ORDER BY node.id LIMIT ? OFFSET ?");
return queryBuilder.toString(); return queryBuilder.toString();