Fix code smells

This commit is contained in:
2026-01-05 22:23:06 +01:00
parent c10f47c2cb
commit 8907bf81e1
6 changed files with 14 additions and 22 deletions

View File

@@ -12,6 +12,7 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio
import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.lang.Nullable;
/**
* Ensures Twitch token requests always include {@code client_id} and {@code client_secret} in the
@@ -25,7 +26,7 @@ final class TwitchAuthorizationCodeGrantRequestEntityConverter
new OAuth2AuthorizationCodeGrantRequestEntityConverter();
@Override
public RequestEntity<?> convert(OAuth2AuthorizationCodeGrantRequest request) {
public @Nullable RequestEntity<?> convert(@Nullable OAuth2AuthorizationCodeGrantRequest request) {
RequestEntity<?> entity = delegate.convert(request);
if (entity == null || !(entity.getBody() instanceof MultiValueMap<?, ?> existingBody)) {
return entity;

View File

@@ -71,7 +71,7 @@ public class ChannelApiController {
}
@PostMapping("/admins")
public ResponseEntity<?> addAdmin(
public ResponseEntity<Boolean> addAdmin(
@PathVariable("broadcaster") String broadcaster,
@Valid @RequestBody AdminRequest request,
OAuth2AuthenticationToken oauthToken
@@ -86,7 +86,7 @@ public class ChannelApiController {
if (!added) {
LOG.info("User {} already admin for {} or could not be added", logRequestUsername, logBroadcaster);
}
return ResponseEntity.ok().body(added);
return ResponseEntity.ok(added);
}
@GetMapping("/admins")
@@ -156,7 +156,7 @@ public class ChannelApiController {
}
@DeleteMapping("/admins/{username}")
public ResponseEntity<?> removeAdmin(
public ResponseEntity<Boolean> removeAdmin(
@PathVariable("broadcaster") String broadcaster,
@PathVariable("username") String username,
OAuth2AuthenticationToken oauthToken
@@ -168,7 +168,7 @@ public class ChannelApiController {
authorizationService.userMatchesSessionUsernameOrThrowHttpError(broadcaster, sessionUsername);
LOG.info("User {} removing admin {} from {}", logSessionUsername, logUsername, logBroadcaster);
boolean removed = channelDirectoryService.removeAdmin(broadcaster, username);
return ResponseEntity.ok().body(removed);
return ResponseEntity.ok(removed);
}
@GetMapping("/assets")
@@ -369,7 +369,7 @@ public class ChannelApiController {
}
@DeleteMapping("/assets/{assetId}")
public ResponseEntity<?> delete(
public ResponseEntity<Void> delete(
@PathVariable("broadcaster") String broadcaster,
@PathVariable("assetId") String assetId,
OAuth2AuthenticationToken oauthToken

View File

@@ -13,7 +13,6 @@ import dev.kruhlmann.imgfloat.service.SettingsService;
import dev.kruhlmann.imgfloat.service.VersionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -28,22 +27,22 @@ public class ViewController {
private final SettingsService settingsService;
private final ObjectMapper objectMapper;
private final AuthorizationService authorizationService;
@Autowired
private long uploadLimitBytes;
private final long uploadLimitBytes;
public ViewController(
ChannelDirectoryService channelDirectoryService,
VersionService versionService,
SettingsService settingsService,
ObjectMapper objectMapper,
AuthorizationService authorizationService
AuthorizationService authorizationService,
long uploadLimitBytes
) {
this.channelDirectoryService = channelDirectoryService;
this.versionService = versionService;
this.settingsService = settingsService;
this.objectMapper = objectMapper;
this.authorizationService = authorizationService;
this.uploadLimitBytes = uploadLimitBytes;
}
@org.springframework.web.bind.annotation.GetMapping("/")

View File

@@ -2,12 +2,8 @@ package dev.kruhlmann.imgfloat.service;
import dev.kruhlmann.imgfloat.model.Asset;
import dev.kruhlmann.imgfloat.repository.AssetRepository;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationReadyEvent;

View File

@@ -8,7 +8,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@@ -58,7 +57,7 @@ public class AssetStorageService {
Files.createDirectories(this.assetRoot);
Files.createDirectories(this.previewRoot);
} catch (IOException e) {
throw new RuntimeException("Failed to create asset storage directories", e);
throw new IllegalStateException("Failed to create asset storage directories", e);
}
}
@@ -77,7 +76,7 @@ public class AssetStorageService {
StandardOpenOption.TRUNCATE_EXISTING,
StandardOpenOption.WRITE
);
logger.info("Wrote asset to {}", file.toString());
logger.info("Wrote asset to {}", file);
}
public void storePreview(String broadcaster, String assetId, byte[] previewBytes) throws IOException {
@@ -93,7 +92,7 @@ public class AssetStorageService {
StandardOpenOption.TRUNCATE_EXISTING,
StandardOpenOption.WRITE
);
logger.info("Wrote asset to {}", file.toString());
logger.info("Wrote asset to {}", file);
}
public Optional<AssetContent> loadAssetFile(Asset asset) {

View File

@@ -4,9 +4,6 @@ import static org.springframework.http.HttpStatus.FORBIDDEN;
import static org.springframework.http.HttpStatus.NOT_FOUND;
import static org.springframework.http.HttpStatus.UNAUTHORIZED;
import dev.kruhlmann.imgfloat.model.OauthSessionUser;
import dev.kruhlmann.imgfloat.service.ChannelDirectoryService;
import dev.kruhlmann.imgfloat.service.SystemAdministratorService;
import dev.kruhlmann.imgfloat.util.LogSanitizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;