From ae1d9e2bc1d00266fadb6573756e679bd7d2d639 Mon Sep 17 00:00:00 2001 From: MrLetsplay Date: Mon, 10 Feb 2025 22:56:55 +0100 Subject: [PATCH] Add endpoint to update metadata --- .../me/mrletsplay/videobase/VideoBase.java | 7 +++-- .../mrletsplay/videobase/library/Library.java | 20 +++++++++--- .../mrletsplay/videobase/library/Video.java | 4 +++ .../videobase/library/VideoMetadata.java | 23 +++++++++++++- .../mrletsplay/videobase/rest/LibraryAPI.java | 31 +++++++++++++++++-- 5 files changed, 76 insertions(+), 9 deletions(-) diff --git a/src/main/java/me/mrletsplay/videobase/VideoBase.java b/src/main/java/me/mrletsplay/videobase/VideoBase.java index b35aea4..a3ea175 100644 --- a/src/main/java/me/mrletsplay/videobase/VideoBase.java +++ b/src/main/java/me/mrletsplay/videobase/VideoBase.java @@ -4,7 +4,9 @@ import java.nio.file.Path; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import me.mrletsplay.simplehttpserver.http.server.HttpServer; import me.mrletsplay.videobase.library.Library; @@ -13,7 +15,7 @@ import me.mrletsplay.videobase.util.Hash; public class VideoBase { - public static final Logger LOGGER = Logger.getLogger(VideoBase.class.getName()); + public static final Logger LOGGER = LoggerFactory.getLogger(VideoBase.class.getName()); private static ScheduledExecutorService executor; private static Library library; @@ -32,6 +34,7 @@ public class VideoBase { .port(6969) .poolSize(20) .ioWorkers(3) +// .logger(NOPLogger.NOP_LOGGER) .create()); new LibraryAPI().register(server.getDocumentProvider()); diff --git a/src/main/java/me/mrletsplay/videobase/library/Library.java b/src/main/java/me/mrletsplay/videobase/library/Library.java index 54491ee..8c2cd49 100644 --- a/src/main/java/me/mrletsplay/videobase/library/Library.java +++ b/src/main/java/me/mrletsplay/videobase/library/Library.java @@ -8,7 +8,6 @@ import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.logging.Level; import java.util.stream.Collectors; import me.mrletsplay.mrcore.json.JSONObject; @@ -76,6 +75,19 @@ public class Library { .collect(Collectors.toList()); } + public void updateMetadata(Video video, VideoMetadata metadata) { + VideoMetadata oldMetadata = video.getMetadata(); + video.setMetadata(VideoMetadata.inherit(oldMetadata, metadata)); + // TODO: save metadata + } + + public boolean updateMetadata(String videoId, VideoMetadata metadata) { + Video video = findVideoById(videoId); + if(video == null) return false; + updateMetadata(video, metadata); + return true; + } + public static Library load(Path path) { List