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