From f9c6a756920743ee861a54508eead37bd6650779 Mon Sep 17 00:00:00 2001 From: gsd Date: Sat, 10 May 2025 23:58:08 +0300 Subject: [PATCH] ban search fix --- .../java/app/controllers/user/PublicController.java | 2 +- src/main/java/app/entities/db/ban/BanSearchFilter.java | 7 ++++++- src/main/java/app/entities/other/SteamID.java | 10 ++++++++++ src/main/java/app/repositories/BanRepository.java | 6 ++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/java/app/controllers/user/PublicController.java b/src/main/java/app/controllers/user/PublicController.java index fe1e214..9dfcb81 100644 --- a/src/main/java/app/controllers/user/PublicController.java +++ b/src/main/java/app/controllers/user/PublicController.java @@ -88,7 +88,7 @@ public class PublicController { banSearchFilter.getBeginUnixTime(), banSearchFilter.getEndUnixTime(), banSearchFilter.getActive(), - admin_ids.isEmpty(), admin_ids) + admin_ids.isEmpty(), admin_ids, banSearchFilter.getReason()) , HttpStatus.OK); } diff --git a/src/main/java/app/entities/db/ban/BanSearchFilter.java b/src/main/java/app/entities/db/ban/BanSearchFilter.java index 4547eb9..7022c3d 100644 --- a/src/main/java/app/entities/db/ban/BanSearchFilter.java +++ b/src/main/java/app/entities/db/ban/BanSearchFilter.java @@ -13,6 +13,7 @@ public class BanSearchFilter extends SearchFilter { private List ban_ids; private Boolean active; private List admin_ids; + private String reason; public BanSearchFilter() { } @@ -31,7 +32,11 @@ public class BanSearchFilter extends SearchFilter { return admin_ids.stream() .map(profileService::GetSteamIDFromAnyData) .filter(Objects::nonNull) - .map(sId -> sId.steam3) + .map(sId -> sId.steam2) .toList(); } + + public String getReason() { + return reason == null || reason.isEmpty() ? "%" : reason; + } } diff --git a/src/main/java/app/entities/other/SteamID.java b/src/main/java/app/entities/other/SteamID.java index 71b65fb..8f58999 100644 --- a/src/main/java/app/entities/other/SteamID.java +++ b/src/main/java/app/entities/other/SteamID.java @@ -6,8 +6,18 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @JsonSerialize public class SteamID { + /** + * [U:1:1476363462] + */ public String steam3; + /** + * STEAM_0:0:738181731 + */ public String steam2; + + /** + * 76561199436629190 + */ @JsonSerialize(using = ToStringSerializer.class) public long steam64; public String community_url; diff --git a/src/main/java/app/repositories/BanRepository.java b/src/main/java/app/repositories/BanRepository.java index e7ab18e..7f5f58c 100644 --- a/src/main/java/app/repositories/BanRepository.java +++ b/src/main/java/app/repositories/BanRepository.java @@ -18,7 +18,8 @@ public interface BanRepository extends PagingAndSortingRepository { "(:begin_date is null or DATE_PART('EPOCH', b.timestamp) >= :begin_date) and " + "(:end_date is null or :end_date >= DATE_PART('EPOCH', b.timestamp)) and " + "(:active is null or b.active = :active) and " + - "(:admin_ids_non_exists = true or b.banned_by_id in :admin_ids) order by b.id desc") + "(:admin_ids_non_exists = true or b.banned_by_id in :admin_ids) and" + + "(b.ban_reason like :reason) order by b.id desc") Page getBans(Pageable pageable, @Param(value = "ban_ids_non_exists") Boolean ban_ids_non_exists, @Param(value = "ban_ids") Iterable ban_ids, @@ -28,5 +29,6 @@ public interface BanRepository extends PagingAndSortingRepository { @Param(value = "end_date") Long end_date, @Param(value = "active") Boolean active, @Param(value = "admin_ids_non_exists") Boolean admin_ids_non_exists, - @Param(value = "admin_ids") Iterable admin_ids); + @Param(value = "admin_ids") Iterable admin_ids, + @Param(value = "reason") String reason); }