mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 03:39:26 +00:00
Change package identity
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.imgfloat</groupId>
|
||||
<groupId>dev.kruhlmann</groupId>
|
||||
<artifactId>imgfloat</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>Imgfloat</name>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app;
|
||||
package dev.kruhlmann.imgfloat;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.Components;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ByteArrayInputStream;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.imgfloat.app.controller;
|
||||
package dev.kruhlmann.imgfloat.controller;
|
||||
|
||||
import com.imgfloat.app.model.AdminRequest;
|
||||
import com.imgfloat.app.model.AssetView;
|
||||
import com.imgfloat.app.model.CanvasSettingsRequest;
|
||||
import com.imgfloat.app.model.PlaybackRequest;
|
||||
import com.imgfloat.app.model.TransformRequest;
|
||||
import com.imgfloat.app.model.TwitchUserProfile;
|
||||
import com.imgfloat.app.model.VisibilityRequest;
|
||||
import com.imgfloat.app.service.ChannelDirectoryService;
|
||||
import com.imgfloat.app.service.TwitchUserLookupService;
|
||||
import dev.kruhlmann.imgfloat.model.AdminRequest;
|
||||
import dev.kruhlmann.imgfloat.model.AssetView;
|
||||
import dev.kruhlmann.imgfloat.model.CanvasSettingsRequest;
|
||||
import dev.kruhlmann.imgfloat.model.PlaybackRequest;
|
||||
import dev.kruhlmann.imgfloat.model.TransformRequest;
|
||||
import dev.kruhlmann.imgfloat.model.TwitchUserProfile;
|
||||
import dev.kruhlmann.imgfloat.model.VisibilityRequest;
|
||||
import dev.kruhlmann.imgfloat.service.ChannelDirectoryService;
|
||||
import dev.kruhlmann.imgfloat.service.TwitchUserLookupService;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import jakarta.validation.Valid;
|
||||
import org.slf4j.Logger;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.controller;
|
||||
package dev.kruhlmann.imgfloat.controller;
|
||||
|
||||
import com.imgfloat.app.service.ChannelDirectoryService;
|
||||
import dev.kruhlmann.imgfloat.service.ChannelDirectoryService;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.imgfloat.app.controller;
|
||||
package dev.kruhlmann.imgfloat.controller;
|
||||
|
||||
import com.imgfloat.app.service.ChannelDirectoryService;
|
||||
import com.imgfloat.app.service.GitVersionService;
|
||||
import dev.kruhlmann.imgfloat.service.ChannelDirectoryService;
|
||||
import dev.kruhlmann.imgfloat.service.VersionService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
|
||||
@@ -15,11 +15,11 @@ import static org.springframework.http.HttpStatus.FORBIDDEN;
|
||||
public class ViewController {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ViewController.class);
|
||||
private final ChannelDirectoryService channelDirectoryService;
|
||||
private final GitVersionService gitVersionService;
|
||||
private final VersionService versionService;
|
||||
|
||||
public ViewController(ChannelDirectoryService channelDirectoryService, GitVersionService gitVersionService) {
|
||||
public ViewController(ChannelDirectoryService channelDirectoryService, VersionService versionService) {
|
||||
this.channelDirectoryService = channelDirectoryService;
|
||||
this.gitVersionService = gitVersionService;
|
||||
this.versionService = versionService;
|
||||
}
|
||||
|
||||
@org.springframework.web.bind.annotation.GetMapping("/")
|
||||
@@ -32,7 +32,7 @@ public class ViewController {
|
||||
model.addAttribute("adminChannels", channelDirectoryService.adminChannelsFor(login));
|
||||
return "dashboard";
|
||||
}
|
||||
model.addAttribute("gitVersion", gitVersionService.getVersion());
|
||||
model.addAttribute("version", versionService.getVersion());
|
||||
return "index";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
public class AssetEvent {
|
||||
public enum Type {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
/**
|
||||
* Represents a partial update for an {@link Asset}. Only the fields that changed
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import jakarta.validation.constraints.Positive;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import jakarta.persistence.CollectionTable;
|
||||
import jakarta.persistence.Column;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
public class PlaybackRequest {
|
||||
private Boolean play;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
import jakarta.validation.constraints.DecimalMax;
|
||||
import jakarta.validation.constraints.DecimalMin;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
/**
|
||||
* Minimal Twitch user details used for rendering avatars and display names.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.model;
|
||||
package dev.kruhlmann.imgfloat.model;
|
||||
|
||||
public class VisibilityRequest {
|
||||
private boolean hidden;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.repository;
|
||||
package dev.kruhlmann.imgfloat.repository;
|
||||
|
||||
import com.imgfloat.app.model.Asset;
|
||||
import dev.kruhlmann.imgfloat.model.Asset;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.repository;
|
||||
package dev.kruhlmann.imgfloat.repository;
|
||||
|
||||
import com.imgfloat.app.model.Channel;
|
||||
import dev.kruhlmann.imgfloat.model.Channel;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.service;
|
||||
package dev.kruhlmann.imgfloat.service;
|
||||
|
||||
import com.imgfloat.app.service.media.AssetContent;
|
||||
import dev.kruhlmann.imgfloat.service.media.AssetContent;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.imgfloat.app.service;
|
||||
package dev.kruhlmann.imgfloat.service;
|
||||
|
||||
import com.imgfloat.app.model.Asset;
|
||||
import com.imgfloat.app.model.AssetEvent;
|
||||
import com.imgfloat.app.model.AssetPatch;
|
||||
import com.imgfloat.app.model.Channel;
|
||||
import com.imgfloat.app.model.AssetView;
|
||||
import com.imgfloat.app.model.CanvasSettingsRequest;
|
||||
import com.imgfloat.app.model.PlaybackRequest;
|
||||
import com.imgfloat.app.model.TransformRequest;
|
||||
import com.imgfloat.app.model.VisibilityRequest;
|
||||
import com.imgfloat.app.repository.AssetRepository;
|
||||
import com.imgfloat.app.repository.ChannelRepository;
|
||||
import dev.kruhlmann.imgfloat.model.Asset;
|
||||
import dev.kruhlmann.imgfloat.model.AssetEvent;
|
||||
import dev.kruhlmann.imgfloat.model.AssetPatch;
|
||||
import dev.kruhlmann.imgfloat.model.Channel;
|
||||
import dev.kruhlmann.imgfloat.model.AssetView;
|
||||
import dev.kruhlmann.imgfloat.model.CanvasSettingsRequest;
|
||||
import dev.kruhlmann.imgfloat.model.PlaybackRequest;
|
||||
import dev.kruhlmann.imgfloat.model.TransformRequest;
|
||||
import dev.kruhlmann.imgfloat.model.VisibilityRequest;
|
||||
import dev.kruhlmann.imgfloat.repository.AssetRepository;
|
||||
import dev.kruhlmann.imgfloat.repository.ChannelRepository;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
@@ -26,10 +26,10 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.imgfloat.app.service.media.AssetContent;
|
||||
import com.imgfloat.app.service.media.MediaDetectionService;
|
||||
import com.imgfloat.app.service.media.MediaOptimizationService;
|
||||
import com.imgfloat.app.service.media.OptimizedAsset;
|
||||
import dev.kruhlmann.imgfloat.service.media.AssetContent;
|
||||
import dev.kruhlmann.imgfloat.service.media.MediaDetectionService;
|
||||
import dev.kruhlmann.imgfloat.service.media.MediaOptimizationService;
|
||||
import dev.kruhlmann.imgfloat.service.media.OptimizedAsset;
|
||||
|
||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.service;
|
||||
package dev.kruhlmann.imgfloat.service;
|
||||
|
||||
import com.imgfloat.app.model.TwitchUserProfile;
|
||||
import dev.kruhlmann.imgfloat.model.TwitchUserProfile;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import org.slf4j.Logger;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service;
|
||||
package dev.kruhlmann.imgfloat.service;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -9,11 +9,11 @@ import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
@Component
|
||||
public class GitVersionService {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(GitVersionService.class);
|
||||
public class VersionService {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(VersionService.class);
|
||||
private final String version;
|
||||
|
||||
public GitVersionService() {
|
||||
public VersionService() {
|
||||
this.version = resolveVersion();
|
||||
}
|
||||
|
||||
@@ -22,20 +22,20 @@ public class GitVersionService {
|
||||
}
|
||||
|
||||
private String resolveVersion() {
|
||||
String gitDescribeVersion = tryGitDescribe();
|
||||
if (gitDescribeVersion != null) {
|
||||
return gitDescribeVersion;
|
||||
}
|
||||
|
||||
String manifestVersion = getClass().getPackage().getImplementationVersion();
|
||||
if (manifestVersion != null && !manifestVersion.isBlank()) {
|
||||
return manifestVersion;
|
||||
}
|
||||
|
||||
String gitDescribeVersion = getGitVersionString();
|
||||
if (gitDescribeVersion != null) {
|
||||
return "git-" + gitDescribeVersion;
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
private String tryGitDescribe() {
|
||||
private String getGitVersionString() {
|
||||
Process process = null;
|
||||
try {
|
||||
process = new ProcessBuilder("git", "describe", "--tags", "--always")
|
||||
@@ -1,3 +1,3 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
public record AssetContent(byte[] bytes, String mediaType) { }
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
import org.jcodec.api.FrameGrab;
|
||||
import org.jcodec.api.JCodecException;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
import org.jcodec.api.FrameGrab;
|
||||
import org.jcodec.api.JCodecException;
|
||||
@@ -1,3 +1,3 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
public record OptimizedAsset(byte[] bytes, String mediaType, int width, int height, byte[] previewBytes) { }
|
||||
@@ -9,7 +9,7 @@
|
||||
"dist:mac": "electron-builder --mac"
|
||||
},
|
||||
"build": {
|
||||
"appId": "com.imgfloat.overlay",
|
||||
"appId": "dev.kruhlmann.imgfloat.overlay",
|
||||
"productName": "Imgfloat",
|
||||
"files": [
|
||||
"app.js"
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<footer class="landing-meta">
|
||||
<div class="build-chip">
|
||||
<span class="muted">Build</span>
|
||||
<span class="version-badge" th:text="${gitVersion}">unknown</span>
|
||||
<span class="version-badge" th:text="${version}">unknown</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.imgfloat.app;
|
||||
package dev.kruhlmann.imgfloat;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.imgfloat.app.model.VisibilityRequest;
|
||||
import dev.kruhlmann.imgfloat.model.VisibilityRequest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.imgfloat.app;
|
||||
package dev.kruhlmann.imgfloat;
|
||||
|
||||
import com.imgfloat.app.model.Channel;
|
||||
import com.imgfloat.app.repository.ChannelRepository;
|
||||
import dev.kruhlmann.imgfloat.model.Channel;
|
||||
import dev.kruhlmann.imgfloat.repository.ChannelRepository;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -1,17 +1,17 @@
|
||||
package com.imgfloat.app;
|
||||
package dev.kruhlmann.imgfloat;
|
||||
|
||||
import com.imgfloat.app.model.TransformRequest;
|
||||
import com.imgfloat.app.model.VisibilityRequest;
|
||||
import com.imgfloat.app.model.Asset;
|
||||
import com.imgfloat.app.model.AssetView;
|
||||
import com.imgfloat.app.model.Channel;
|
||||
import com.imgfloat.app.repository.AssetRepository;
|
||||
import com.imgfloat.app.repository.ChannelRepository;
|
||||
import com.imgfloat.app.service.ChannelDirectoryService;
|
||||
import com.imgfloat.app.service.AssetStorageService;
|
||||
import com.imgfloat.app.service.media.MediaDetectionService;
|
||||
import com.imgfloat.app.service.media.MediaOptimizationService;
|
||||
import com.imgfloat.app.service.media.MediaPreviewService;
|
||||
import dev.kruhlmann.imgfloat.model.TransformRequest;
|
||||
import dev.kruhlmann.imgfloat.model.VisibilityRequest;
|
||||
import dev.kruhlmann.imgfloat.model.Asset;
|
||||
import dev.kruhlmann.imgfloat.model.AssetView;
|
||||
import dev.kruhlmann.imgfloat.model.Channel;
|
||||
import dev.kruhlmann.imgfloat.repository.AssetRepository;
|
||||
import dev.kruhlmann.imgfloat.repository.ChannelRepository;
|
||||
import dev.kruhlmann.imgfloat.service.ChannelDirectoryService;
|
||||
import dev.kruhlmann.imgfloat.service.AssetStorageService;
|
||||
import dev.kruhlmann.imgfloat.service.media.MediaDetectionService;
|
||||
import dev.kruhlmann.imgfloat.service.media.MediaOptimizationService;
|
||||
import dev.kruhlmann.imgfloat.service.media.MediaPreviewService;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app;
|
||||
package dev.kruhlmann.imgfloat;
|
||||
|
||||
import com.imgfloat.app.config.TwitchCredentialsValidator;
|
||||
import dev.kruhlmann.imgfloat.config.TwitchCredentialsValidator;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.RequestEntity;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.config;
|
||||
package dev.kruhlmann.imgfloat.config;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.springframework.test.web.client.match.MockRestRequestMatchers.header;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.imgfloat.app.service;
|
||||
package dev.kruhlmann.imgfloat.service;
|
||||
|
||||
import com.imgfloat.app.service.media.AssetContent;
|
||||
import dev.kruhlmann.imgfloat.service.media.AssetContent;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.imgfloat.app.service.media;
|
||||
package dev.kruhlmann.imgfloat.service.media;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
Reference in New Issue
Block a user