From 39bb599219fb0d2fdf704ed42039ae6e199214a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kr=C3=BChlmann?= Date: Tue, 27 Jan 2026 15:40:55 +0100 Subject: [PATCH] Refactor models --- AGENTS.md | 36 ++++++++++++++++ .../config/AuditLogDataSourceConfig.java | 2 +- .../controller/AuditLogApiController.java | 4 +- .../controller/ChannelApiController.java | 20 ++++----- .../controller/RestExceptionHandler.java | 2 +- .../ScriptMarketplaceController.java | 6 +-- .../controller/SettingsApiController.java | 2 +- .../imgfloat/controller/ViewController.java | 2 +- .../model/{ => api/request}/AdminRequest.java | 2 +- .../request}/CanvasSettingsRequest.java | 2 +- .../ChannelScriptSettingsRequest.java | 2 +- .../{ => api/request}/CodeAssetRequest.java | 2 +- .../{ => api/request}/PlaybackRequest.java | 2 +- .../ScriptMarketplaceImportRequest.java | 2 +- .../{ => api/request}/TransformRequest.java | 2 +- .../{ => api/request}/VisibilityRequest.java | 2 +- .../model/{ => api/response}/AssetEvent.java | 2 +- .../model/{ => api/response}/AssetPatch.java | 8 +++- .../model/{ => api/response}/AssetView.java | 8 +++- .../{ => api/response}/AuditLogEntryView.java | 5 ++- .../{ => api/response}/AuditLogPageView.java | 2 +- .../model/{ => api/response}/CanvasEvent.java | 3 +- .../{ => api/response}/ErrorResponse.java | 2 +- .../response}/ScriptAssetAttachmentView.java | 4 +- .../response}/ScriptMarketplaceEntry.java | 2 +- .../{ => api/response}/TwitchUserProfile.java | 2 +- .../db/audit}/AuditLogEntry.java | 2 +- .../model/{ => db/imgfloat}/Asset.java | 4 +- .../model/{ => db/imgfloat}/AudioAsset.java | 2 +- .../model/{ => db/imgfloat}/Channel.java | 2 +- .../imgfloat}/MarketplaceScriptHeart.java | 2 +- .../imgfloat}/MarketplaceScriptHeartId.java | 2 +- .../model/{ => db/imgfloat}/ScriptAsset.java | 4 +- .../imgfloat}/ScriptAssetAttachment.java | 4 +- .../{ => db/imgfloat}/ScriptAssetFile.java | 4 +- .../model/{ => db/imgfloat}/Settings.java | 2 +- .../imgfloat}/SystemAdministrator.java | 2 +- .../model/{ => db/imgfloat}/VisualAsset.java | 2 +- .../imgfloat/repository/AssetRepository.java | 2 +- .../repository/AudioAssetRepository.java | 2 +- .../repository/ChannelRepository.java | 2 +- .../MarketplaceScriptHeartRepository.java | 4 +- .../ScriptAssetAttachmentRepository.java | 2 +- .../repository/ScriptAssetFileRepository.java | 2 +- .../repository/ScriptAssetRepository.java | 2 +- .../repository/SettingsRepository.java | 2 +- .../SystemAdministratorRepository.java | 2 +- .../repository/VisualAssetRepository.java | 2 +- .../repository/audit/AuditLogRepository.java | 2 +- .../imgfloat/service/AccountService.java | 4 +- .../imgfloat/service/AssetCleanupService.java | 6 +-- .../imgfloat/service/AuditLogService.java | 4 +- .../service/ChannelDirectoryService.java | 42 +++++++++---------- .../imgfloat/service/EmoteSyncScheduler.java | 4 +- .../service/MarketplaceScriptSeedLoader.java | 2 +- .../imgfloat/service/SettingsService.java | 6 +-- .../service/SystemAdministratorService.java | 2 +- .../service/TwitchUserLookupService.java | 2 +- .../imgfloat/ChannelApiIntegrationTest.java | 2 +- .../ChannelDirectoryApiIntegrationTest.java | 2 +- .../imgfloat/ChannelDirectoryServiceTest.java | 34 +++++++-------- 61 files changed, 176 insertions(+), 118 deletions(-) create mode 100644 AGENTS.md rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/AdminRequest.java (84%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/CanvasSettingsRequest.java (92%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/ChannelScriptSettingsRequest.java (96%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/CodeAssetRequest.java (95%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/PlaybackRequest.java (81%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/ScriptMarketplaceImportRequest.java (87%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/TransformRequest.java (98%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/request}/VisibilityRequest.java (80%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/AssetEvent.java (98%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/AssetPatch.java (91%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/AssetView.java (92%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/AuditLogEntryView.java (81%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/AuditLogPageView.java (76%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/CanvasEvent.java (83%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/ErrorResponse.java (58%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/ScriptAssetAttachmentView.java (83%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/ScriptMarketplaceEntry.java (81%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => api/response}/TwitchUserProfile.java (86%) rename src/main/java/dev/kruhlmann/imgfloat/{audit/model => model/db/audit}/AuditLogEntry.java (97%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/Asset.java (96%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/AudioAsset.java (98%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/Channel.java (98%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/MarketplaceScriptHeart.java (94%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/MarketplaceScriptHeartId.java (95%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/ScriptAsset.java (96%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/ScriptAssetAttachment.java (96%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/ScriptAssetFile.java (95%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/Settings.java (98%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/SystemAdministrator.java (97%) rename src/main/java/dev/kruhlmann/imgfloat/model/{ => db/imgfloat}/VisualAsset.java (98%) diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..2948d79 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,36 @@ +# Repository Guidelines + +## Project Structure & Module Organization +- Java Spring Boot service under `src/main/java` (controllers, services, repositories, models); configuration in `src/main/resources`. +- Frontend overlays and admin UI assets live in `src/main/resources/static/js` and `src/main/resources/templates` (Thymeleaf). +- Tests are in `src/test/java`; sample assets and previews are stored under `assets/` and `previews/` when running locally. +- Marketplace seed content (if used) sits at the path pointed to `IMGFLOAT_MARKETPLACE_SCRIPTS_PATH`, each with `metadata.json`, `source.js`, optional `logo.png`, and `attachments/`. + +## Build, Test, and Development Commands +- `make build` / `mvn compile`: compile the application. +- `make run`: load `.env` (if present) and start the Spring Boot app on port 8080 with required env vars. +- `make watch`: recompile on source changes (needs `entr`); restart browser manually. +- `make test` / `mvn test`: run the full test suite. +- `make package`: clean build a runnable JAR. + +## Coding Style & Naming Conventions +- Java 17, Spring Boot 3.x. Follow standard Java conventions: 4-space indentation, `UpperCamelCase` for types, `lowerCamelCase` for methods/fields, constants in `UPPER_SNAKE_CASE`. +- Keep controllers thin, delegate logic to services, and favor immutable DTOs/records where possible. +- Place web assets next to related features (`static/js` modules, matching templates). Use descriptive filenames (e.g., `broadcast/renderer.js`). +- Prefer constructor injection for Spring components; avoid field injection. + +## Testing Guidelines +- Use JUnit 5 with Mockito for unit tests; keep tests under `src/test/java` mirroring package paths. +- Name tests descriptively (`ClassNameTest`, method names expressing behavior). +- For changes touching overlays or asset handling, add tests for repository/service logic and handle edge cases (missing files, bad metadata). +- Run `make test` before opening a PR; add targeted integration tests when altering controllers or WebSocket flows. + +## Commit & Pull Request Guidelines +- Commits: concise, present-tense summaries (`Fix script import domain validation`). Group related changes; avoid noisy churn. +- PRs: include a clear summary, linked issue (if any), test results, and screenshots/GIFs when UI changes affect admin or broadcast overlays. +- Call out any config/env changes (new required vars such as `IMGFLOAT_*`) and migration steps. + +## Security & Configuration Tips +- Store secrets via environment variables (`.env` only for local dev). Required paths: `IMGFLOAT_ASSETS_PATH`, `IMGFLOAT_PREVIEWS_PATH`, `IMGFLOAT_DB_PATH`, `IMGFLOAT_AUDIT_DB_PATH`. +- When seeding marketplace scripts, ensure `metadata.json` is well-formed; attachment filenames must be unique per script. +- Keep OAuth keys and token encryption keys (`IMGFLOAT_TOKEN_ENCRYPTION_KEY`) in a secret manager for non-local environments. diff --git a/src/main/java/dev/kruhlmann/imgfloat/config/AuditLogDataSourceConfig.java b/src/main/java/dev/kruhlmann/imgfloat/config/AuditLogDataSourceConfig.java index 031cb06..f7e33c4 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/config/AuditLogDataSourceConfig.java +++ b/src/main/java/dev/kruhlmann/imgfloat/config/AuditLogDataSourceConfig.java @@ -51,7 +51,7 @@ public class AuditLogDataSourceConfig { ) { return builder .dataSource(dataSource) - .packages("dev.kruhlmann.imgfloat.audit.model") + .packages("dev.kruhlmann.imgfloat.model.db.audit") .properties(hibernateProperties.determineHibernateProperties(jpaProperties.getProperties(), new HibernateSettings())) .persistenceUnit("audit") .build(); diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/AuditLogApiController.java b/src/main/java/dev/kruhlmann/imgfloat/controller/AuditLogApiController.java index cee1c36..a1c6c7e 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/AuditLogApiController.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/AuditLogApiController.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.controller; -import dev.kruhlmann.imgfloat.model.AuditLogEntryView; -import dev.kruhlmann.imgfloat.model.AuditLogPageView; +import dev.kruhlmann.imgfloat.model.api.response.AuditLogEntryView; +import dev.kruhlmann.imgfloat.model.api.response.AuditLogPageView; import dev.kruhlmann.imgfloat.model.OauthSessionUser; import dev.kruhlmann.imgfloat.service.AuditLogService; import dev.kruhlmann.imgfloat.service.AuthorizationService; diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/ChannelApiController.java b/src/main/java/dev/kruhlmann/imgfloat/controller/ChannelApiController.java index 2eee9ae..52b1d0e 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/ChannelApiController.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/ChannelApiController.java @@ -4,17 +4,17 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.FORBIDDEN; import static org.springframework.http.HttpStatus.NOT_FOUND; -import dev.kruhlmann.imgfloat.model.AdminRequest; -import dev.kruhlmann.imgfloat.model.AssetView; -import dev.kruhlmann.imgfloat.model.CanvasSettingsRequest; -import dev.kruhlmann.imgfloat.model.ChannelScriptSettingsRequest; -import dev.kruhlmann.imgfloat.model.CodeAssetRequest; +import dev.kruhlmann.imgfloat.model.api.request.AdminRequest; +import dev.kruhlmann.imgfloat.model.api.response.AssetView; +import dev.kruhlmann.imgfloat.model.api.request.CanvasSettingsRequest; +import dev.kruhlmann.imgfloat.model.api.request.ChannelScriptSettingsRequest; +import dev.kruhlmann.imgfloat.model.api.request.CodeAssetRequest; import dev.kruhlmann.imgfloat.model.OauthSessionUser; -import dev.kruhlmann.imgfloat.model.PlaybackRequest; -import dev.kruhlmann.imgfloat.model.ScriptAssetAttachmentView; -import dev.kruhlmann.imgfloat.model.TransformRequest; -import dev.kruhlmann.imgfloat.model.TwitchUserProfile; -import dev.kruhlmann.imgfloat.model.VisibilityRequest; +import dev.kruhlmann.imgfloat.model.api.request.PlaybackRequest; +import dev.kruhlmann.imgfloat.model.api.response.ScriptAssetAttachmentView; +import dev.kruhlmann.imgfloat.model.api.request.TransformRequest; +import dev.kruhlmann.imgfloat.model.api.response.TwitchUserProfile; +import dev.kruhlmann.imgfloat.model.api.request.VisibilityRequest; import dev.kruhlmann.imgfloat.service.AuthorizationService; import dev.kruhlmann.imgfloat.service.ChannelDirectoryService; import dev.kruhlmann.imgfloat.service.TwitchUserLookupService; diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/RestExceptionHandler.java b/src/main/java/dev/kruhlmann/imgfloat/controller/RestExceptionHandler.java index e6e6578..c1a2dee 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/RestExceptionHandler.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/RestExceptionHandler.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.controller; -import dev.kruhlmann.imgfloat.model.ErrorResponse; +import dev.kruhlmann.imgfloat.model.api.response.ErrorResponse; import jakarta.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/ScriptMarketplaceController.java b/src/main/java/dev/kruhlmann/imgfloat/controller/ScriptMarketplaceController.java index 34968ee..07135b9 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/ScriptMarketplaceController.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/ScriptMarketplaceController.java @@ -3,10 +3,10 @@ package dev.kruhlmann.imgfloat.controller; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.NOT_FOUND; -import dev.kruhlmann.imgfloat.model.AssetView; +import dev.kruhlmann.imgfloat.model.api.response.AssetView; import dev.kruhlmann.imgfloat.model.OauthSessionUser; -import dev.kruhlmann.imgfloat.model.ScriptMarketplaceEntry; -import dev.kruhlmann.imgfloat.model.ScriptMarketplaceImportRequest; +import dev.kruhlmann.imgfloat.model.api.response.ScriptMarketplaceEntry; +import dev.kruhlmann.imgfloat.model.api.request.ScriptMarketplaceImportRequest; import dev.kruhlmann.imgfloat.service.AuthorizationService; import dev.kruhlmann.imgfloat.service.ChannelDirectoryService; import dev.kruhlmann.imgfloat.util.LogSanitizer; diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/SettingsApiController.java b/src/main/java/dev/kruhlmann/imgfloat/controller/SettingsApiController.java index fbd1717..c869f3b 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/SettingsApiController.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/SettingsApiController.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.controller; import dev.kruhlmann.imgfloat.model.OauthSessionUser; -import dev.kruhlmann.imgfloat.model.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; import dev.kruhlmann.imgfloat.service.AuthorizationService; import dev.kruhlmann.imgfloat.service.SettingsService; import io.swagger.v3.oas.annotations.security.SecurityRequirement; diff --git a/src/main/java/dev/kruhlmann/imgfloat/controller/ViewController.java b/src/main/java/dev/kruhlmann/imgfloat/controller/ViewController.java index 19e0e4c..6234ec0 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/controller/ViewController.java +++ b/src/main/java/dev/kruhlmann/imgfloat/controller/ViewController.java @@ -5,7 +5,7 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import dev.kruhlmann.imgfloat.model.OauthSessionUser; -import dev.kruhlmann.imgfloat.model.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; import dev.kruhlmann.imgfloat.service.AuthorizationService; import dev.kruhlmann.imgfloat.service.ChannelDirectoryService; import dev.kruhlmann.imgfloat.service.GitInfoService; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AdminRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/AdminRequest.java similarity index 84% rename from src/main/java/dev/kruhlmann/imgfloat/model/AdminRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/AdminRequest.java index 9053067..81ea3a9 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AdminRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/AdminRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; import jakarta.validation.constraints.NotBlank; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/CanvasSettingsRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/CanvasSettingsRequest.java similarity index 92% rename from src/main/java/dev/kruhlmann/imgfloat/model/CanvasSettingsRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/CanvasSettingsRequest.java index e989fe0..8eef4a2 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/CanvasSettingsRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/CanvasSettingsRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; import jakarta.validation.constraints.Positive; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ChannelScriptSettingsRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/ChannelScriptSettingsRequest.java similarity index 96% rename from src/main/java/dev/kruhlmann/imgfloat/model/ChannelScriptSettingsRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/ChannelScriptSettingsRequest.java index d379d4e..1ca47db 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ChannelScriptSettingsRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/ChannelScriptSettingsRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; public class ChannelScriptSettingsRequest { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/CodeAssetRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/CodeAssetRequest.java similarity index 95% rename from src/main/java/dev/kruhlmann/imgfloat/model/CodeAssetRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/CodeAssetRequest.java index f39ad22..c2d7cf3 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/CodeAssetRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/CodeAssetRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; import jakarta.validation.constraints.NotBlank; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/PlaybackRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/PlaybackRequest.java similarity index 81% rename from src/main/java/dev/kruhlmann/imgfloat/model/PlaybackRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/PlaybackRequest.java index 43824d9..e704688 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/PlaybackRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/PlaybackRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; public class PlaybackRequest { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceImportRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/ScriptMarketplaceImportRequest.java similarity index 87% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceImportRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/ScriptMarketplaceImportRequest.java index 0d0a8a0..4e74947 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceImportRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/ScriptMarketplaceImportRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; import jakarta.validation.constraints.NotBlank; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/TransformRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/TransformRequest.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/TransformRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/TransformRequest.java index ac65122..7b13869 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/TransformRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/TransformRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; import jakarta.validation.constraints.DecimalMax; import jakarta.validation.constraints.DecimalMin; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/VisibilityRequest.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/VisibilityRequest.java similarity index 80% rename from src/main/java/dev/kruhlmann/imgfloat/model/VisibilityRequest.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/request/VisibilityRequest.java index ba579b1..69e570b 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/VisibilityRequest.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/request/VisibilityRequest.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.request; public class VisibilityRequest { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AssetEvent.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetEvent.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/AssetEvent.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetEvent.java index fcbe4ec..b02b1a9 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AssetEvent.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetEvent.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AssetPatch.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetPatch.java similarity index 91% rename from src/main/java/dev/kruhlmann/imgfloat/model/AssetPatch.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetPatch.java index f95814a..ab99fad 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AssetPatch.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetPatch.java @@ -1,9 +1,13 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; import com.fasterxml.jackson.annotation.JsonInclude; +import dev.kruhlmann.imgfloat.model.api.request.TransformRequest; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset; + /** - * Represents a partial update for an {@link Asset}. Only the fields that changed + * Represents a partial update for an {@link dev.kruhlmann.imgfloat.model.db.imgfloat.Asset}. Only the fields that changed * for a given operation are populated to reduce payload sizes sent over WebSocket. */ @JsonInclude(JsonInclude.Include.NON_NULL) diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AssetView.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetView.java similarity index 92% rename from src/main/java/dev/kruhlmann/imgfloat/model/AssetView.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetView.java index 1273aa6..9111ba5 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AssetView.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AssetView.java @@ -1,8 +1,14 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; import java.time.Instant; import java.util.List; +import dev.kruhlmann.imgfloat.model.AssetType; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset; + public record AssetView( String id, String broadcaster, diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AuditLogEntryView.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogEntryView.java similarity index 81% rename from src/main/java/dev/kruhlmann/imgfloat/model/AuditLogEntryView.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogEntryView.java index fae894b..8515874 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AuditLogEntryView.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogEntryView.java @@ -1,8 +1,9 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; -import dev.kruhlmann.imgfloat.audit.model.AuditLogEntry; import java.time.Instant; +import dev.kruhlmann.imgfloat.model.db.audit.AuditLogEntry; + public record AuditLogEntryView(String id, String actor, String action, String details, Instant createdAt) { public static AuditLogEntryView fromEntry(AuditLogEntry entry) { if (entry == null) { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AuditLogPageView.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogPageView.java similarity index 76% rename from src/main/java/dev/kruhlmann/imgfloat/model/AuditLogPageView.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogPageView.java index f80eac5..8fa867c 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AuditLogPageView.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/AuditLogPageView.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; import java.util.List; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/CanvasEvent.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/CanvasEvent.java similarity index 83% rename from src/main/java/dev/kruhlmann/imgfloat/model/CanvasEvent.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/CanvasEvent.java index 59a9199..3a62fb8 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/CanvasEvent.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/CanvasEvent.java @@ -1,5 +1,6 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; +import dev.kruhlmann.imgfloat.model.api.request.CanvasSettingsRequest; public class CanvasEvent { public enum Type { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ErrorResponse.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ErrorResponse.java similarity index 58% rename from src/main/java/dev/kruhlmann/imgfloat/model/ErrorResponse.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/ErrorResponse.java index 1f02056..ac25022 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ErrorResponse.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ErrorResponse.java @@ -1,3 +1,3 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; public record ErrorResponse(int status, String message, String path) {} diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachmentView.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptAssetAttachmentView.java similarity index 83% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachmentView.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptAssetAttachmentView.java index 9e721b5..7c0f03a 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachmentView.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptAssetAttachmentView.java @@ -1,5 +1,7 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; +import dev.kruhlmann.imgfloat.model.AssetType; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetAttachment; public record ScriptAssetAttachmentView( String id, String scriptAssetId, diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceEntry.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptMarketplaceEntry.java similarity index 81% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceEntry.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptMarketplaceEntry.java index 8a99cbd..7965916 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptMarketplaceEntry.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/ScriptMarketplaceEntry.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; public record ScriptMarketplaceEntry( String id, diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/TwitchUserProfile.java b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/TwitchUserProfile.java similarity index 86% rename from src/main/java/dev/kruhlmann/imgfloat/model/TwitchUserProfile.java rename to src/main/java/dev/kruhlmann/imgfloat/model/api/response/TwitchUserProfile.java index 4cb4d18..b99e3de 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/TwitchUserProfile.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/api/response/TwitchUserProfile.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.api.response; /** * Minimal Twitch user details used for rendering avatars and display names. diff --git a/src/main/java/dev/kruhlmann/imgfloat/audit/model/AuditLogEntry.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/audit/AuditLogEntry.java similarity index 97% rename from src/main/java/dev/kruhlmann/imgfloat/audit/model/AuditLogEntry.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/audit/AuditLogEntry.java index 203115d..153e93d 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/audit/model/AuditLogEntry.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/audit/AuditLogEntry.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.audit.model; +package dev.kruhlmann.imgfloat.model.db.audit; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/Asset.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Asset.java similarity index 96% rename from src/main/java/dev/kruhlmann/imgfloat/model/Asset.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Asset.java index 696ffce..d3f5984 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/Asset.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Asset.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -12,6 +12,8 @@ import java.time.Instant; import java.util.Locale; import java.util.UUID; +import dev.kruhlmann.imgfloat.model.AssetType; + @Entity @Table(name = "assets") public class Asset { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/AudioAsset.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/AudioAsset.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/AudioAsset.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/AudioAsset.java index 97f485f..870972e 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/AudioAsset.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/AudioAsset.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/Channel.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Channel.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/Channel.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Channel.java index 9bee255..dfe8cff 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/Channel.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Channel.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeart.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeart.java similarity index 94% rename from src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeart.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeart.java index 8eb6615..35b03ed 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeart.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeart.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeartId.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeartId.java similarity index 95% rename from src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeartId.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeartId.java index abf1d82..160da85 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/MarketplaceScriptHeartId.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/MarketplaceScriptHeartId.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import java.io.Serializable; import java.util.Objects; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAsset.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAsset.java similarity index 96% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptAsset.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAsset.java index 7a79d9c..8bd6595 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAsset.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAsset.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; @@ -14,6 +14,8 @@ import jakarta.persistence.Transient; import java.util.ArrayList; import java.util.List; +import dev.kruhlmann.imgfloat.model.api.response.ScriptAssetAttachmentView; + @Entity @Table(name = "script_assets") public class ScriptAsset { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachment.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetAttachment.java similarity index 96% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachment.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetAttachment.java index 25f0f5d..e35bec7 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetAttachment.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetAttachment.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -10,6 +10,8 @@ import jakarta.persistence.PreUpdate; import jakarta.persistence.Table; import java.util.UUID; +import dev.kruhlmann.imgfloat.model.AssetType; + @Entity @Table(name = "script_asset_attachments") public class ScriptAssetAttachment { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetFile.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetFile.java similarity index 95% rename from src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetFile.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetFile.java index 24d2886..6301888 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/ScriptAssetFile.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/ScriptAssetFile.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -11,6 +11,8 @@ import jakarta.persistence.Table; import java.util.Locale; import java.util.UUID; +import dev.kruhlmann.imgfloat.model.AssetType; + @Entity @Table(name = "script_asset_files") public class ScriptAssetFile { diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/Settings.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Settings.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/Settings.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Settings.java index e99bb9f..ef772a1 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/Settings.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/Settings.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/SystemAdministrator.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/SystemAdministrator.java similarity index 97% rename from src/main/java/dev/kruhlmann/imgfloat/model/SystemAdministrator.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/SystemAdministrator.java index d5869ad..a9b957d 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/SystemAdministrator.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/SystemAdministrator.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/model/VisualAsset.java b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/VisualAsset.java similarity index 98% rename from src/main/java/dev/kruhlmann/imgfloat/model/VisualAsset.java rename to src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/VisualAsset.java index 74be278..39b088f 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/model/VisualAsset.java +++ b/src/main/java/dev/kruhlmann/imgfloat/model/db/imgfloat/VisualAsset.java @@ -1,4 +1,4 @@ -package dev.kruhlmann.imgfloat.model; +package dev.kruhlmann.imgfloat.model.db.imgfloat; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/AssetRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/AssetRepository.java index d5cabf1..9ee36c6 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/AssetRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/AssetRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/AudioAssetRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/AudioAssetRepository.java index 0421a7f..b904cf6 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/AudioAssetRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/AudioAssetRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; import java.util.Collection; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/ChannelRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/ChannelRepository.java index 283168a..79407c4 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/ChannelRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/ChannelRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.Channel; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Channel; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/MarketplaceScriptHeartRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/MarketplaceScriptHeartRepository.java index ad67ac7..21ab9d6 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/MarketplaceScriptHeartRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/MarketplaceScriptHeartRepository.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.MarketplaceScriptHeart; -import dev.kruhlmann.imgfloat.model.MarketplaceScriptHeartId; +import dev.kruhlmann.imgfloat.model.db.imgfloat.MarketplaceScriptHeart; +import dev.kruhlmann.imgfloat.model.db.imgfloat.MarketplaceScriptHeartId; import java.util.Collection; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetAttachmentRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetAttachmentRepository.java index aa578a6..5b1c0b0 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetAttachmentRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetAttachmentRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.ScriptAssetAttachment; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetAttachment; import java.util.Collection; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetFileRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetFileRepository.java index 59e43f2..e24cda0 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetFileRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetFileRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.ScriptAssetFile; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetRepository.java index a1884f0..9577a79 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/ScriptAssetRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAsset; import java.util.Collection; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/SettingsRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/SettingsRepository.java index d29f588..754afdb 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/SettingsRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/SettingsRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; import org.springframework.data.jpa.repository.JpaRepository; public interface SettingsRepository extends JpaRepository {} diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/SystemAdministratorRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/SystemAdministratorRepository.java index 1a0da0e..1672d7f 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/SystemAdministratorRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/SystemAdministratorRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.SystemAdministrator; +import dev.kruhlmann.imgfloat.model.db.imgfloat.SystemAdministrator; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/VisualAssetRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/VisualAssetRepository.java index 8e4ec90..eb3142d 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/VisualAssetRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/VisualAssetRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository; -import dev.kruhlmann.imgfloat.model.VisualAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset; import java.util.Collection; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/repository/audit/AuditLogRepository.java b/src/main/java/dev/kruhlmann/imgfloat/repository/audit/AuditLogRepository.java index b990bdb..a25514f 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/repository/audit/AuditLogRepository.java +++ b/src/main/java/dev/kruhlmann/imgfloat/repository/audit/AuditLogRepository.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.repository.audit; -import dev.kruhlmann.imgfloat.audit.model.AuditLogEntry; +import dev.kruhlmann.imgfloat.model.db.audit.AuditLogEntry; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/AccountService.java b/src/main/java/dev/kruhlmann/imgfloat/service/AccountService.java index 5e0e2e6..6b92fd8 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/AccountService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/AccountService.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.model.Asset; -import dev.kruhlmann.imgfloat.model.ScriptAssetFile; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile; import dev.kruhlmann.imgfloat.repository.AssetRepository; import dev.kruhlmann.imgfloat.repository.ChannelRepository; import dev.kruhlmann.imgfloat.repository.MarketplaceScriptHeartRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/AssetCleanupService.java b/src/main/java/dev/kruhlmann/imgfloat/service/AssetCleanupService.java index 8763288..0f1bd35 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/AssetCleanupService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/AssetCleanupService.java @@ -1,8 +1,8 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.model.Asset; -import dev.kruhlmann.imgfloat.model.ScriptAssetAttachment; -import dev.kruhlmann.imgfloat.model.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetAttachment; import dev.kruhlmann.imgfloat.repository.AssetRepository; import dev.kruhlmann.imgfloat.repository.ScriptAssetAttachmentRepository; import dev.kruhlmann.imgfloat.repository.ScriptAssetRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/AuditLogService.java b/src/main/java/dev/kruhlmann/imgfloat/service/AuditLogService.java index 18ea480..f284f43 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/AuditLogService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/AuditLogService.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.audit.model.AuditLogEntry; -import dev.kruhlmann.imgfloat.model.AuditLogEntryView; +import dev.kruhlmann.imgfloat.model.db.audit.AuditLogEntry; +import dev.kruhlmann.imgfloat.model.api.response.AuditLogEntryView; import dev.kruhlmann.imgfloat.repository.audit.AuditLogRepository; import dev.kruhlmann.imgfloat.util.LogSanitizer; import java.util.List; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/ChannelDirectoryService.java b/src/main/java/dev/kruhlmann/imgfloat/service/ChannelDirectoryService.java index 5086f9f..1f415b9 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/ChannelDirectoryService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/ChannelDirectoryService.java @@ -3,28 +3,28 @@ package dev.kruhlmann.imgfloat.service; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.PAYLOAD_TOO_LARGE; -import dev.kruhlmann.imgfloat.model.Asset; -import dev.kruhlmann.imgfloat.model.AssetEvent; -import dev.kruhlmann.imgfloat.model.AssetPatch; import dev.kruhlmann.imgfloat.model.AssetType; -import dev.kruhlmann.imgfloat.model.AssetView; -import dev.kruhlmann.imgfloat.model.AudioAsset; -import dev.kruhlmann.imgfloat.model.CanvasEvent; -import dev.kruhlmann.imgfloat.model.CanvasSettingsRequest; -import dev.kruhlmann.imgfloat.model.Channel; -import dev.kruhlmann.imgfloat.model.ChannelScriptSettingsRequest; -import dev.kruhlmann.imgfloat.model.CodeAssetRequest; -import dev.kruhlmann.imgfloat.model.MarketplaceScriptHeart; -import dev.kruhlmann.imgfloat.model.PlaybackRequest; -import dev.kruhlmann.imgfloat.model.ScriptAsset; -import dev.kruhlmann.imgfloat.model.ScriptAssetAttachment; -import dev.kruhlmann.imgfloat.model.ScriptAssetAttachmentView; -import dev.kruhlmann.imgfloat.model.ScriptAssetFile; -import dev.kruhlmann.imgfloat.model.ScriptMarketplaceEntry; -import dev.kruhlmann.imgfloat.model.Settings; -import dev.kruhlmann.imgfloat.model.TransformRequest; -import dev.kruhlmann.imgfloat.model.VisibilityRequest; -import dev.kruhlmann.imgfloat.model.VisualAsset; +import dev.kruhlmann.imgfloat.model.api.request.CanvasSettingsRequest; +import dev.kruhlmann.imgfloat.model.api.request.ChannelScriptSettingsRequest; +import dev.kruhlmann.imgfloat.model.api.request.CodeAssetRequest; +import dev.kruhlmann.imgfloat.model.api.request.PlaybackRequest; +import dev.kruhlmann.imgfloat.model.api.request.TransformRequest; +import dev.kruhlmann.imgfloat.model.api.request.VisibilityRequest; +import dev.kruhlmann.imgfloat.model.api.response.AssetEvent; +import dev.kruhlmann.imgfloat.model.api.response.AssetPatch; +import dev.kruhlmann.imgfloat.model.api.response.AssetView; +import dev.kruhlmann.imgfloat.model.api.response.CanvasEvent; +import dev.kruhlmann.imgfloat.model.api.response.ScriptAssetAttachmentView; +import dev.kruhlmann.imgfloat.model.api.response.ScriptMarketplaceEntry; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Channel; +import dev.kruhlmann.imgfloat.model.db.imgfloat.MarketplaceScriptHeart; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetAttachment; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset; import dev.kruhlmann.imgfloat.repository.AssetRepository; import dev.kruhlmann.imgfloat.repository.AudioAssetRepository; import dev.kruhlmann.imgfloat.repository.ChannelRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/EmoteSyncScheduler.java b/src/main/java/dev/kruhlmann/imgfloat/service/EmoteSyncScheduler.java index 76d065f..a349408 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/EmoteSyncScheduler.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/EmoteSyncScheduler.java @@ -1,7 +1,7 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.model.Channel; -import dev.kruhlmann.imgfloat.model.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Channel; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; import dev.kruhlmann.imgfloat.repository.ChannelRepository; import java.time.Duration; import java.time.Instant; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/MarketplaceScriptSeedLoader.java b/src/main/java/dev/kruhlmann/imgfloat/service/MarketplaceScriptSeedLoader.java index d1ea3f1..c35ff8b 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/MarketplaceScriptSeedLoader.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/MarketplaceScriptSeedLoader.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.model.ScriptMarketplaceEntry; +import dev.kruhlmann.imgfloat.model.api.response.ScriptMarketplaceEntry; import dev.kruhlmann.imgfloat.service.media.AssetContent; import java.io.IOException; import java.net.URI; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/SettingsService.java b/src/main/java/dev/kruhlmann/imgfloat/service/SettingsService.java index f8682ae..b0cb96b 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/SettingsService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/SettingsService.java @@ -2,9 +2,9 @@ package dev.kruhlmann.imgfloat.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import dev.kruhlmann.imgfloat.model.AudioAsset; -import dev.kruhlmann.imgfloat.model.Settings; -import dev.kruhlmann.imgfloat.model.VisualAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; +import dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset; import dev.kruhlmann.imgfloat.repository.AudioAssetRepository; import dev.kruhlmann.imgfloat.repository.SettingsRepository; import dev.kruhlmann.imgfloat.repository.VisualAssetRepository; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/SystemAdministratorService.java b/src/main/java/dev/kruhlmann/imgfloat/service/SystemAdministratorService.java index c19de6f..71576d5 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/SystemAdministratorService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/SystemAdministratorService.java @@ -1,6 +1,6 @@ package dev.kruhlmann.imgfloat.service; -import dev.kruhlmann.imgfloat.model.SystemAdministrator; +import dev.kruhlmann.imgfloat.model.db.imgfloat.SystemAdministrator; import dev.kruhlmann.imgfloat.repository.SystemAdministratorRepository; import java.util.List; import java.util.Locale; diff --git a/src/main/java/dev/kruhlmann/imgfloat/service/TwitchUserLookupService.java b/src/main/java/dev/kruhlmann/imgfloat/service/TwitchUserLookupService.java index c9c33fc..e3dd26c 100644 --- a/src/main/java/dev/kruhlmann/imgfloat/service/TwitchUserLookupService.java +++ b/src/main/java/dev/kruhlmann/imgfloat/service/TwitchUserLookupService.java @@ -2,7 +2,7 @@ package dev.kruhlmann.imgfloat.service; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -import dev.kruhlmann.imgfloat.model.TwitchUserProfile; +import dev.kruhlmann.imgfloat.model.api.response.TwitchUserProfile; import java.time.Duration; import java.util.ArrayList; import java.util.Collection; diff --git a/src/test/java/dev/kruhlmann/imgfloat/ChannelApiIntegrationTest.java b/src/test/java/dev/kruhlmann/imgfloat/ChannelApiIntegrationTest.java index 3dc8b30..82ec56f 100644 --- a/src/test/java/dev/kruhlmann/imgfloat/ChannelApiIntegrationTest.java +++ b/src/test/java/dev/kruhlmann/imgfloat/ChannelApiIntegrationTest.java @@ -12,7 +12,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import com.fasterxml.jackson.databind.ObjectMapper; -import dev.kruhlmann.imgfloat.model.VisibilityRequest; +import dev.kruhlmann.imgfloat.model.api.request.VisibilityRequest; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryApiIntegrationTest.java b/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryApiIntegrationTest.java index a9f9bfd..7e06691 100644 --- a/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryApiIntegrationTest.java +++ b/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryApiIntegrationTest.java @@ -5,7 +5,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import dev.kruhlmann.imgfloat.model.Channel; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Channel; import dev.kruhlmann.imgfloat.repository.ChannelRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryServiceTest.java b/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryServiceTest.java index f31b803..7c2f6b8 100644 --- a/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryServiceTest.java +++ b/src/test/java/dev/kruhlmann/imgfloat/ChannelDirectoryServiceTest.java @@ -9,16 +9,16 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import dev.kruhlmann.imgfloat.model.Asset; -import dev.kruhlmann.imgfloat.model.AssetView; -import dev.kruhlmann.imgfloat.model.AudioAsset; -import dev.kruhlmann.imgfloat.model.Channel; -import dev.kruhlmann.imgfloat.model.ScriptAsset; -import dev.kruhlmann.imgfloat.model.CodeAssetRequest; import dev.kruhlmann.imgfloat.model.AssetType; -import dev.kruhlmann.imgfloat.model.Settings; -import dev.kruhlmann.imgfloat.model.TransformRequest; -import dev.kruhlmann.imgfloat.model.VisibilityRequest; +import dev.kruhlmann.imgfloat.model.api.request.CodeAssetRequest; +import dev.kruhlmann.imgfloat.model.api.request.TransformRequest; +import dev.kruhlmann.imgfloat.model.api.request.VisibilityRequest; +import dev.kruhlmann.imgfloat.model.api.response.AssetView; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Asset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.AudioAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Channel; +import dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAsset; +import dev.kruhlmann.imgfloat.model.db.imgfloat.Settings; import dev.kruhlmann.imgfloat.repository.AssetRepository; import dev.kruhlmann.imgfloat.repository.AudioAssetRepository; import dev.kruhlmann.imgfloat.repository.ChannelRepository; @@ -215,7 +215,7 @@ class ChannelDirectoryServiceTest { void includesDefaultMarketplaceScript() { when(scriptAssetRepository.findByIsPublicTrue()).thenReturn(List.of()); - List entries = service.listMarketplaceScripts(null, null); + List entries = service.listMarketplaceScripts(null, null); assertThat(entries) .anyMatch((entry) -> "rotating-logo".equals(entry.id())); @@ -229,7 +229,7 @@ class ChannelDirectoryServiceTest { request.setAllowedDomains(List.of("example.com")); AssetView created = service.createCodeAsset("caster", request, "caster").orElseThrow(); scriptAssetRepository.findById(created.id()).ifPresent((script) -> script.setSourceFileId(created.id())); - scriptAssetFileRepository.save(new dev.kruhlmann.imgfloat.model.ScriptAssetFile("caster", AssetType.SCRIPT) { + scriptAssetFileRepository.save(new dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile("caster", AssetType.SCRIPT) { { setId(created.id()); } @@ -271,10 +271,10 @@ class ChannelDirectoryServiceTest { private void setupInMemoryPersistence() { Map channels = new ConcurrentHashMap<>(); Map assets = new ConcurrentHashMap<>(); - Map visualAssets = new ConcurrentHashMap<>(); + Map visualAssets = new ConcurrentHashMap<>(); Map audioAssets = new ConcurrentHashMap<>(); Map scriptAssets = new ConcurrentHashMap<>(); - Map scriptFiles = new ConcurrentHashMap<>(); + Map scriptFiles = new ConcurrentHashMap<>(); when(channelRepository.findById(anyString())).thenAnswer((invocation) -> Optional.ofNullable(channels.get(invocation.getArgument(0))) @@ -317,9 +317,9 @@ class ChannelDirectoryServiceTest { .when(assetRepository) .delete(any(Asset.class)); - when(visualAssetRepository.save(any(dev.kruhlmann.imgfloat.model.VisualAsset.class))).thenAnswer( + when(visualAssetRepository.save(any(dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset.class))).thenAnswer( (invocation) -> { - dev.kruhlmann.imgfloat.model.VisualAsset visual = invocation.getArgument(0); + dev.kruhlmann.imgfloat.model.db.imgfloat.VisualAsset visual = invocation.getArgument(0); visualAssets.put(visual.getId(), visual); return visual; } @@ -388,9 +388,9 @@ class ChannelDirectoryServiceTest { .when(scriptAssetRepository) .deleteById(anyString()); - when(scriptAssetFileRepository.save(any(dev.kruhlmann.imgfloat.model.ScriptAssetFile.class))).thenAnswer( + when(scriptAssetFileRepository.save(any(dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile.class))).thenAnswer( (invocation) -> { - dev.kruhlmann.imgfloat.model.ScriptAssetFile file = invocation.getArgument(0); + dev.kruhlmann.imgfloat.model.db.imgfloat.ScriptAssetFile file = invocation.getArgument(0); if (file.getId() == null) { file.setId(java.util.UUID.randomUUID().toString()); }