mirror of
https://github.com/imgfloat/server.git
synced 2026-05-08 10:19:35 +00:00
refactor: inline private normalize() wrappers; use StringNormalizer.toLowerCaseRoot() directly
Remove boilerplate private normalize(String) wrappers from: - ChannelDirectoryService - ChannelSettingsService - AccountService - AuditLogService (keepsg normalizeFilter() which adds null-if-blank semantics) Add StringNormalizer import to AuditLogService; remove now-unused Locale import.
This commit is contained in:
@@ -54,7 +54,7 @@ public class AccountService {
|
||||
|
||||
@Transactional
|
||||
public void deleteAccount(String username) {
|
||||
String normalized = normalize(username);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(username);
|
||||
if (normalized == null || normalized.isBlank()) {
|
||||
return;
|
||||
}
|
||||
@@ -95,7 +95,4 @@ public class AccountService {
|
||||
jdbcTemplate.update("DELETE FROM SPRING_SESSION WHERE PRINCIPAL_NAME = ?", username);
|
||||
}
|
||||
|
||||
private String normalize(String value) {
|
||||
return StringNormalizer.toLowerCaseRoot(value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package dev.kruhlmann.imgfloat.service;
|
||||
import dev.kruhlmann.imgfloat.model.db.audit.AuditLogEntry;
|
||||
import dev.kruhlmann.imgfloat.repository.audit.AuditLogRepository;
|
||||
import dev.kruhlmann.imgfloat.util.LogSanitizer;
|
||||
import java.util.Locale;
|
||||
import dev.kruhlmann.imgfloat.util.StringNormalizer;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -25,11 +25,11 @@ public class AuditLogService {
|
||||
}
|
||||
|
||||
public void recordEntry(String broadcaster, String actor, String action, String details) {
|
||||
String normalizedBroadcaster = normalize(broadcaster);
|
||||
String normalizedBroadcaster = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
if (normalizedBroadcaster == null || normalizedBroadcaster.isBlank()) {
|
||||
return;
|
||||
}
|
||||
String normalizedActor = normalize(actor);
|
||||
String normalizedActor = StringNormalizer.toLowerCaseRoot(actor);
|
||||
if (normalizedActor == null || normalizedActor.isBlank()) {
|
||||
normalizedActor = DEFAULT_ACTOR;
|
||||
}
|
||||
@@ -60,7 +60,7 @@ public class AuditLogService {
|
||||
int page,
|
||||
int size
|
||||
) {
|
||||
String normalizedBroadcaster = normalize(broadcaster);
|
||||
String normalizedBroadcaster = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
if (normalizedBroadcaster == null || normalizedBroadcaster.isBlank()) {
|
||||
return Page.empty();
|
||||
}
|
||||
@@ -80,19 +80,15 @@ public class AuditLogService {
|
||||
}
|
||||
|
||||
public void deleteEntriesForBroadcaster(String broadcaster) {
|
||||
String normalizedBroadcaster = normalize(broadcaster);
|
||||
String normalizedBroadcaster = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
if (normalizedBroadcaster == null || normalizedBroadcaster.isBlank()) {
|
||||
return;
|
||||
}
|
||||
auditLogRepository.deleteByBroadcaster(normalizedBroadcaster);
|
||||
}
|
||||
|
||||
private String normalize(String value) {
|
||||
return value == null ? null : value.toLowerCase(Locale.ROOT);
|
||||
}
|
||||
|
||||
private String normalizeFilter(String value) {
|
||||
String normalized = normalize(value);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(value);
|
||||
return normalized == null || normalized.isBlank() ? null : normalized;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,12 +122,12 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
public Channel getOrCreateChannel(String broadcaster) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return channelRepository.findById(normalized).orElseGet(() -> channelRepository.save(new Channel(normalized)));
|
||||
}
|
||||
|
||||
public List<String> searchBroadcasters(String query) {
|
||||
String q = normalize(query);
|
||||
String q = StringNormalizer.toLowerCaseRoot(query);
|
||||
return channelRepository
|
||||
.findTop50ByBroadcasterContainingIgnoreCaseOrderByBroadcasterAsc(q == null ? "" : q)
|
||||
.stream()
|
||||
@@ -137,7 +137,7 @@ public class ChannelDirectoryService {
|
||||
|
||||
public boolean addAdmin(String broadcaster, String username, String actor) {
|
||||
Channel channel = getOrCreateChannel(broadcaster);
|
||||
String normalizedUsername = normalize(username);
|
||||
String normalizedUsername = StringNormalizer.toLowerCaseRoot(username);
|
||||
boolean added = channel.addAdmin(normalizedUsername);
|
||||
if (added) {
|
||||
channelRepository.saveAndFlush(channel);
|
||||
@@ -154,7 +154,7 @@ public class ChannelDirectoryService {
|
||||
|
||||
public boolean removeAdmin(String broadcaster, String username, String actor) {
|
||||
Channel channel = getOrCreateChannel(broadcaster);
|
||||
String normalizedUsername = normalize(username);
|
||||
String normalizedUsername = StringNormalizer.toLowerCaseRoot(username);
|
||||
boolean removed = channel.removeAdmin(normalizedUsername);
|
||||
if (removed) {
|
||||
channelRepository.saveAndFlush(channel);
|
||||
@@ -170,12 +170,12 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
public Collection<AssetView> getAssetsForAdmin(String broadcaster) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return sortAndMapAssets(normalized, assetRepository.findByBroadcaster(normalized));
|
||||
}
|
||||
|
||||
public Collection<AssetView> getVisibleAssets(String broadcaster) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
List<Asset> assets = assetRepository.findByBroadcaster(normalized);
|
||||
List<String> visualIds = assets
|
||||
.stream()
|
||||
@@ -335,7 +335,7 @@ public class ChannelDirectoryService {
|
||||
@Transactional
|
||||
public Optional<AssetView> updateCodeAsset(String broadcaster, String assetId, CodeAssetRequest request, String actor) {
|
||||
validateCodeAssetSource(request.getSource());
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
byte[] bytes = request.getSource().getBytes(StandardCharsets.UTF_8);
|
||||
enforceUploadLimit(bytes.length);
|
||||
List<String> allowedDomains = normalizeAllowedDomains(request.getAllowedDomains());
|
||||
@@ -683,7 +683,7 @@ public class ChannelDirectoryService {
|
||||
|
||||
@Transactional
|
||||
public Optional<AssetView> updateTransform(String broadcaster, String assetId, TransformRequest req, String actor) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
|
||||
return assetRepository
|
||||
.findById(assetId)
|
||||
@@ -809,7 +809,7 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
public Optional<AssetPatch> previewTransform(String broadcaster, String assetId, TransformRequest request) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
|
||||
Asset asset = assetRepository
|
||||
.findById(assetId)
|
||||
@@ -876,7 +876,7 @@ public class ChannelDirectoryService {
|
||||
if (updates == null || updates.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
applyBulkOrderUpdates(
|
||||
broadcaster,
|
||||
normalized,
|
||||
@@ -1082,7 +1082,7 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
public Optional<AssetView> triggerPlayback(String broadcaster, String assetId, PlaybackRequest req, String actor) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return assetRepository
|
||||
.findById(assetId)
|
||||
.filter((a) -> normalized.equals(a.getBroadcaster()))
|
||||
@@ -1110,7 +1110,7 @@ public class ChannelDirectoryService {
|
||||
VisibilityRequest request,
|
||||
String actor
|
||||
) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return assetRepository
|
||||
.findById(assetId)
|
||||
.filter((a) -> normalized.equals(a.getBroadcaster()))
|
||||
@@ -1224,7 +1224,7 @@ public class ChannelDirectoryService {
|
||||
|
||||
public List<ScriptAssetAttachmentView> listScriptAttachments(String broadcaster, String scriptAssetId) {
|
||||
Asset asset = requireScriptAssetForBroadcaster(broadcaster, scriptAssetId);
|
||||
return loadScriptAttachments(normalize(broadcaster), asset.getId(), null);
|
||||
return loadScriptAttachments(StringNormalizer.toLowerCaseRoot(broadcaster), asset.getId(), null);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = IOException.class)
|
||||
@@ -1343,7 +1343,7 @@ public class ChannelDirectoryService {
|
||||
) {
|
||||
Asset asset = assetRepository
|
||||
.findById(scriptAssetId)
|
||||
.filter((stored) -> normalize(broadcaster).equals(stored.getBroadcaster()))
|
||||
.filter((stored) -> StringNormalizer.toLowerCaseRoot(broadcaster).equals(stored.getBroadcaster()))
|
||||
.filter((stored) -> stored.getAssetType() == AssetType.SCRIPT)
|
||||
.orElse(null);
|
||||
if (asset == null) {
|
||||
@@ -1372,9 +1372,9 @@ public class ChannelDirectoryService {
|
||||
|
||||
public boolean isAdmin(String broadcaster, String username) {
|
||||
return channelRepository
|
||||
.findById(normalize(broadcaster))
|
||||
.findById(StringNormalizer.toLowerCaseRoot(broadcaster))
|
||||
.map(Channel::getAdmins)
|
||||
.map((admins) -> admins.contains(normalize(username)))
|
||||
.map((admins) -> admins.contains(StringNormalizer.toLowerCaseRoot(username)))
|
||||
.orElse(false);
|
||||
}
|
||||
|
||||
@@ -1389,10 +1389,6 @@ public class ChannelDirectoryService {
|
||||
.toList();
|
||||
}
|
||||
|
||||
private String normalize(String value) {
|
||||
return StringNormalizer.toLowerCaseRoot(value);
|
||||
}
|
||||
|
||||
private boolean isCodeMediaType(String mediaType) {
|
||||
if (mediaType == null || mediaType.isBlank()) {
|
||||
return false;
|
||||
@@ -1466,7 +1462,7 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
private String topicFor(String broadcaster) {
|
||||
return "/topic/channel/" + normalize(broadcaster);
|
||||
return "/topic/channel/" + StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
}
|
||||
|
||||
private List<AssetView> sortAndMapAssets(String broadcaster, Collection<Asset> assets) {
|
||||
@@ -1534,7 +1530,7 @@ public class ChannelDirectoryService {
|
||||
private int nextDisplayOrder(String broadcaster, AssetType... types) {
|
||||
return (
|
||||
assetRepository
|
||||
.findByBroadcaster(normalize(broadcaster))
|
||||
.findByBroadcaster(StringNormalizer.toLowerCaseRoot(broadcaster))
|
||||
.stream()
|
||||
.filter((asset) -> Arrays.asList(types).contains(asset.getAssetType()))
|
||||
.map(Asset::getDisplayOrder)
|
||||
@@ -1577,7 +1573,7 @@ public class ChannelDirectoryService {
|
||||
return List.of();
|
||||
}
|
||||
List<Asset> ordered = assetRepository
|
||||
.findByBroadcaster(normalize(broadcaster))
|
||||
.findByBroadcaster(StringNormalizer.toLowerCaseRoot(broadcaster))
|
||||
.stream()
|
||||
.filter((asset) -> types.contains(asset.getAssetType()))
|
||||
.sorted(
|
||||
@@ -1744,7 +1740,7 @@ public class ChannelDirectoryService {
|
||||
}
|
||||
|
||||
private Asset requireScriptAssetForBroadcaster(String broadcaster, String scriptAssetId) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return assetRepository
|
||||
.findById(scriptAssetId)
|
||||
.filter((asset) -> normalized.equals(asset.getBroadcaster()))
|
||||
|
||||
@@ -190,16 +190,13 @@ public class ChannelSettingsService {
|
||||
}
|
||||
|
||||
private Channel getOrCreateChannel(String broadcaster) {
|
||||
String normalized = normalize(broadcaster);
|
||||
String normalized = StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
return channelRepository.findById(normalized)
|
||||
.orElseGet(() -> channelRepository.save(new Channel(normalized)));
|
||||
}
|
||||
|
||||
private String topicFor(String broadcaster) {
|
||||
return "/topic/channel/" + normalize(broadcaster);
|
||||
return "/topic/channel/" + StringNormalizer.toLowerCaseRoot(broadcaster);
|
||||
}
|
||||
|
||||
private String normalize(String value) {
|
||||
return StringNormalizer.toLowerCaseRoot(value);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user