Browse Source

ban search fix

master
gsd 1 week ago
parent
commit
f9c6a75692
  1. 2
      src/main/java/app/controllers/user/PublicController.java
  2. 7
      src/main/java/app/entities/db/ban/BanSearchFilter.java
  3. 10
      src/main/java/app/entities/other/SteamID.java
  4. 6
      src/main/java/app/repositories/BanRepository.java

2
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);
}

7
src/main/java/app/entities/db/ban/BanSearchFilter.java

@ -13,6 +13,7 @@ public class BanSearchFilter extends SearchFilter {
private List<Long> ban_ids;
private Boolean active;
private List<String> 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;
}
}

10
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;

6
src/main/java/app/repositories/BanRepository.java

@ -18,7 +18,8 @@ public interface BanRepository extends PagingAndSortingRepository<Ban, Long> {
"(: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<Ban> getBans(Pageable pageable,
@Param(value = "ban_ids_non_exists") Boolean ban_ids_non_exists,
@Param(value = "ban_ids") Iterable<Long> ban_ids,
@ -28,5 +29,6 @@ public interface BanRepository extends PagingAndSortingRepository<Ban, Long> {
@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<String> admin_ids);
@Param(value = "admin_ids") Iterable<String> admin_ids,
@Param(value = "reason") String reason);
}

Loading…
Cancel
Save